Created
September 16, 2023 09:57
-
-
Save daiplusplus/497d0d8c1841bacdb578b0193af509d2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Main | |
L0000 push rdi | |
L0001 push rsi | |
L0002 push rbp | |
L0003 push rbx | |
L0004 sub rsp, 0x58 | |
L0008 vzeroupper | |
L000b xor eax, eax | |
L000d mov [rsp+0x50], rax | |
L0012 mov [rsp+0x48], rax | |
L0017 call UserQuery.CreateSampleData() | |
L001c mov [rsp+0x30], rax | |
L0021 mov rcx, 0x7ffe4a5824e8 | |
L002b call 0x00007ffea9bd09c0 | |
L0030 mov rdi, rax | |
L0033 xor ecx, ecx | |
L0035 mov [rdi+8], rcx | |
L0039 mov byte ptr [rdi+0x18], 0 | |
L003d mov [rdi+0x10], rcx | |
L0041 mov [rsp+0x20], rdi | |
L0046 cmp byte ptr [rdi+0x18], 0 | |
L004a jne L017f | |
L0050 lea rcx, [rsp+0x50] | |
L0055 mov rax, 0x7fff5a0061f0 | |
L005f call rax | |
L0061 mov rcx, [rsp+0x50] | |
L0066 mov rdi, [rsp+0x20] | |
L006b mov [rdi+0x10], rcx | |
L006f mov byte ptr [rdi+0x18], 1 | |
L0073 cmp dword ptr [0x7ffea9f12e74], 0 | |
L007a jne L0189 | |
L0080 mov rsi, [rsp+0x30] | |
L0085 mov rdi, [rsp+0x20] | |
L008a mov [rsp+0x38], rdi | |
L008f mov rcx, rsi | |
L0092 call UserQuery.Flatten(Char[,]) | |
L0097 mov [rsp+0x28], rax | |
L009c mov rcx, rdi | |
L009f call qword ptr [0x7ffe4a591318] | |
L00a5 mov rbp, [rdi+8] | |
L00a9 cmp byte ptr [rdi+0x18], 0 | |
L00ad je L0175 | |
L00b3 lea rcx, [rsp+0x48] | |
L00b8 mov rax, 0x7fff5a0061f0 | |
L00c2 call rax | |
L00c4 mov rcx, [rsp+0x48] | |
L00c9 mov rdi, [rsp+0x38] | |
L00ce sub rcx, [rdi+0x10] | |
L00d2 add rbp, rcx | |
L00d5 cmp dword ptr [0x7ffea9f12e74], 0 | |
L00dc jne L0198 | |
L00e2 mov rbx, [rsp+0x28] | |
L00e7 vxorps xmm0, xmm0, xmm0 | |
L00eb vcvtsi2sd xmm0, xmm0, rbp | |
L00f0 vcvttsd2si rcx, xmm0 | |
L00f5 vxorps xmm0, xmm0, xmm0 | |
L00f9 vcvtsi2sd xmm0, xmm0, rcx | |
L00fe vdivsd xmm0, xmm0, [UserQuery.Main()] | |
L0106 vucomisd xmm0, [UserQuery.Main()] | |
L010e ja L01a7 | |
L0114 vmovsd xmm1, [UserQuery.Main()] | |
L011c vucomisd xmm1, xmm0 | |
L0120 ja L01ba | |
L0126 vmovsd [rsp+0x40], xmm0 | |
L012c mov rcx, 0x7ffe4a0c77b8 | |
L0136 call 0x00007ffea9bd09c0 | |
L013b vmovsd xmm0, [rsp+0x40] | |
L0141 vmovsd [rax+8], xmm0 | |
L0146 mov rdx, rax | |
L0149 mov rcx, 0x1d6d9012578 | |
L0153 mov rcx, [rcx] | |
L0156 call qword ptr [0x7ffe4a7f1a08] | |
L015c call qword ptr [0x7ffe4a7f18b8] | |
L0162 mov rcx, rbx | |
L0165 call qword ptr [0x7ffe4a7f19f0] | |
L016b nop | |
L016c add rsp, 0x58 | |
L0170 pop rbx | |
L0171 pop rbp | |
L0172 pop rsi | |
L0173 pop rdi | |
L0174 ret | |
L0175 mov rbx, [rsp+0x28] | |
L017a jmp L00e7 | |
L017f mov rsi, [rsp+0x30] | |
L0184 jmp L0085 | |
L0189 call 0x00007ffea9bcd900 | |
L018e mov rsi, [rsp+0x30] | |
L0193 jmp L0085 | |
L0198 call 0x00007ffea9bcd900 | |
L019d mov rbx, [rsp+0x28] | |
L01a2 jmp L00e7 | |
L01a7 vmovsd xmm0, [UserQuery.Main()] | |
L01af vmovsd [rsp+0x40], xmm0 | |
L01b5 jmp L012c | |
L01ba vmovsd xmm0, [UserQuery.Main()] | |
L01c2 vmovsd [rsp+0x40], xmm0 | |
L01c8 jmp L012c | |
# Flatten | |
L0000 push r15 | |
L0002 push r14 | |
L0004 push rdi | |
L0005 push rsi | |
L0006 push rbp | |
L0007 push rbx | |
L0008 sub rsp, 0x28 | |
L000c mov rsi, rcx | |
L000f test rsi, rsi | |
L0012 je L00d3 | |
L0018 mov edi, [rsi+0x10] | |
L001b mov ebx, [rsi+0x14] | |
L001e mov rcx, 0x7ffe4a24a4c0 | |
L0028 call 0x00007ffea9bd09c0 | |
L002d mov rbp, rax | |
L0030 mov edx, edi | |
L0032 imul edx, ebx | |
L0035 mov rcx, rbp | |
L0038 mov r8d, 0x7fffffff | |
L003e call qword ptr [0x7ffe4a2530f0] | |
L0044 xor r14d, r14d | |
L0047 test edi, edi | |
L0049 jle short L00b9 | |
L004b xor r15d, r15d | |
L004e test ebx, ebx | |
L0050 jle short L00b1 | |
L0052 mov ecx, r14d | |
L0055 sub ecx, [rsi+0x18] | |
L0058 cmp ecx, [rsi+0x10] | |
L005b jae short L00ce | |
L005d mov edx, [rsi+0x14] | |
L0060 imul ecx, edx | |
L0063 mov r8d, r15d | |
L0066 sub r8d, [rsi+0x1c] | |
L006a cmp r8d, edx | |
L006d jae short L00ce | |
L006f add ecx, r8d | |
L0072 movzx edx, word ptr [rsi+rcx*2+0x20] | |
L0077 mov ecx, [rbp+0x18] | |
L007a mov r8d, ecx | |
L007d mov rax, [rbp+8] | |
L0081 mov r9d, [rax+8] | |
L0085 cmp r9d, r8d | |
L0088 jbe short L009a | |
L008a mov r8d, r8d | |
L008d mov [rax+r8*2+0x10], dx | |
L0093 inc ecx | |
L0095 mov [rbp+0x18], ecx | |
L0098 jmp short L00a9 | |
L009a mov rcx, rbp | |
L009d mov r8d, 1 | |
L00a3 call qword ptr [0x7ffe4a253258] | |
L00a9 inc r15d | |
L00ac cmp r15d, ebx | |
L00af jl short L0052 | |
L00b1 inc r14d | |
L00b4 cmp r14d, edi | |
L00b7 jl short L004b | |
L00b9 mov rcx, rbp | |
L00bc add rsp, 0x28 | |
L00c0 pop rbx | |
L00c1 pop rbp | |
L00c2 pop rsi | |
L00c3 pop rdi | |
L00c4 pop r14 | |
L00c6 pop r15 | |
L00c8 jmp qword ptr [0x7ffe4a24a528] | |
L00ce call 0x00007ffea9cf9b30 | |
L00d3 mov rcx, 0x7ffe4a1fe830 | |
L00dd call 0x00007ffea9bd09c0 | |
L00e2 mov rsi, rax | |
L00e5 mov ecx, 0x65 | |
L00ea mov rdx, 0x7ffe4aacc060 | |
L00f4 call 0x00007ffea9b52360 | |
L00f9 mov rdx, rax | |
L00fc mov rcx, rsi | |
L00ff call qword ptr [0x7ffe4a211348] | |
L0105 mov rcx, rsi | |
L0108 call 0x00007ffea9b28570 | |
L010d int3 | |
# CreateSampleData | |
L0000 push rdi | |
L0001 push rsi | |
L0002 push rbp | |
L0003 push rbx | |
L0004 sub rsp, 0x48 | |
L0008 vzeroupper | |
L000b vxorps xmm4, xmm4, xmm4 | |
L000f vmovdqa [rsp+0x20], xmm4 | |
L0015 vmovdqa [rsp+0x30], xmm4 | |
L001b xor eax, eax | |
L001d mov [rsp+0x40], rax | |
L0022 mov rcx, 0x7ffe4a7c1ca0 | |
L002c call 0x00007ffea9bd09c0 | |
L0031 mov rsi, rax | |
L0034 mov rcx, 0x7ffe4a8d8650 | |
L003e call 0x00007ffea9bd09c0 | |
L0043 mov rdi, rax | |
L0046 vxorps xmm0, xmm0, xmm0 | |
L004a vmovdqu [rsp+0x20], xmm0 | |
L0050 lea rcx, [rsp+0x20] | |
L0055 mov edx, 0x34d0058 | |
L005a call qword ptr [0x7ffe4a8e7000] | |
L0060 lea rbx, [rdi+8] | |
L0064 mov rdx, [rsp+0x20] | |
L0069 mov rcx, rbx | |
L006c call 0x00007ffea9bd0440 | |
L0071 mov edx, [rsp+0x28] | |
L0075 mov [rbx+8], edx | |
L0078 mov edx, [rsp+0x2c] | |
L007c mov [rbx+0xc], edx | |
L007f mov rdx, rdi | |
L0082 lea rcx, [rsi+8] | |
L0086 call 0x00007ffe49f10010 | |
L008b mov dword ptr [rsp+0x40], 0x100 | |
L0093 mov dword ptr [rsp+0x44], 0x100 | |
L009b lea r8, [rsp+0x40] | |
L00a0 mov rcx, 0x7ffe4a7c1e08 | |
L00aa mov edx, 2 | |
L00af call 0x00007ffea9bb6180 | |
L00b4 mov rdi, rax | |
L00b7 xor ebx, ebx | |
L00b9 xor ebp, ebp | |
L00bb mov rcx, [rsi+8] | |
L00bf mov edx, 0x4c | |
L00c4 mov rax, [rcx] | |
L00c7 mov rax, [rax+0x40] | |
L00cb call qword ptr [rax+0x30] | |
L00ce add eax, 0x32 | |
L00d1 mov edx, ebx | |
L00d3 sub edx, [rdi+0x18] | |
L00d6 cmp edx, [rdi+0x10] | |
L00d9 jae short L0115 | |
L00db mov ecx, [rdi+0x14] | |
L00de imul edx, ecx | |
L00e1 mov r8d, ebp | |
L00e4 sub r8d, [rdi+0x1c] | |
L00e8 cmp r8d, ecx | |
L00eb jae short L0115 | |
L00ed add edx, r8d | |
L00f0 mov [rdi+rdx*2+0x20], ax | |
L00f5 inc ebp | |
L00f7 cmp ebp, 0x100 | |
L00fd jl short L00bb | |
L00ff inc ebx | |
L0101 cmp ebx, 0x100 | |
L0107 jl short L00b9 | |
L0109 mov rax, rdi | |
L010c add rsp, 0x48 | |
L0110 pop rbx | |
L0111 pop rbp | |
L0112 pop rsi | |
L0113 pop rdi | |
L0114 ret | |
L0115 call 0x00007ffea9cf9b30 | |
L011a int3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment