Function at 0x412a10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x15a0
call fcn.0041749c
mov edi, ecx
mov eax, dword [edx + 4]
mov dword [esp + 0x10], edx
sub eax, dword [edx]
mov dword [esp + 0x30], eax
pxor xmm0, xmm0
movq qword [esp + 0x160], xmm0
mov dword [esp + 0x168], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x70], xmm0
mov byte [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 1
mov esi, dword [sym.imp.libLLVM_18.dll_vtable_for_llvm::raw_string_ostream]
add esi, 8
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x160]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x6c]
push 0
push 0
push 0
call fcn.0041cbc0
pxor xmm0, xmm0
movq qword [esp + 0x150], xmm0
mov dword [esp + 0x158], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x250], xmm0
mov byte [esp + 0x260], 0
mov dword [esp + 0x264], 0
mov dword [esp + 0x268], 1
mov dword [esp + 0x24c], esi
lea eax, [esp + 0x150]
mov dword [esp + 0x26c], eax
lea ecx, [esp + 0x24c]
push 0
push 0
push 0
call fcn.0041cbc0
pxor xmm0, xmm0
movq qword [esp + 0x140], xmm0
mov dword [esp + 0x148], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x22c], xmm0
mov byte [esp + 0x23c], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 1
mov dword [esp + 0x228], esi
lea eax, [esp + 0x140]
mov dword [esp + 0x248], eax
lea ecx, [esp + 0x228]
push 0
push 0
push 0
call fcn.0041cbc0
pxor xmm0, xmm0
movq qword [esp + 0x130], xmm0
mov dword [esp + 0x138], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x208], xmm0
mov byte [esp + 0x218], 0
mov dword [esp + 0x21c], 0
mov dword [esp + 0x220], 1
mov dword [esp + 0x204], esi
lea eax, [esp + 0x130]
mov dword [esp + 0x224], eax
lea ecx, [esp + 0x204]
push 0
push 0
push 0
call fcn.0041cbc0
pxor xmm0, xmm0
movq qword [esp + 0x120], xmm0
mov dword [esp + 0x128], 0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x1e4], xmm0
mov byte [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 1
mov dword [esp + 0x1e0], esi
lea eax, [esp + 0x120]
mov dword [esp + 0x200], eax
lea ecx, [esp + 0x1e0]
push 0
push 0
push 0
call fcn.0041cbc0
mov eax, dword [edi]
mov dword [esp + 0xc], edi
mov ecx, edi
call dword [eax + 0x20]
test al, al
je 0x412c5e
mov ecx, dword [esp + 0xc]
call fcn.0041cd7c
jmp 0x412c6e
mov ecx, dword [esp + 0xc]
call fcn.0041cdd0
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x18]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xc]
call fcn.0041cd88
mov dword [esp + 0x48], 0
cmp eax, edx
je 0x412d2d
mov esi, eax
mov edi, edx
lea ebx, [esp + 0xc20]
jmp 0x412cab
add esi, 0xc
cmp esi, edi
je 0x412d40
mov eax, dword [esi + 4]
cmp eax, 0x19
je 0x412ce0
cmp eax, 1
jne 0x412ca0
mov ecx, ebx
push esi
push dword [esp + 0x10]
call fcn.0041cda0
cmp dword [esp + 0xc40], 0
jne 0x412ca0
cmp dword [esp + 0xc44], 0
je 0x412ca0
jmp 0x412d5b
mov ecx, ebx
push esi
push dword [esp + 0x10]
call fcn.0041cdac
mov eax, dword [esp + 0xc48]
or eax, dword [esp + 0xc4c]
jne 0x412ca0
mov eax, dword [esp + 0xc54]
or eax, dword [esp + 0xc50]
je 0x412ca0
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc3c]
mov dword [esp + 0x48], eax
cmp byte [0x424a50], 0
je 0x412d6f
jmp 0x412d86
mov dword [esp + 0x44], 0
cmp byte [0x424a50], 0
je 0x412d6f
jmp 0x412d86
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
cmp byte [0x424a50], 0
je 0x412d6f
jmp 0x412d86
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x44], eax
cmp byte [0x424a50], 0
jne 0x412d86
cmp byte [0x424a42], 0
jne 0x412d86
and dword [esp + 4], 0x4000000
je 0x41585a
mov dword [esp + 0x68], 0
lea eax, [esp + 0x68]
lea ecx, [esp + 0xc20]
push eax
push dword [esp + 0x10]
call fcn.0041cdca
movups xmm0, xmmword [esp + 0xc20]
movaps xmmword [esp + 0x2a0], xmm0
lea eax, [esp + 0x2bc]
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], 0
mov dword [esp + 0x2b8], 0x100
mov esi, dword [esp + 0xc34]
test esi, esi
je 0x412e34
lea ecx, [esp + 0x2bc]
mov eax, esi
cmp esi, 0x101
jb 0x412e1c
lea ecx, [esp + 0x2b0]
push 1
push esi
lea eax, [esp + 0x2c4]
push eax
call fcn.0041cbfc
mov eax, dword [esp + 0xc34]
test eax, eax
je 0x412e2d
mov ecx, dword [esp + 0x2b0]
push eax
push dword [esp + 0xc34]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x2b4], esi
lea eax, [esp + 0x3d0]
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3c4], 0
mov dword [esp + 0x3c8], 0x10
mov esi, dword [esp + 0xd44]
test esi, esi
je 0x412eb5
lea eax, [esp + 0x3d0]
mov ecx, esi
cmp esi, 0x11
jb 0x412e9a
lea ecx, [esp + 0x3c0]
push 0x38
push esi
lea eax, [esp + 0x3d8]
push eax
call fcn.0041cbfc
mov ecx, dword [esp + 0xd44]
test ecx, ecx
je 0x412eae
mov eax, dword [esp + 0x3c0]
imul ecx, ecx, 0x38
push ecx
push dword [esp + 0xd44]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x3c4], esi
movzx eax, byte [esp + 0x10d0]
mov byte [esp + 0x750], al
movdqu xmm0, xmmword [esp + 0x10d8]
movdqa xmmword [esp + 0x760], xmm0
lea eax, [esp + 0x77c]
mov dword [esp + 0x770], eax
mov dword [esp + 0x774], 0
mov dword [esp + 0x778], 0x100
mov esi, dword [esp + 0x10ec]
test esi, esi
je 0x412f57
lea ecx, [esp + 0x77c]
mov eax, esi
cmp esi, 0x101
jb 0x412f3f
lea ecx, [esp + 0x770]
push 1
push esi
lea eax, [esp + 0x784]
push eax
call fcn.0041cbfc
mov eax, dword [esp + 0x10ec]
test eax, eax
je 0x412f50
mov ecx, dword [esp + 0x770]
push eax
push dword [esp + 0x10ec]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x774], esi
lea eax, [esp + 0x890]
mov dword [esp + 0x880], eax
mov dword [esp + 0x884], 0
mov dword [esp + 0x888], 0x10
mov esi, dword [esp + 0x11fc]
test esi, esi
je 0x412fd8
lea eax, [esp + 0x890]
mov ecx, esi
cmp esi, 0x11
jb 0x412fbd
lea ecx, [esp + 0x880]
push 0x38
push esi
lea eax, [esp + 0x898]
push eax
call fcn.0041cbfc
mov ecx, dword [esp + 0x11fc]
test ecx, ecx
je 0x412fd1
mov eax, dword [esp + 0x880]
imul ecx, ecx, 0x38
push ecx
push dword [esp + 0x11fc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x884], esi
movzx eax, byte [esp + 0x1588]
mov byte [esp + 0xc10], al
lea eax, [esp + 0x760]
lea ecx, [esp + 0x2a0]
push eax
call fcn.0041cd3a
mov dword [esp + 0x3c], 0
test al, al
je 0x41319c
mov eax, dword [esp + 0x880]
lea ecx, [esp + 0x890]
cmp eax, ecx
je 0x413026
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x770]
lea ecx, [esp + 0x77c]
cmp eax, ecx
je 0x413041
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x3c0]
lea ecx, [esp + 0x3d0]
cmp eax, ecx
je 0x41305c
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x2b0]
lea ecx, [esp + 0x2bc]
cmp eax, ecx
je 0x413077
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x11f8]
lea ecx, [esp + 0x1208]
cmp eax, ecx
je 0x413092
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x10e8]
lea ecx, [esp + 0x10f4]
cmp eax, ecx
je 0x4130ad
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xd40]
lea ecx, [esp + 0xd50]
cmp eax, ecx
je 0x4130c8
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xc30]
lea ecx, [esp + 0xc3c]
cmp eax, ecx
je 0x4130e3
push eax
call sub.msvcrt.dll_free
add esp, 4
mov esi, dword [esp + 0x30]
sar esi, 3
mov eax, dword [esp + 0x68]
test eax, eax
je 0x413156
mov dword [esp + 0x114], eax
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0xc]
call fcn.0041ce0c
mov dword [esp + 0x294], 0
mov dword [esp + 0x290], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x29c]
movq qword [esp + 4], xmm0
mov dword [esp], edx
lea ecx, [esp + 0x120]
mov edx, eax
call fcn.0040b080
add esp, 0xc
mov ecx, dword [esp + 0x114]
test ecx, ecx
je 0x413156
mov eax, dword [ecx]
call dword [eax + 4]
imul eax, esi, 0xc4ec4ec5
mov dword [esp + 0x38], eax
cmp dword [esp + 0x3c], 0
je 0x413da3
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x74]
je 0x41317e
lea ecx, [esp + 0x6c]
call fcn.0041cbba
test byte [esp + 0x160], 1
mov edx, dword [esp + 0x30]
je 0x413d33
mov esi, dword [esp + 0x168]
jmp 0x413d3a
mov dword [esp + 0x3c], 0
jmp 0x4131ce
lea esi, [esp + 0x2a0]
nop dword [eax]
mov ecx, esi
call fcn.0041cc5c
mov ecx, esi
lea eax, [esp + 0x760]
push eax
call fcn.0041cd3a
test al, al
jne 0x41300b
cmp byte [0x424a50], 0
je 0x4132a0
lea eax, [esp + 0xa4]
pxor xmm0, xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
lea esi, [esp + 0x2a0]
mov ecx, esi
call fcn.0041cd2e
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0xa0], 0
mov ecx, esi
call fcn.0041cd1c
test eax, eax
je 0x413360
cmp edx, 0xfffffff8
jae 0x41598e
cmp edx, 0xb
jae 0x413380
mov ecx, edx
add cl, dl
mov byte [esp + 0x170], cl
lea esi, [esp + 0x171]
test edx, edx
jne 0x4133b3
nop dword [eax + eax]
mov byte [esi + edx], 0
test byte [esp + 0xa4], 1
lea esi, [esp + 0x2a0]
jne 0x4133d7
jmp 0x4133e6
mov eax, dword [esp + 0x10]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
cmp edi, eax
je 0x4131db
add edi, 0x15
jmp 0x4132d2
lea eax, [edi + 0x68]
add edi, 0x53
cmp edi, dword [esp + 4]
mov edi, eax
je 0x4131db
mov ebx, dword [edi - 0x15]
mov esi, dword [edi - 0x11]
lea ecx, [esp + 0x2a0]
call fcn.0041cd2e
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
xor eax, ebx
xor edx, esi
or edx, eax
jne 0x4132c0
movzx ebx, byte [edi - 1]
test bl, 1
je 0x413320
mov esi, dword [edi + 7]
mov ebx, dword [edi + 3]
lea ecx, [esp + 0x2a0]
call fcn.0041cd1c
cmp ebx, edx
jne 0x4132c0
jmp 0x413334
shr ebx, 1
mov esi, edi
lea ecx, [esp + 0x2a0]
call fcn.0041cd1c
cmp ebx, edx
jne 0x4132c0
test ebx, ebx
je 0x4131a6
push ebx
push eax
push esi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4132c0
jmp 0x4131a6
pxor xmm0, xmm0
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], 0
jmp 0x4133e6
mov ebx, edx
or ebx, 7
lea ecx, [ebx + 1]
push ecx
mov edi, eax
mov esi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, esi
add esp, 4
mov esi, eax
mov eax, edi
mov dword [esp + 0x178], esi
add ebx, 2
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], edx
push edx
push eax
push esi
mov edi, edx
call sub.msvcrt.dll_memmove
mov edx, edi
add esp, 0xc
mov byte [esi + edx], 0
test byte [esp + 0xa4], 1
lea esi, [esp + 0x2a0]
je 0x4133e6
push dword [esp + 0xac]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x178]
lea ecx, [esp + 0xa4]
mov dword [ecx + 8], eax
movq xmm0, qword [esp + 0x170]
movq qword [ecx], xmm0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd4], 2
pxor xmm0, xmm0
movdqu xmmword [ecx + 0x34], xmm0
mov ecx, esi
call fcn.0041cd22
test al, 4
jne 0x413450
xor edi, edi
jmp 0x41345e
mov word [esp + 0xe6], 0x80
mov di, 0x80
mov ecx, eax
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x5c], eax
jne 0x413480
mov byte [esp + 0xe4], 3
mov al, 0x41
jmp 0x413960
test al, 8
jne 0x4134c0
mov byte [esp + 0xe4], 0xf
test al, 0x10
jne 0x4134cf
mov dword [esp + 0x40], edi
mov ecx, esi
call fcn.0041cd2e
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov dword [esp + 0x90], eax
mov dword [esp + 8], edx
mov dword [esp + 0x94], edx
jmp 0x413550
mov byte [esp + 0xe4], 0xb
mov al, 0x49
jmp 0x413960
mov ecx, esi
call fcn.0041cd28
add eax, dword [esp + 0x44]
adc edx, dword [esp + 0x48]
mov dword [esp + 0x90], eax
mov dword [esp + 8], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x14], eax
test al, 1
jne 0x4134fe
mov dword [esp + 0x40], edi
jmp 0x413550
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x20]
test al, al
jne 0x4134f8
cmp dword [esp + 0x38], 0xc
jne 0x4134f8
mov eax, dword [esp + 0x14]
and eax, 0xfffffffe
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x90], eax
movzx edi, di
or edi, 8
mov dword [esp + 0x40], edi
mov word [esp + 0xe6], di
nop word cs:[eax + eax]
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push edi
call dword [eax + 0xb0]
mov eax, dword [edi]
lea esi, [esp + 0x17c]
mov ecx, esi
push edi
call dword [eax + 0xb4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x178], eax
movsd xmm0, qword [esp + 0x18]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x100], eax
movq xmm0, qword [esi]
movq qword [esp + 0xf8], xmm0
mov dword [esp + 0x28], 0
mov bl, 1
mov dword [esp + 0x34], 0
xor edi, edi
mov dword [esp + 0x24], 0
lea esi, [esp + 0x2a0]
jmp 0x4135f5
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
call dword [eax + 0x44]
movzx ebx, byte [esp + 4]
inc bl
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x2c]
jne 0x413624
mov ecx, dword [esp + 0x18]
xor ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x1c]
xor edx, dword [esp + 0xfc]
or edx, ecx
lea esi, [esp + 0x2a0]
je 0x413880
mov byte [esp + 4], bl
mov byte [esp + 0xe5], bl
movsd xmm0, qword [esp + 0x18]
movsd qword [esp + 0x118], xmm0
mov edx, dword [eax]
sub esp, 0xc
movsd xmm0, qword [esp + 0x124]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x5c]
call dword [edx + 0x48]
test byte [esp + 0x58], 1
jne 0x413680
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
jmp 0x4136e0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x120]
push eax
call fcn.0040dbd0
add esp, 0xc
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4136b7
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x58], 1
je 0x4136e0
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x50], 0
test ecx, ecx
je 0x4136e0
mov eax, dword [ecx]
call dword [eax + 4]
nop word cs:[eax + eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x298], eax
sub esp, 8
movsd xmm0, qword [esp + 0x2a0]
movsd qword [esp], xmm0
mov ecx, dword [esp + 0x14]
call fcn.0041cdc4
mov edi, eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x58]
movq qword [esp], xmm0
call dword [eax + 0x4c]
cmp dword [esp + 0x14], eax
mov eax, dword [esp + 8]
sbb eax, edx
jb 0x4137b6
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx]
sub esp, 8
movsd xmm0, qword [esp + 0x58]
movsd qword [esp], xmm0
call dword [eax + 0x4c]
mov esi, eax
mov ebx, edx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x58]
movq qword [esp], xmm0
call dword [eax + 0x54]
add eax, esi
lea esi, [esp + 0x2a0]
adc edx, ebx
cmp dword [esp + 0x14], eax
mov eax, dword [esp + 8]
sbb eax, edx
jb 0x41388c
mov ecx, esi
call fcn.0041cd1c
mov ecx, 0xffffffff
and edx, ecx
cmp edx, 0x13
jne 0x4135e0
movdqu xmm0, xmmword [eax]
pcmpeqb xmm0, xmmword [0x41d0e0]
movdqu xmm1, xmmword [eax + 3]
pcmpeqb xmm1, xmmword [str.h_execute_header__mh_execute_hea]
pand xmm1, xmm0
pmovmskb eax, xmm1
cmp eax, 0xffff
jne 0x4135e0
mov eax, dword [esp + 0x24]
and eax, ecx
cmp eax, 6
jne 0x4135e0
mov eax, dword [edi]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edi + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x4135e0
cmp dword [esp + 0x34], 6
jne 0x4135e0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
jne 0x4135e0
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xa4]
mov dword [ecx + 0x3c], eax
movq xmm0, qword [esp + 0x18]
movq qword [ecx + 0x34], xmm0
movzx eax, word [esp + 0x40]
or eax, 0x10
mov word [esp + 0xe6], ax
mov dword [esp + 0x34], 6
nop
cmp dword [esp + 0x24], 6
je 0x4138b0
jmp 0x413958
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xa4]
mov dword [ecx + 0x3c], eax
movq xmm0, qword [esp + 0x18]
movq qword [ecx + 0x34], xmm0
cmp dword [esp + 0x24], 6
jne 0x413958
mov eax, dword [edi]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edi + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x4138ed
cmp dword [esp + 0x34], 6
jne 0x4138ed
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
je 0x413d25
mov ecx, dword [edi]
mov eax, 0x41445f5f
xor ecx, eax
movzx edx, word [edi + 4]
xor edx, 0x4154
xor eax, eax
or edx, ecx
setne cl
jne 0x41392f
cmp dword [esp + 0x34], 6
jne 0x41392f
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, 0x61645f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x6174
or ecx, eax
jne 0x413958
mov al, 0x44
jmp 0x413960
mov al, cl
test eax, eax
jne 0x413958
cmp dword [esp + 0x34], 5
jne 0x413958
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, 0x73625f5f
xor eax, ecx
movzx ecx, byte [edx + 4]
xor ecx, 0x73
or ecx, eax
je 0x413d2c
mov al, 0x53
nop word [eax + eax]
mov byte [esp + 0xa0], al
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x90]
call fcn.0040f6e0
mov ecx, esi
call fcn.0041cd1c
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub esi, ecx
cmp esi, edx
jae 0x4139a0
lea ecx, [esp + 0x6c]
push edx
push eax
call fcn.0041cbc6
mov ecx, dword [esp + 0x7c]
jmp 0x4139bb
test edx, edx
je 0x4139bb
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x7c]
add ecx, esi
mov dword [esp + 0x7c], ecx
lea esi, [esp + 0x2a0]
cmp ecx, dword [esp + 0x78]
jae 0x4139f0
lea eax, [ecx + 1]
mov dword [esp + 0x7c], eax
mov byte [ecx], 0
test byte [esp + 0x5c], 8
je 0x413a02
mov ecx, esi
call fcn.0041cd34
mov ecx, esi
test edx, edx
jne 0x413a50
call fcn.0041cd1c
jmp 0x413a55
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cbcc
test byte [esp + 0x5c], 8
jne 0x4139d9
inc dword [esp + 0x3c]
test byte [esp + 0xe8], 1
je 0x413a1f
push dword [esp + 0xf0]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xa4], 1
je 0x4131b0
push dword [esp + 0xac]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4131b0
call fcn.0041cd34
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub esi, ecx
cmp esi, edx
jae 0x413a70
lea ecx, [esp + 0x6c]
push edx
push eax
call fcn.0041cbc6
jmp 0x413a8c
test edx, edx
lea esi, [esp + 0x2a0]
je 0x413a93
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7c], esi
lea esi, [esp + 0x2a0]
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x78]
jae 0x413ab0
lea ecx, [eax + 1]
mov dword [esp + 0x7c], ecx
mov byte [eax], 0
jmp 0x413abb
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cbcc
pxor xmm0, xmm0
movdqa xmmword [esp + 0x170], xmm0
lea eax, [esp + 0x171]
movdqu xmmword [eax + 0x53], xmm0
movdqu xmmword [eax + 0x43], xmm0
movdqu xmmword [eax + 0x33], xmm0
movdqu xmmword [eax + 0x23], xmm0
movdqu xmmword [eax + 0x13], xmm0
mov byte [esp + 0x180], 0x55
mov ecx, esi
call fcn.0041cd34
mov ecx, esi
test edx, edx
jne 0x413b50
call fcn.0041cd1c
test eax, eax
je 0x413b59
cmp edx, 0xfffffff8
jae 0x41599a
cmp edx, 0xb
jae 0x413b6d
mov ecx, edx
add cl, dl
mov byte [esp + 0x18], cl
lea esi, [esp + 0x19]
test edx, edx
jne 0x413b97
nop word cs:[eax + eax]
mov byte [esi + edx], 0
test byte [esp + 0x184], 1
lea esi, [esp + 0x2a0]
jne 0x413bbb
jmp 0x413bca
call fcn.0041cd34
test eax, eax
jne 0x413b06
pxor xmm0, xmm0
movq qword [esp + 0x18], xmm0
mov dword [esp + 0x20], 0
jmp 0x413bca
mov ebx, edx
or ebx, 7
lea ecx, [ebx + 1]
push ecx
mov edi, eax
mov esi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, esi
add esp, 4
mov esi, eax
mov eax, edi
mov dword [esp + 0x20], esi
add ebx, 2
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
push edx
push eax
push esi
mov edi, edx
call sub.msvcrt.dll_memmove
mov edx, edi
add esp, 0xc
mov byte [esi + edx], 0
test byte [esp + 0x184], 1
lea esi, [esp + 0x2a0]
je 0x413bca
push dword [esp + 0x18c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x171]
mov dword [ecx + 0x1b], eax
movsd xmm0, qword [esp + 0x18]
movsd qword [ecx + 0x13], xmm0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a8], 0
movdqa xmm0, xmmword [0x41d0f0]
movdqu xmmword [esp + 0x1b4], xmm0
mov word [esp + 0x1c4], 1
mov ecx, esi
call fcn.0041cd28
shl eax, 8
mov word [esp + 0x1c6], ax
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x170]
call fcn.0040f6e0
mov ecx, esi
call fcn.0041cd34
mov ecx, esi
test edx, edx
jne 0x413c60
call fcn.0041cd1c
jmp 0x413c65
call fcn.0041cd34
mov esi, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub esi, ecx
cmp esi, edx
jae 0x413c80
lea ecx, [esp + 0x6c]
push edx
push eax
call fcn.0041cbc6
jmp 0x413c9c
test edx, edx
lea esi, [esp + 0x2a0]
je 0x413ca3
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7c], esi
lea esi, [esp + 0x2a0]
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x78]
jae 0x413cd0
lea ecx, [eax + 1]
mov dword [esp + 0x7c], ecx
mov byte [eax], 0
test byte [esp + 0x1c8], 1
jne 0x413ce5
jmp 0x413cf4
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cbcc
test byte [esp + 0x1c8], 1
je 0x413cf4
push dword [esp + 0x1d0]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x184], 1
je 0x413d0d
push dword [esp + 0x18c]
call sub.libc.dll_operator_delete_void_
add esp, 4
add dword [esp + 0x3c], 2
test byte [esp + 0xe8], 1
jne 0x413a10
jmp 0x413a1f
mov al, 0x54
jmp 0x413960
mov al, 0x42
jmp 0x413960
lea esi, [esp + 0x161]
add edx, 0x58
neg dword [esp + 0x3c]
xor edi, edi
mov ebx, dword [esp + 0x10]
jmp 0x413d5a
dec edi
add edx, 0x68
cmp dword [esp + 0x3c], edi
je 0x413d9f
mov dword [esp + 0x30], edx
mov eax, dword [ebx]
lea ecx, [eax + edx]
add ecx, 0xffffffbc
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x34]
add esp, 4
add esi, eax
inc esi
mov ecx, dword [ebx]
cmp byte [ecx + edx - 0x48], 0x49
jne 0x413d50
add ecx, edx
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x34]
add esp, 4
add esi, eax
inc esi
jmp 0x413d50
sub dword [esp + 0x38], edi
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x4c]
lea ecx, [esp + 0xc20]
push eax
push dword [esp + 0x10]
call fcn.0041cc8c
movups xmm0, xmmword [esp + 0xc70]
movaps xmmword [esp + 0x7b0], xmm0
movups xmm0, xmmword [esp + 0xc60]
movaps xmmword [esp + 0x7a0], xmm0
movups xmm0, xmmword [esp + 0xc50]
movaps xmmword [esp + 0x790], xmm0
movups xmm0, xmmword [esp + 0xc40]
movaps xmmword [esp + 0x780], xmm0
movups xmm0, xmmword [esp + 0xc20]
movdqu xmm1, xmmword [esp + 0xc30]
movdqa xmmword [esp + 0x770], xmm1
movaps xmmword [esp + 0x760], xmm0
movups xmm0, xmmword [esp + 0xcd0]
movaps xmmword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0xcc0]
movaps xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [esp + 0xcb0]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [esp + 0xca0]
movaps xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [esp + 0xc90]
movaps xmmword [esp + 0xa0], xmm0
movdqu xmm0, xmmword [esp + 0xc80]
movdqa xmmword [esp + 0x90], xmm0
lea eax, [esp + 0x90]
lea ecx, [esp + 0x760]
push eax
call fcn.0041cd70
mov dword [esp + 8], 0
test al, al
je 0x413f55
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x413f14
mov dword [esp + 0x110], eax
mov dword [esp + 0x4c], 0
mov ecx, dword [esp + 0xc]
call fcn.0041ce0c
mov dword [esp + 0x28c], 0
mov dword [esp + 0x288], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x294]
movq qword [esp + 4], xmm0
mov dword [esp], edx
lea ecx, [esp + 0x11c]
mov edx, eax
call fcn.0040b080
add esp, 0xc
mov ecx, dword [esp + 0x110]
test ecx, ecx
je 0x413f14
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 8], 0
je 0x41436f
mov eax, dword [esp + 0x25c]
cmp eax, dword [esp + 0x254]
je 0x413f3b
lea ecx, [esp + 0x24c]
call fcn.0041cbba
test byte [esp + 0x150], 1
je 0x414306
mov esi, dword [esp + 0x158]
jmp 0x41430d
lea edi, [esp + 0x2b4]
mov dword [esp + 8], 0
lea esi, [esp + 0x760]
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
jmp 0x413fa2
inc dword [esp + 8]
mov ecx, esi
call fcn.0041cc68
mov ecx, esi
lea eax, [esp + 0x90]
push eax
call fcn.0041cd70
test al, al
jne 0x413ea8
mov ecx, esi
call fcn.0041cd5e
mov ecx, dword [esp + 0x24]
cmp ecx, edx
jne 0x413fcb
test ecx, ecx
je 0x4142f9
push ecx
push eax
push dword [esp + 0x34]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x413f84
cmp byte [0x424a50], 0
je 0x4140a0
mov ecx, esi
call fcn.0041cd5e
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], edx
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2a0], xmm0
movdqu xmmword [edi + 0x40], xmm0
movdqu xmmword [edi + 0x30], xmm0
movdqu xmmword [edi + 0x20], xmm0
movdqu xmmword [edi + 0x10], xmm0
movdqu xmmword [edi], xmm0
mov byte [esp + 0x2b0], 0x55
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2e4], 3
mov byte [esp + 0x2f4], 1
mov ecx, esi
call fcn.0041cd6a
shl eax, 8
mov word [esp + 0x2f6], ax
mov ecx, esi
call fcn.0041cd5e
test eax, eax
je 0x414180
cmp edx, 0xfffffff8
jae 0x41598e
cmp edx, 0xb
jae 0x41419a
mov ecx, edx
add cl, dl
mov byte [esp + 0x170], cl
lea edi, [esp + 0x171]
test edx, edx
jne 0x4141d4
nop
mov byte [edi + edx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x2b4]
jne 0x4141f8
jmp 0x414207
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x413fd8
mov edi, 1
mov esi, 0x1c
mov dword [esp + 4], 0
nop word cs:[eax + eax]
movzx ebx, byte [eax + esi - 8]
test bl, 1
je 0x414100
mov ecx, dword [eax + esi]
mov dword [esp + 0x14], ecx
mov ebx, dword [eax + esi - 4]
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
je 0x41411b
jmp 0x414137
shr ebx, 1
add eax, esi
add eax, 0xfffffff9
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
jne 0x414137
test ebx, ebx
je 0x414131
push ebx
push eax
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x414137
mov al, 1
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
cmp edi, ecx
jae 0x414162
mov ecx, dword [esp + 4]
and cl, 1
inc edi
add esi, 0x68
test cl, cl
je 0x4140d0
test byte [esp + 4], 1
lea edi, [esp + 0x2b4]
lea esi, [esp + 0x760]
jne 0x413f84
jmp 0x413fd8
pxor xmm0, xmm0
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], 0
jmp 0x414207
mov ebx, edx
or ebx, 7
lea ecx, [ebx + 1]
push ecx
mov esi, eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
add esp, 4
mov edi, eax
mov eax, esi
lea esi, [esp + 0x760]
mov dword [esp + 0x178], edi
add ebx, 2
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], edx
push edx
push eax
push edi
mov ebx, edx
call sub.msvcrt.dll_memmove
mov edx, ebx
add esp, 0xc
mov byte [edi + edx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x2b4]
je 0x414207
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x178]
mov dword [edi + 8], eax
movq xmm0, qword [esp + 0x170]
movq qword [edi], xmm0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2a0]
call fcn.0040f6e0
mov ecx, esi
call fcn.0041cd5e
mov esi, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
sub esi, ecx
cmp esi, edx
jae 0x414260
lea ecx, [esp + 0x24c]
push edx
push eax
call fcn.0041cbc6
mov ecx, dword [esp + 0x25c]
jmp 0x414281
test edx, edx
je 0x414281
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x25c]
add ecx, esi
mov dword [esp + 0x25c], ecx
lea esi, [esp + 0x760]
cmp ecx, dword [esp + 0x258]
jae 0x4142b0
lea eax, [ecx + 1]
mov dword [esp + 0x25c], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x4142c8
jmp 0x4142d7
lea ecx, [esp + 0x24c]
push 0
call fcn.0041cbcc
test byte [esp + 0x2f8], 1
je 0x4142d7
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x413f80
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x413f80
mov dword [esp + 0x24], 0
jmp 0x413f84
lea esi, [esp + 0x151]
imul edi, dword [esp + 0x38], 0x68
add edi, 0x58
neg dword [esp + 8]
xor ebx, ebx
jmp 0x41432a
dec ebx
add edi, 0x68
cmp dword [esp + 8], ebx
je 0x41436b
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x414320
add ecx, edi
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x414320
sub dword [esp + 0x38], ebx
mov dword [esp + 0x60], 0
lea eax, [esp + 0x60]
lea ecx, [esp + 0xc20]
push eax
push dword [esp + 0x10]
call fcn.0041cc80
movups xmm0, xmmword [esp + 0xc70]
movaps xmmword [esp + 0x7b0], xmm0
movups xmm0, xmmword [esp + 0xc60]
movaps xmmword [esp + 0x7a0], xmm0
movups xmm0, xmmword [esp + 0xc50]
movaps xmmword [esp + 0x790], xmm0
movups xmm0, xmmword [esp + 0xc40]
movaps xmmword [esp + 0x780], xmm0
movups xmm0, xmmword [esp + 0xc20]
movdqu xmm1, xmmword [esp + 0xc30]
movdqa xmmword [esp + 0x770], xmm1
movaps xmmword [esp + 0x760], xmm0
movups xmm0, xmmword [esp + 0xcd0]
movaps xmmword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0xcc0]
movaps xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [esp + 0xcb0]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [esp + 0xca0]
movaps xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [esp + 0xc90]
movaps xmmword [esp + 0xa0], xmm0
movdqu xmm0, xmmword [esp + 0xc80]
movdqa xmmword [esp + 0x90], xmm0
lea ecx, [esp + 0x760]
lea eax, [esp + 0x90]
push eax
call fcn.0041cd70
mov dword [esp + 8], 0
test al, al
je 0x414521
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4144e0
mov dword [esp + 0x10c], eax
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0xc]
call fcn.0041ce0c
mov dword [esp + 0x284], 0
mov dword [esp + 0x280], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x28c]
movq qword [esp + 4], xmm0
mov dword [esp], edx
lea ecx, [esp + 0x118]
mov edx, eax
call fcn.0040b080
add esp, 0xc
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x4144e0
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 8], 0
je 0x41491f
mov eax, dword [esp + 0x238]
cmp eax, dword [esp + 0x230]
je 0x414507
lea ecx, [esp + 0x228]
call fcn.0041cbba
test byte [esp + 0x140], 1
je 0x4148b9
mov esi, dword [esp + 0x148]
jmp 0x4148c0
mov dword [esp + 8], 0
lea edi, [esp + 0x760]
xor esi, esi
mov dword [esp + 0x2c], 0
jmp 0x414562
inc dword [esp + 8]
mov ecx, edi
call fcn.0041cc68
mov ecx, edi
lea eax, [esp + 0x90]
push eax
call fcn.0041cd70
test al, al
jne 0x414474
mov ecx, edi
call fcn.0041cd5e
cmp esi, edx
jne 0x414587
test esi, esi
je 0x4146da
push esi
push eax
push dword [esp + 0x34]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x414544
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x414658
mov dword [esp + 0x24], esi
mov edi, 1
mov esi, 0x1c
mov dword [esp + 4], 0
nop dword [eax]
movzx ebx, byte [eax + esi - 8]
test bl, 1
je 0x4145e0
mov ecx, dword [eax + esi]
mov dword [esp + 0x14], ecx
mov ebx, dword [eax + esi - 4]
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
je 0x4145fb
jmp 0x414617
shr ebx, 1
add eax, esi
add eax, 0xfffffff9
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
jne 0x414617
test ebx, ebx
je 0x414611
push ebx
push eax
push dword [esp + 0x1c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x414617
mov al, 1
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
cmp edi, ecx
jae 0x414642
mov ecx, dword [esp + 4]
and cl, 1
inc edi
add esi, 0x68
test cl, cl
je 0x4145b0
test byte [esp + 4], 1
lea edi, [esp + 0x760]
mov esi, dword [esp + 0x24]
jne 0x414544
mov ecx, edi
call fcn.0041cd5e
mov dword [esp + 0x2c], eax
mov esi, edx
lea eax, [esp + 0x2b4]
pxor xmm0, xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov ecx, edi
call fcn.0041cd5e
test eax, eax
mov dword [esp + 0x24], esi
je 0x4146e1
mov ebx, edx
cmp edx, 0xfffffff8
jae 0x41598e
cmp ebx, 0xb
jae 0x4146fb
mov ecx, ebx
add cl, bl
mov byte [esp + 0x170], cl
lea edi, [esp + 0x171]
test ebx, ebx
jne 0x414730
nop dword [eax]
mov byte [edi + ebx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x760]
jne 0x414750
jmp 0x41475f
xor esi, esi
jmp 0x414544
pxor xmm0, xmm0
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], 0
jmp 0x41475f
mov esi, ebx
or ebx, 7
lea ecx, [ebx + 1]
push ecx
mov dword [esp + 8], eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov eax, dword [esp + 4]
mov dword [esp + 0x178], edi
add ebx, 2
mov dword [esp + 0x170], ebx
mov ebx, esi
mov dword [esp + 0x174], esi
push ebx
push eax
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x760]
je 0x41475f
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x178]
lea ecx, [esp + 0x2b4]
mov dword [ecx + 8], eax
movq xmm0, qword [esp + 0x170]
movq qword [ecx], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2a0], xmm0
mov byte [esp + 0x2b0], 0x55
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2e4], 3
mov word [esp + 0x2f4], 1
mov ecx, edi
call fcn.0041cd6a
shl eax, 8
or eax, 1
mov word [esp + 0x2f6], ax
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2a0]
call fcn.0040f6e0
mov ecx, edi
call fcn.0041cd5e
mov esi, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
sub esi, ecx
cmp esi, edx
jae 0x414820
lea ecx, [esp + 0x228]
push edx
push eax
call fcn.0041cbc6
mov ecx, dword [esp + 0x238]
jmp 0x414841
test edx, edx
je 0x414841
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x238]
add ecx, esi
mov dword [esp + 0x238], ecx
mov esi, dword [esp + 0x24]
cmp ecx, dword [esp + 0x234]
jae 0x414870
lea eax, [ecx + 1]
mov dword [esp + 0x238], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x414888
jmp 0x414897
lea ecx, [esp + 0x228]
push 0
call fcn.0041cbcc
test byte [esp + 0x2f8], 1
je 0x414897
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x414540
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x414540
lea esi, [esp + 0x141]
imul edi, dword [esp + 0x38], 0x68
add edi, 0x58
neg dword [esp + 8]
xor ebx, ebx
jmp 0x4148da
dec ebx
add edi, 0x68
cmp dword [esp + 8], ebx
je 0x41491b
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x4148d0
add ecx, edi
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x4148d0
sub dword [esp + 0x38], ebx
mov dword [esp + 0x64], 0
lea eax, [esp + 0x64]
lea ecx, [esp + 0xc20]
push eax
push dword [esp + 0x10]
call fcn.0041cc86
movups xmm0, xmmword [esp + 0xc70]
movaps xmmword [esp + 0x7b0], xmm0
movups xmm0, xmmword [esp + 0xc60]
movaps xmmword [esp + 0x7a0], xmm0
movups xmm0, xmmword [esp + 0xc50]
movaps xmmword [esp + 0x790], xmm0
movups xmm0, xmmword [esp + 0xc40]
movaps xmmword [esp + 0x780], xmm0
movups xmm0, xmmword [esp + 0xc20]
movdqu xmm1, xmmword [esp + 0xc30]
movdqa xmmword [esp + 0x770], xmm1
movaps xmmword [esp + 0x760], xmm0
movups xmm0, xmmword [esp + 0xcd0]
movaps xmmword [esp + 0xe0], xmm0
movups xmm0, xmmword [esp + 0xcc0]
movaps xmmword [esp + 0xd0], xmm0
movups xmm0, xmmword [esp + 0xcb0]
movaps xmmword [esp + 0xc0], xmm0
movups xmm0, xmmword [esp + 0xca0]
movaps xmmword [esp + 0xb0], xmm0
movups xmm0, xmmword [esp + 0xc90]
movaps xmmword [esp + 0xa0], xmm0
movdqu xmm0, xmmword [esp + 0xc80]
movdqa xmmword [esp + 0x90], xmm0
lea ecx, [esp + 0x760]
lea eax, [esp + 0x90]
push eax
call fcn.0041cd70
mov dword [esp + 8], 0
test al, al
je 0x414ad1
mov eax, dword [esp + 0x64]
test eax, eax
je 0x414a90
mov dword [esp + 0x108], eax
mov dword [esp + 0x64], 0
mov ecx, dword [esp + 0xc]
call fcn.0041ce0c
mov dword [esp + 0x27c], 0
mov dword [esp + 0x278], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x284]
movq qword [esp + 4], xmm0
mov dword [esp], edx
lea ecx, [esp + 0x114]
mov edx, eax
call fcn.0040b080
add esp, 0xc
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x414a90
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 8], 0
je 0x414edf
mov eax, dword [esp + 0x214]
cmp eax, dword [esp + 0x20c]
je 0x414ab7
lea ecx, [esp + 0x204]
call fcn.0041cbba
test byte [esp + 0x130], 1
je 0x414e6e
mov esi, dword [esp + 0x138]
jmp 0x414e75
mov dword [esp + 8], 0
lea esi, [esp + 0x760]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 0
jmp 0x414b22
inc dword [esp + 8]
mov ecx, esi
call fcn.0041cc68
mov ecx, esi
lea eax, [esp + 0x90]
push eax
call fcn.0041cd70
test al, al
jne 0x414a24
mov ecx, esi
call fcn.0041cd5e
cmp dword [esp + 0x14], edx
jne 0x414b53
xor edi, edi
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x414c10
push ecx
push eax
push dword [esp + 0x2c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x414c10
mov ecx, esi
call fcn.0041cd64
xor edi, edi
test al, 8
jne 0x414c10
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x414c30
xor edi, edi
mov esi, 0x1c
jmp 0x414ba0
inc edi
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
add esi, 0x68
cmp edi, ecx
jae 0x414c30
movzx ebx, byte [eax + esi - 8]
test bl, 1
je 0x414bd0
mov ecx, dword [eax + esi]
mov dword [esp + 4], ecx
mov ebx, dword [eax + esi - 4]
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
jne 0x414b80
jmp 0x414beb
shr ebx, 1
add eax, esi
add eax, 0xfffffff9
mov dword [esp + 4], eax
lea ecx, [esp + 0x760]
call fcn.0041cd5e
cmp ebx, edx
jne 0x414b80
test ebx, ebx
je 0x414c05
push ebx
push eax
push dword [esp + 0xc]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x414b80
lea esi, [esp + 0x760]
nop dword [eax]
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
imul ecx, edi, 0x68
cmp byte [eax + ecx + 0x10], 0x55
jne 0x414b04
or byte [eax + ecx + 0x56], 0x80
jmp 0x414b04
lea esi, [esp + 0x760]
mov ecx, esi
call fcn.0041cd5e
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
lea eax, [esp + 0x2b4]
pxor xmm0, xmm0
movdqu xmmword [eax + 0x40], xmm0
movdqu xmmword [eax + 0x30], xmm0
movdqu xmmword [eax + 0x20], xmm0
movdqu xmmword [eax + 0x10], xmm0
movdqu xmmword [eax], xmm0
mov ecx, esi
call fcn.0041cd5e
test eax, eax
je 0x414cad
mov ebx, edx
cmp edx, 0xfffffff8
jae 0x41598e
cmp ebx, 0xb
jae 0x414cc7
mov ecx, ebx
add cl, bl
mov byte [esp + 0x170], cl
lea edi, [esp + 0x171]
test ebx, ebx
jne 0x414d07
mov byte [edi + ebx], 0
test byte [esp + 0x2b4], 1
jne 0x414d20
jmp 0x414d2f
pxor xmm0, xmm0
movq qword [esp + 0x170], xmm0
mov dword [esp + 0x178], 0
jmp 0x414d2f
mov dword [esp + 4], ebx
mov ebx, dword [esp + 4]
or ebx, 7
lea ecx, [ebx + 1]
push ecx
mov esi, eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov eax, esi
lea esi, [esp + 0x760]
mov dword [esp + 0x178], edi
add ebx, 2
mov dword [esp + 0x170], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x174], ebx
push ebx
push eax
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
test byte [esp + 0x2b4], 1
je 0x414d2f
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x178]
lea ecx, [esp + 0x2b4]
mov dword [ecx + 8], eax
movq xmm0, qword [esp + 0x170]
movq qword [ecx], xmm0
pxor xmm0, xmm0
movdqa xmmword [esp + 0x2a0], xmm0
mov byte [esp + 0x2b0], 0x55
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d8], 0
mov dword [esp + 0x2e4], 3
mov dword [esp + 0x2f4], 0x800001
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2a0]
call fcn.0040f6e0
mov ecx, esi
call fcn.0041cd5e
mov esi, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
sub esi, ecx
cmp esi, edx
jae 0x414ddb
lea ecx, [esp + 0x204]
push edx
push eax
call fcn.0041cbc6
mov ecx, dword [esp + 0x214]
jmp 0x414dfc
test edx, edx
je 0x414dfc
push edx
push eax
push ecx
mov esi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x214]
add ecx, esi
mov dword [esp + 0x214], ecx
lea esi, [esp + 0x760]
cmp ecx, dword [esp + 0x210]
jae 0x414e25
lea eax, [ecx + 1]
mov dword [esp + 0x214], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x414e3d
jmp 0x414e4c
lea ecx, [esp + 0x204]
push 0
call fcn.0041cbcc
test byte [esp + 0x2f8], 1
je 0x414e4c
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x414b00
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x414b00
lea esi, [esp + 0x131]
imul edi, dword [esp + 0x38], 0x68
add edi, 0x58
neg dword [esp + 8]
xor ebx, ebx
jmp 0x414e9a
dec ebx
add edi, 0x68
cmp dword [esp + 8], ebx
je 0x414edb
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x414e90
add ecx, edi
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x414e90
sub dword [esp + 0x38], ebx
lea eax, [esp + 0x2b0]
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 8
mov ecx, dword [esp + 0xc]
call fcn.0041cd88
cmp eax, edx
je 0x414fa7
mov esi, eax
mov edi, edx
mov dword [esp + 0x5c], 0xffffffff
lea ebx, [esp + 0xc20]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 4], edx
jmp 0x414f69
mov ecx, ebx
push esi
push dword [esp + 0x10]
call fcn.0041cd9a
mov eax, dword [esp + 0xc28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc2c]
mov dword [esp + 0x40], eax
add esi, 0xc
cmp esi, edi
je 0x414fb7
mov eax, dword [esi + 4]
cmp eax, 0x80000028
je 0x414f40
cmp eax, 0x26
jne 0x414f62
mov ecx, ebx
push esi
mov edi, ebx
mov ebx, dword [esp + 0x10]
push ebx
call fcn.0041cdbe
mov ecx, ebx
mov ebx, edi
mov edi, dword [esp + 4]
lea eax, [esp + 0x2a0]
push eax
push 0
push dword [esp + 0xc30]
call fcn.0041cd82
jmp 0x414f62
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov edx, dword [esp + 0x2a4]
test edx, edx
je 0x41580b
mov dword [esp + 0x28], 0
xor esi, esi
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 0xc]
jmp 0x415006
inc dword [esp + 0x30]
mov edx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x28]
add eax, 1
adc esi, 0
mov dword [esp + 0x28], eax
cmp eax, edx
mov eax, esi
sbb eax, 0
jae 0x41576d
mov dword [esp + 0x3c], esi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x41508c
mov dword [esp + 8], edx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x28]
mov esi, dword [eax + edx*8]
add esi, dword [esp + 0x44]
mov dword [esp + 0x14], esi
mov edi, dword [eax + edx*8 + 4]
adc edi, dword [esp + 0x48]
mov eax, 1
xor ebx, ebx
nop dword [eax]
mov edx, dword [ecx]
xor edx, dword [esp + 0x14]
mov esi, dword [ecx + 4]
xor esi, edi
or esi, edx
movzx ebx, bl
mov edx, 1
cmove ebx, edx
cmp eax, dword [esp + 4]
jae 0x41507b
mov edx, ebx
and dl, 1
inc eax
add ecx, 0x68
test dl, dl
je 0x415050
test bl, 1
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 8]
jne 0x415560
pxor xmm0, xmm0
movdqa xmmword [esp + 0xc20], xmm0
mov byte [esp + 0xc30], 0
lea ecx, [esp + 0xc34]
movdqu xmmword [ecx + 0x40], xmm0
movdqu xmmword [ecx + 0x30], xmm0
movdqu xmmword [ecx + 0x20], xmm0
movdqu xmmword [ecx + 0x10], xmm0
movdqu xmmword [ecx], xmm0
push str._redacted_function_X_
call fcn.0041ce6c
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + edx*8]
add ecx, dword [esp + 0x44]
mov eax, dword [eax + edx*8 + 4]
adc eax, dword [esp + 0x48]
mov dword [esp + 0xc24], eax
mov dword [esp + 0xc20], ecx
mov dword [esp + 0xc28], 0
mov dword [esp + 0xc2c], 0
mov dword [esp + 0xc54], 0
mov dword [esp + 0xc50], 0
mov dword [esp + 0xc58], 0
mov dword [esp + 0xc64], 0
mov word [esp + 0xc74], 0xe
mov eax, dword [ebx]
lea ecx, [esp + 0x90]
push ebx
call dword [eax + 0xb0]
mov eax, dword [ebx]
lea esi, [esp + 0x76c]
mov ecx, esi
push ebx
call dword [eax + 0xb4]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x768], eax
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0x760], xmm0
mov dword [esp + 0x98], eax
movsd qword [esp + 0x90], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov dword [esp + 0x178], eax
movq xmm0, qword [esi]
movq qword [esp + 0x170], xmm0
mov dword [esp + 4], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
jmp 0x4151e4
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
lea edx, [esp + 0x90]
push edx
call dword [eax + 0x44]
mov eax, dword [esp + 0x98]
cmp eax, dword [esp + 8]
jne 0x415215
mov ecx, dword [esp + 0x90]
xor ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x94]
xor edx, dword [esp + 0x174]
or edx, ecx
je 0x4154c4
movsd xmm0, qword [esp + 0x90]
movsd qword [esp + 0xf8], xmm0
mov edx, dword [eax]
sub esp, 0xc
movq xmm0, qword [esp + 0x104]
movq qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x24]
call dword [edx + 0x48]
test byte [esp + 0x20], 1
jne 0x415270
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
jmp 0x415390
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 4], eax
test eax, eax
je 0x415363
mov esi, dword [esp + 4]
mov eax, dword [esi]
mov ecx, esi
push dword [sym.imp.libLLVM_18.dll_llvm::ErrorList::ID]
call dword [eax + 0x18]
test al, al
je 0x415349
mov ebx, dword [esi + 4]
mov esi, dword [esi + 8]
cmp ebx, esi
je 0x41535a
xor edi, edi
jmp 0x4152cb
add ebx, 4
cmp ebx, esi
je 0x41535a
mov dword [esp + 0x50], edi
mov edi, dword [ebx]
mov dword [ebx], 0
mov eax, dword [edi]
mov ecx, edi
push dword [sym.imp.libLLVM_18.dll_llvm::ErrorInfoBase::ID]
call dword [eax + 0x18]
test al, al
je 0x4152f1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
xor edi, edi
mov dword [esp + 0x118], edi
lea eax, [esp + 0x118]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.0040ce40
add esp, 0xc
mov edi, dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x415337
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x4152c0
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4152c0
mov eax, dword [esi]
mov ecx, esi
push dword [sym.imp.libLLVM_18.dll_llvm::ErrorInfoBase::ID]
call dword [eax + 0x18]
test al, al
je 0x415363
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x20], 1
jne 0x415370
mov ebx, dword [esp + 0xc]
jmp 0x415390
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], 0
test ecx, ecx
mov ebx, dword [esp + 0xc]
je 0x415390
mov eax, dword [ecx]
call dword [eax + 4]
nop dword [eax]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x274], ecx
mov dword [esp + 0x270], eax
sub esp, 8
movsd xmm0, qword [esp + 0x278]
movsd qword [esp], xmm0
mov ecx, ebx
call fcn.0041cdc4
mov dword [esp + 0x14], eax
mov dword [esp + 4], edx
inc byte [esp + 0xc75]
mov edi, dword [esp + 0xc20]
mov esi, dword [esp + 0xc24]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x20]
movq qword [esp], xmm0
call dword [eax + 0x4c]
cmp edi, eax
sbb esi, edx
jb 0x4151d0
mov eax, dword [esp + 0xc20]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0xc24]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
sub esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
call dword [eax + 0x4c]
mov esi, eax
mov ebx, edx
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x20]
movq qword [esp], xmm0
call dword [eax + 0x54]
add eax, esi
adc edx, ebx
mov ebx, dword [esp + 0xc]
cmp dword [esp + 0x24], eax
sbb edi, edx
jae 0x4151d0
mov eax, dword [esp + 0x98]
lea ecx, [esp + 0xc34]
mov dword [ecx + 0x3c], eax
movq xmm0, qword [esp + 0x90]
movq qword [ecx + 0x34], xmm0
cmp dword [esp + 4], 6
jne 0x4155a0
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x415510
cmp dword [esp + 0x2c], 6
jne 0x415510
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
je 0x41575f
mov edx, dword [esp + 0x14]
mov ecx, dword [edx]
mov eax, 0x41445f5f
xor ecx, eax
movzx edx, word [edx + 4]
xor edx, 0x4154
xor eax, eax
or edx, ecx
setne cl
jne 0x415569
cmp dword [esp + 0x2c], 6
jne 0x415569
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov ecx, 0x61645f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x6174
or ecx, eax
jne 0x4155a0
mov al, 0x64
jmp 0x4155a2
mov esi, dword [esp + 0x3c]
jmp 0x414feb
mov al, cl
test eax, eax
jne 0x4155a0
cmp dword [esp + 0x2c], 5
jne 0x4155a0
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov ecx, 0x73625f5f
xor eax, ecx
movzx ecx, byte [edx + 4]
xor ecx, 0x73
or ecx, eax
je 0x415766
nop word cs:[eax + eax]
mov al, 0x73
mov byte [esp + 0xc30], al
mov word [esp + 0xc76], 0
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xc20]
call fcn.0040f6e0
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + ecx*8 + 4]
xor edx, dword [esp + 0x40]
mov esi, dword [eax + ecx*8]
xor esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1f0]
sub ecx, eax
or esi, edx
jne 0x415630
cmp ecx, 0x11
mov esi, dword [esp + 0x3c]
ja 0x415657
lea ecx, [esp + 0x1e0]
push 0x12
push str._redacted_LC_MAIN_
call fcn.0041cbc6
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jb 0x41571c
jmp 0x415685
cmp ecx, 0x12
mov esi, dword [esp + 0x3c]
ja 0x4156ce
lea ecx, [esp + 0x1e0]
push 0x13
push str._redacted_function
call fcn.0041cbc6
mov ecx, eax
jmp 0x4156f0
movdqu xmm0, xmmword [str._redacted_LC_MAIN_]
movdqu xmmword [eax], xmm0
mov word [eax + 0x10], 0x3e4e
add dword [esp + 0x1f0], 0x12
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jb 0x41571c
lea ecx, [esp + 0x1e0]
push 0
call fcn.0041cbcc
test byte [esp + 0xc78], 1
je 0x4156ac
push dword [esp + 0xc80]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xc34], 1
je 0x414fe0
push dword [esp + 0xc3c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x414fe0
movdqu xmm0, xmmword [str._redacted_function]
movdqu xmmword [eax], xmm0
mov dword [eax + 0xf], 0x206e6f69
add dword [esp + 0x1f0], 0x13
lea ecx, [esp + 0x1e0]
push esi
push dword [esp + 0x2c]
call fcn.0041cbf0
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x41573c
mov byte [ecx], 0x3e
inc dword [eax + 0x10]
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jae 0x415685
lea ecx, [eax + 1]
mov dword [esp + 0x1f0], ecx
mov byte [eax], 0
test byte [esp + 0xc78], 1
jne 0x41569d
jmp 0x4156ac
mov ecx, eax
push 1
push 0x41ed73
call fcn.0041cbc6
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jb 0x41571c
jmp 0x415685
mov al, 0x74
jmp 0x4155a2
mov al, 0x62
jmp 0x4155a2
mov ebx, dword [esp + 0x30]
test ebx, ebx
je 0x41580b
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1e8]
je 0x415795
lea ecx, [esp + 0x1e0]
call fcn.0041cbba
test byte [esp + 0x120], 1
je 0x4157a8
mov esi, dword [esp + 0x128]
jmp 0x4157af
lea esi, [esp + 0x121]
imul edi, dword [esp + 0x38], 0x68
add edi, 0x58
jmp 0x4157ca
mov ebx, dword [esp + 0x30]
add edi, 0x68
dec ebx
je 0x41580b
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov ecx, dword [ebx]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x4157c0
add ecx, edi
push esi
call fcn.0041ce6c
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x4157c0
mov eax, dword [esp + 0x2a0]
lea ecx, [esp + 0x2b0]
cmp eax, ecx
je 0x415826
push eax
call sub.msvcrt.dll_free
add esp, 4
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x415833
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x415840
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x41584d
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x41585a
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x1e0]
call fcn.0041cbd2
test byte [esp + 0x120], 1
jne 0x4158e8
lea ecx, [esp + 0x204]
call fcn.0041cbd2
test byte [esp + 0x130], 1
jne 0x415911
lea ecx, [esp + 0x228]
call fcn.0041cbd2
test byte [esp + 0x140], 1
jne 0x41593a
lea ecx, [esp + 0x24c]
call fcn.0041cbd2
test byte [esp + 0x150], 1
jne 0x415963
lea ecx, [esp + 0x6c]
call fcn.0041cbd2
test byte [esp + 0x160], 1
je 0x4158e0
push dword [esp + 0x168]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x128]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x204]
call fcn.0041cbd2
test byte [esp + 0x130], 1
je 0x41588a
push dword [esp + 0x138]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x228]
call fcn.0041cbd2
test byte [esp + 0x140], 1
je 0x4158a4
push dword [esp + 0x148]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x24c]
call fcn.0041cbd2
test byte [esp + 0x150], 1
je 0x4158be
push dword [esp + 0x158]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x6c]
call fcn.0041cbd2
test byte [esp + 0x160], 1
jne 0x4158d1
jmp 0x4158e0
lea ecx, [esp + 0x170]
call fcn.00407130
lea ecx, [esp + 0x18]
call fcn.00407130
int3