Function at 0x412df0
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.00417808
mov eax, dword [edx + 4]
mov dword [esp + 0xc], edx
sub eax, dword [edx]
mov edx, 0x4ec4ec4f
imul edx
mov dword [esp + 0x28], edx
mov ebx, ecx
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x150], 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_17.dll_vtable_for_llvm::raw_string_ostream]
add esi, 8
mov dword [esp + 0x6c], esi
lea eax, [esp + 0x148]
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x6c]
push 0
push 0
push 0
call fcn.0041cfc4
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x140], 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 + 0x138]
mov dword [esp + 0x26c], eax
lea ecx, [esp + 0x24c]
push 0
push 0
push 0
call fcn.0041cfc4
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x130], 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 + 0x128]
mov dword [esp + 0x248], eax
lea ecx, [esp + 0x228]
push 0
push 0
push 0
call fcn.0041cfc4
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x120], 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 + 0x118]
mov dword [esp + 0x224], eax
lea ecx, [esp + 0x204]
push 0
push 0
push 0
call fcn.0041cfc4
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x110], 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 + 0x108]
mov dword [esp + 0x200], eax
lea ecx, [esp + 0x1e0]
push 0
push 0
push 0
call fcn.0041cfc4
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
mov ecx, ebx
test al, al
je 0x41306c
call fcn.0041d156
jmp 0x413078
call fcn.0041d1a4
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 0x18]
mov dword [esp + 8], eax
mov ecx, ebx
call fcn.0041d162
mov dword [esp + 0x44], 0
cmp eax, edx
mov dword [esp], ebx
je 0x413140
mov esi, eax
mov edi, edx
lea ebx, [esp + 0xc20]
jmp 0x4130bb
add esi, 0xc
cmp esi, edi
je 0x413153
mov eax, dword [esi + 4]
cmp eax, 0x19
je 0x4130f0
cmp eax, 1
jne 0x4130b0
mov ecx, ebx
push esi
push dword [esp + 4]
call fcn.0041d17a
cmp dword [esp + 0xc40], 0
jne 0x4130b0
cmp dword [esp + 0xc44], 0
je 0x4130b0
jmp 0x413171
mov ecx, ebx
push esi
push dword [esp + 4]
call fcn.0041d186
mov eax, dword [esp + 0xc48]
or eax, dword [esp + 0xc4c]
jne 0x4130b0
mov eax, dword [esp + 0xc54]
or eax, dword [esp + 0xc50]
je 0x4130b0
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc3c]
mov dword [esp + 0x44], eax
mov ebx, dword [esp]
cmp byte [0x425a4c], 0
je 0x413188
jmp 0x41319f
mov dword [esp + 0x40], 0
cmp byte [0x425a4c], 0
je 0x413188
jmp 0x41319f
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov ebx, dword [esp]
cmp byte [0x425a4c], 0
je 0x413188
jmp 0x41319f
mov eax, dword [esp + 0xc38]
mov dword [esp + 0x40], eax
mov ebx, dword [esp]
cmp byte [0x425a4c], 0
jne 0x41319f
cmp byte [0x425a42], 0
jne 0x41319f
and dword [esp + 8], 0x4000000
je 0x415cda
mov dword [esp + 0x68], 0
lea eax, [esp + 0x68]
lea ecx, [esp + 0xc20]
push eax
push ebx
call fcn.0041d19e
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 0x41324a
lea ecx, [esp + 0x2bc]
mov eax, esi
cmp esi, 0x101
jb 0x413232
lea ecx, [esp + 0x2b0]
push 1
push esi
lea eax, [esp + 0x2c4]
push eax
call fcn.0041d000
mov eax, dword [esp + 0xc34]
test eax, eax
je 0x413243
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 0x4132cb
lea eax, [esp + 0x3d0]
mov ecx, esi
cmp esi, 0x11
jb 0x4132b0
lea ecx, [esp + 0x3c0]
push 0x38
push esi
lea eax, [esp + 0x3d8]
push eax
call fcn.0041d000
mov ecx, dword [esp + 0xd44]
test ecx, ecx
je 0x4132c4
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 0x41336d
lea ecx, [esp + 0x77c]
mov eax, esi
cmp esi, 0x101
jb 0x413355
lea ecx, [esp + 0x770]
push 1
push esi
lea eax, [esp + 0x784]
push eax
call fcn.0041d000
mov eax, dword [esp + 0x10ec]
test eax, eax
je 0x413366
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 0x4133ee
lea eax, [esp + 0x890]
mov ecx, esi
cmp esi, 0x11
jb 0x4133d3
lea ecx, [esp + 0x880]
push 0x38
push esi
lea eax, [esp + 0x898]
push eax
call fcn.0041d000
mov ecx, dword [esp + 0x11fc]
test ecx, ecx
je 0x4133e7
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.0041d11a
mov dword [esp + 0x2c], 0
test al, al
je 0x4135af
mov eax, dword [esp + 0x880]
lea ecx, [esp + 0x890]
cmp eax, ecx
je 0x41343c
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x770]
lea ecx, [esp + 0x77c]
cmp eax, ecx
je 0x413457
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x3c0]
lea ecx, [esp + 0x3d0]
cmp eax, ecx
je 0x413472
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x2b0]
lea ecx, [esp + 0x2bc]
cmp eax, ecx
je 0x41348d
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x11f8]
lea ecx, [esp + 0x1208]
cmp eax, ecx
je 0x4134a8
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x10e8]
lea ecx, [esp + 0x10f4]
cmp eax, ecx
je 0x4134c3
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xd40]
lea ecx, [esp + 0xd50]
cmp eax, ecx
je 0x4134de
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xc30]
lea ecx, [esp + 0xc3c]
cmp eax, ecx
je 0x4134f9
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0x28]
mov esi, eax
shr esi, 0x1f
sar eax, 5
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x413573
mov dword [esp + 0x164], eax
mov dword [esp + 0x68], 0
mov ecx, ebx
call fcn.0041d1da
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 + 0x170]
mov edx, eax
call fcn.0040bec0
add esp, 0xc
mov ecx, dword [esp + 0x164]
test ecx, ecx
je 0x413573
mov eax, dword [ecx]
call dword [eax + 4]
add dword [esp + 0x28], esi
cmp dword [esp + 0x2c], 0
je 0x4141d2
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x74]
je 0x413595
lea ecx, [esp + 0x6c]
call fcn.0041cfbe
test byte [esp + 0x148], 1
je 0x41415a
mov esi, dword [esp + 0x150]
jmp 0x414161
mov dword [esp + 0x2c], 0
jmp 0x4135ee
mov ebx, dword [esp]
lea esi, [esp + 0x2a0]
nop word cs:[eax + eax]
mov ecx, esi
call fcn.0041d05a
mov ecx, esi
lea eax, [esp + 0x760]
push eax
call fcn.0041d11a
test al, al
jne 0x413421
cmp byte [0x425a4c], 0
je 0x4136c0
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.0041d10e
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
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.0041d0fc
test eax, eax
je 0x413780
cmp edx, 0xfffffff0
jae 0x415e0e
mov esi, eax
cmp edx, 0xb
jae 0x4137b0
mov eax, edx
add al, dl
mov byte [esp + 0x170], al
lea edi, [esp + 0x171]
test edx, edx
mov ebx, dword [esp]
jne 0x4137e2
mov byte [edi + edx], 0
test byte [esp + 0xa4], 1
jne 0x4137ff
jmp 0x41380e
mov eax, dword [esp + 0xc]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 8], eax
cmp edi, eax
je 0x4135fb
add edi, 0x15
jmp 0x4136f2
lea eax, [edi + 0x68]
add edi, 0x53
cmp edi, dword [esp + 8]
mov edi, eax
je 0x4135fb
mov ebx, dword [edi - 0x15]
mov esi, dword [edi - 0x11]
lea ecx, [esp + 0x2a0]
call fcn.0041d10e
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
xor eax, ebx
xor edx, esi
or edx, eax
jne 0x4136e0
movzx ebx, byte [edi - 1]
test bl, 1
je 0x413740
mov esi, dword [edi + 7]
mov ebx, dword [edi + 3]
lea ecx, [esp + 0x2a0]
call fcn.0041d0fc
cmp ebx, edx
jne 0x4136e0
jmp 0x413754
shr ebx, 1
mov esi, edi
lea ecx, [esp + 0x2a0]
call fcn.0041d0fc
cmp ebx, edx
jne 0x4136e0
test ebx, ebx
je 0x4135b9
push ebx
push eax
push esi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4136e0
jmp 0x4135b9
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x178], 0
mov ebx, dword [esp]
jmp 0x41380e
mov ebx, edx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x178], eax
add ebx, 2
mov dword [esp + 0x170], ebx
mov dword [esp + 0x174], edx
mov ebx, dword [esp]
push edx
push esi
push edi
mov esi, edx
call sub.msvcrt.dll_memmove
mov edx, esi
add esp, 0xc
mov byte [edi + edx], 0
test byte [esp + 0xa4], 1
je 0x41380e
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
lea esi, [esp + 0x2a0]
mov ecx, esi
call fcn.0041d102
test al, 4
jne 0x413880
xor edi, edi
jmp 0x41388e
mov word [esp + 0xe6], 0x80
mov di, 0x80
mov ecx, eax
and ecx, 3
cmp ecx, 2
mov dword [esp + 0x4c], eax
jne 0x4138b0
mov byte [esp + 0xe4], 3
mov al, 0x41
jmp 0x413d90
test al, 8
jne 0x4138f0
mov byte [esp + 0xe4], 0xf
test al, 0x10
jne 0x4138ff
mov dword [esp + 0x3c], edi
mov ecx, esi
call fcn.0041d10e
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov dword [esp + 0x90], eax
mov dword [esp + 4], edx
mov dword [esp + 0x94], edx
jmp 0x413970
mov byte [esp + 0xe4], 0xb
mov al, 0x49
jmp 0x413d90
mov ecx, esi
call fcn.0041d108
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
mov dword [esp + 0x90], eax
mov dword [esp + 4], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x20], eax
test al, 1
jne 0x41392e
mov dword [esp + 0x3c], edi
jmp 0x413970
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x20]
test al, al
jne 0x413928
cmp dword [esp + 0x5c], 0xc
jne 0x413928
mov eax, dword [esp + 0x20]
and eax, 0xfffffffe
mov ecx, dword [esp + 4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x90], eax
movzx edi, di
or edi, 8
mov dword [esp + 0x3c], edi
mov word [esp + 0xe6], di
nop
mov eax, dword [ebx]
lea ecx, [esp + 0x10]
push ebx
call dword [eax + 0xb0]
mov eax, dword [ebx]
lea esi, [esp + 0x17c]
mov ecx, esi
push ebx
call dword [eax + 0xb4]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x178], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x170], xmm0
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm0
mov eax, dword [esi + 8]
mov dword [esp + 0x34], eax
mov dword [esp + 0x100], eax
movq xmm0, qword [esi]
movq qword [esp + 0xf8], xmm0
mov dword [esp + 0x30], 0
mov cl, 1
mov dword [esp + 0x38], 0
xor edi, edi
mov dword [esp + 0x24], 0
lea esi, [esp + 0x2a0]
jmp 0x413a15
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
lea edx, [esp + 0x10]
push edx
call dword [eax + 0x44]
movzx ecx, byte [esp + 8]
inc cl
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x34]
jne 0x413a50
mov esi, edi
mov edi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x14]
xor edx, dword [esp + 0xfc]
or edx, ecx
mov ecx, ebx
mov ebx, edi
mov edi, esi
lea esi, [esp + 0x2a0]
je 0x413cb0
mov byte [esp + 8], cl
mov byte [esp + 0xe5], cl
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x168], xmm0
mov edx, dword [eax]
sub esp, 0xc
movsd xmm0, qword [esp + 0x174]
movsd qword [esp + 4], xmm0
mov dword [esp], eax
lea ecx, [esp + 0x5c]
call dword [edx + 0x48]
test byte [esp + 0x58], 1
jne 0x413ab0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], eax
jmp 0x413b10
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x170]
push eax
call fcn.00410450
add esp, 0xc
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x413ae7
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x58], 1
je 0x413b10
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x50], 0
test ecx, ecx
je 0x413b10
mov eax, dword [ecx]
call dword [eax + 4]
nop word cs:[eax + eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x298], eax
sub esp, 8
movsd xmm0, qword [esp + 0x2a0]
movsd qword [esp], xmm0
mov ecx, ebx
call fcn.0041d198
mov edi, eax
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 + 0x20], eax
mov eax, dword [esp + 4]
sbb eax, edx
jb 0x413be7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 + 0x18]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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
mov ebx, dword [esp]
cmp dword [esp + 0x20], eax
mov eax, dword [esp + 4]
sbb eax, edx
jb 0x413cbc
mov ecx, esi
call fcn.0041d0fc
mov ecx, 0xffffffff
and edx, ecx
cmp edx, 0x13
jne 0x413a00
movdqu xmm0, xmmword [eax]
pcmpeqb xmm0, xmmword [0x41e0a0]
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 0x413a00
mov eax, dword [esp + 0x24]
and eax, ecx
cmp eax, 6
jne 0x413a00
mov eax, dword [edi]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edi + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x413a00
cmp dword [esp + 0x38], 6
jne 0x413a00
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
jne 0x413a00
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xa4]
mov dword [ecx + 0x3c], eax
movq xmm0, qword [esp + 0x10]
movq qword [ecx + 0x34], xmm0
movzx eax, word [esp + 0x3c]
or eax, 0x10
mov word [esp + 0xe6], ax
mov dword [esp + 0x38], 6
nop
cmp dword [esp + 0x24], 6
je 0x413ce0
jmp 0x413d88
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0xa4]
mov dword [ecx + 0x3c], eax
movq xmm0, qword [esp + 0x10]
movq qword [ecx + 0x34], xmm0
cmp dword [esp + 0x24], 6
jne 0x413d88
mov eax, dword [edi]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edi + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x413d1d
cmp dword [esp + 0x38], 6
jne 0x413d1d
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
je 0x41414c
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 0x413d5f
cmp dword [esp + 0x38], 6
jne 0x413d5f
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, 0x61645f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x6174
or ecx, eax
jne 0x413d88
mov al, 0x44
jmp 0x413d90
mov al, cl
test eax, eax
jne 0x413d88
cmp dword [esp + 0x38], 5
jne 0x413d88
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
mov ecx, 0x73625f5f
xor eax, ecx
movzx ecx, byte [edx + 4]
xor ecx, 0x73
or ecx, eax
je 0x414153
mov al, 0x53
nop word [eax + eax]
mov byte [esp + 0xa0], al
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x90]
call fcn.00412b20
mov ecx, esi
call fcn.0041d0fc
mov esi, edx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub edx, ecx
cmp edx, esi
jae 0x413dd0
lea ecx, [esp + 0x6c]
push esi
push eax
call fcn.0041cfca
mov ecx, dword [esp + 0x7c]
jmp 0x413de9
test esi, esi
je 0x413de9
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x7c]
add ecx, esi
mov dword [esp + 0x7c], ecx
cmp ecx, dword [esp + 0x78]
lea esi, [esp + 0x2a0]
jae 0x413e20
lea eax, [ecx + 1]
mov dword [esp + 0x7c], eax
mov byte [ecx], 0
mov eax, dword [esp + 0x4c]
test al, 8
je 0x413e33
mov ecx, esi
call fcn.0041d114
mov ecx, esi
test edx, edx
jne 0x413e80
call fcn.0041d0fc
jmp 0x413e85
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cfd0
mov eax, dword [esp + 0x4c]
test al, 8
jne 0x413e08
inc dword [esp + 0x2c]
test byte [esp + 0xe8], 1
je 0x413e50
push dword [esp + 0xf0]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xa4], 1
je 0x4135d0
push dword [esp + 0xac]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4135d0
call fcn.0041d114
mov esi, edx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub edx, ecx
cmp edx, esi
jae 0x413eb0
lea ecx, [esp + 0x6c]
push esi
push eax
call fcn.0041cfca
jmp 0x413ec3
test esi, esi
je 0x413ec3
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7c], esi
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x78]
jae 0x413ee0
lea ecx, [eax + 1]
mov dword [esp + 0x7c], ecx
mov byte [eax], 0
jmp 0x413eeb
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cfd0
lea esi, [esp + 0x2a0]
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.0041d114
mov ecx, esi
test edx, edx
jne 0x413f70
call fcn.0041d0fc
test eax, eax
je 0x413f79
cmp edx, 0xfffffff0
jae 0x415e1a
mov esi, eax
cmp edx, 0xb
jae 0x413f93
mov eax, edx
add al, dl
mov byte [esp + 0x10], al
lea edi, [esp + 0x11]
test edx, edx
jne 0x413fbc
nop dword [eax]
mov byte [edi + edx], 0
test byte [esp + 0x184], 1
jne 0x413fd9
jmp 0x413fe8
call fcn.0041d114
test eax, eax
jne 0x413f3d
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
jmp 0x413fe8
mov ebx, edx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x18], eax
add ebx, 2
mov dword [esp + 0x10], ebx
mov ebx, dword [esp]
mov dword [esp + 0x14], edx
push edx
push esi
push edi
mov esi, edx
call sub.msvcrt.dll_memmove
mov edx, esi
add esp, 0xc
mov byte [edi + edx], 0
test byte [esp + 0x184], 1
je 0x413fe8
push dword [esp + 0x18c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x171]
mov dword [ecx + 0x1b], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [ecx + 0x13], xmm0
lea esi, [esp + 0x2a0]
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a8], 0
movdqa xmm0, xmmword [0x41e0b0]
movdqu xmmword [esp + 0x1b4], xmm0
mov word [esp + 0x1c4], 1
mov ecx, esi
call fcn.0041d108
shl eax, 8
mov word [esp + 0x1c6], ax
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x170]
call fcn.00412b20
mov ecx, esi
call fcn.0041d114
mov ecx, esi
test edx, edx
jne 0x414080
call fcn.0041d0fc
jmp 0x414085
call fcn.0041d114
mov esi, edx
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
sub edx, ecx
cmp edx, esi
jae 0x4140b0
lea ecx, [esp + 0x6c]
push esi
push eax
call fcn.0041cfca
jmp 0x4140c3
test esi, esi
je 0x4140c3
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esp + 0x7c], esi
mov eax, dword [esp + 0x7c]
cmp eax, dword [esp + 0x78]
jae 0x4140f0
lea ecx, [eax + 1]
mov dword [esp + 0x7c], ecx
mov byte [eax], 0
lea esi, [esp + 0x2a0]
test byte [esp + 0x1c8], 1
jne 0x41410c
jmp 0x41411b
lea ecx, [esp + 0x6c]
push 0
call fcn.0041cfd0
lea esi, [esp + 0x2a0]
test byte [esp + 0x1c8], 1
je 0x41411b
push dword [esp + 0x1d0]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x184], 1
je 0x414134
push dword [esp + 0x18c]
call sub.libc.dll_operator_delete_void_
add esp, 4
add dword [esp + 0x2c], 2
test byte [esp + 0xe8], 1
jne 0x413e41
jmp 0x413e50
mov al, 0x54
jmp 0x413d90
mov al, 0x42
jmp 0x413d90
lea esi, [esp + 0x149]
imul edi, dword [esp + 0x28], 0x68
add edi, 0x58
neg dword [esp + 0x2c]
xor ebx, ebx
jmp 0x41418a
dec ebx
add edi, 0x68
cmp dword [esp + 0x2c], ebx
je 0x4141cb
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x414180
add ecx, edi
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x414180
sub dword [esp + 0x28], ebx
mov ebx, dword [esp]
mov dword [esp + 0x48], 0
lea eax, [esp + 0x48]
lea ecx, [esp + 0xc20]
push eax
push ebx
call fcn.0041d08a
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.0041d150
mov dword [esp + 4], 0
test al, al
je 0x41437f
mov eax, dword [esp + 0x48]
test eax, eax
je 0x41433e
mov dword [esp + 0x160], eax
mov dword [esp + 0x48], 0
mov ecx, ebx
call fcn.0041d1da
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 + 0x16c]
mov edx, eax
call fcn.0040bec0
add esp, 0xc
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x41433e
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 4], 0
je 0x4147d2
mov eax, dword [esp + 0x25c]
cmp eax, dword [esp + 0x254]
je 0x414365
lea ecx, [esp + 0x24c]
call fcn.0041cfbe
test byte [esp + 0x138], 1
je 0x414766
mov esi, dword [esp + 0x140]
jmp 0x41476d
lea edi, [esp + 0x2b4]
mov dword [esp + 4], 0
lea esi, [esp + 0x760]
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], 0
jmp 0x4143d2
inc dword [esp + 4]
mov ecx, esi
call fcn.0041d066
mov ecx, esi
lea eax, [esp + 0x90]
push eax
call fcn.0041d150
test al, al
jne 0x4142d4
mov ecx, esi
call fcn.0041d13e
mov ecx, dword [esp + 0x24]
cmp ecx, edx
jne 0x4143fb
test ecx, ecx
je 0x414759
push ecx
push eax
push dword [esp + 0x3c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4143b4
cmp byte [0x425a4c], 0
je 0x4144e0
mov ecx, esi
call fcn.0041d13e
mov dword [esp + 0x34], 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.0041d14a
shl eax, 8
mov word [esp + 0x2f6], ax
mov ecx, esi
call fcn.0041d13e
test eax, eax
je 0x4145d0
cmp edx, 0xfffffff0
jae 0x415e0e
mov esi, eax
cmp edx, 0xb
jae 0x4145f3
mov eax, edx
add al, dl
mov byte [esp + 0x170], al
lea edi, [esp + 0x171]
test edx, edx
jne 0x414625
nop word cs:[eax + eax]
mov byte [edi + edx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x2b4]
jne 0x414649
jmp 0x414658
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x414408
mov esi, 1
mov edi, 0x1c
mov dword [esp + 8], 0
nop word cs:[eax + eax]
movzx ebx, byte [eax + edi - 8]
test bl, 1
je 0x414540
mov ecx, dword [eax + edi]
mov dword [esp + 0x20], ecx
mov ebx, dword [eax + edi - 4]
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
je 0x41455b
jmp 0x414577
shr ebx, 1
add eax, edi
add eax, 0xfffffff9
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
jne 0x414577
test ebx, ebx
je 0x414571
push ebx
push eax
push dword [esp + 0x28]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x414577
mov al, 1
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
cmp esi, ecx
jae 0x4145a2
mov ecx, dword [esp + 8]
and cl, 1
inc esi
add edi, 0x68
test cl, cl
je 0x414510
test byte [esp + 8], 1
mov ebx, dword [esp]
lea edi, [esp + 0x2b4]
lea esi, [esp + 0x760]
jne 0x4143b4
jmp 0x414408
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x178], 0
jmp 0x414658
mov ebx, edx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x178], eax
add ebx, 2
mov dword [esp + 0x170], ebx
mov ebx, dword [esp]
mov dword [esp + 0x174], edx
push edx
push esi
push edi
mov esi, edx
call sub.msvcrt.dll_memmove
mov edx, esi
add esp, 0xc
mov byte [edi + edx], 0
test byte [esp + 0x2b4], 1
lea edi, [esp + 0x2b4]
je 0x414658
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 + 0xc]
lea edx, [esp + 0x2a0]
call fcn.00412b20
lea ecx, [esp + 0x760]
call fcn.0041d13e
mov esi, edx
mov edx, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
sub edx, ecx
cmp edx, esi
jae 0x4146c0
lea ecx, [esp + 0x24c]
push esi
push eax
call fcn.0041cfca
mov ecx, dword [esp + 0x25c]
jmp 0x4146df
test esi, esi
je 0x4146df
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x25c]
add ecx, esi
mov dword [esp + 0x25c], ecx
cmp ecx, dword [esp + 0x258]
lea esi, [esp + 0x760]
jae 0x414710
lea eax, [ecx + 1]
mov dword [esp + 0x25c], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x414728
jmp 0x414737
lea ecx, [esp + 0x24c]
push 0
call fcn.0041cfd0
test byte [esp + 0x2f8], 1
je 0x414737
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x4143b0
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4143b0
mov dword [esp + 0x24], 0
jmp 0x4143b4
lea esi, [esp + 0x139]
imul edi, dword [esp + 0x28], 0x68
add edi, 0x58
neg dword [esp + 4]
xor ebx, ebx
jmp 0x41478a
dec ebx
add edi, 0x68
cmp dword [esp + 4], ebx
je 0x4147cb
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x414780
add ecx, edi
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x414780
sub dword [esp + 0x28], ebx
mov ebx, dword [esp]
mov dword [esp + 0x60], 0
lea eax, [esp + 0x60]
lea ecx, [esp + 0xc20]
push eax
push ebx
call fcn.0041d07e
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.0041d150
mov dword [esp + 4], 0
test al, al
je 0x41497f
mov eax, dword [esp + 0x60]
test eax, eax
je 0x41493e
mov dword [esp + 0x15c], eax
mov dword [esp + 0x60], 0
mov ecx, ebx
call fcn.0041d1da
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 + 0x168]
mov edx, eax
call fcn.0040bec0
add esp, 0xc
mov ecx, dword [esp + 0x15c]
test ecx, ecx
je 0x41493e
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 4], 0
je 0x414db2
mov eax, dword [esp + 0x238]
cmp eax, dword [esp + 0x230]
je 0x414965
lea ecx, [esp + 0x228]
call fcn.0041cfbe
test byte [esp + 0x128], 1
je 0x414d49
mov esi, dword [esp + 0x130]
jmp 0x414d50
mov dword [esp + 4], 0
lea edi, [esp + 0x760]
xor esi, esi
mov dword [esp + 0x34], 0
jmp 0x4149c2
inc dword [esp + 4]
mov ecx, edi
call fcn.0041d066
mov ecx, edi
lea eax, [esp + 0x90]
push eax
call fcn.0041d150
test al, al
jne 0x4148d4
mov ecx, edi
call fcn.0041d13e
cmp esi, edx
jne 0x4149e7
test esi, esi
je 0x414b58
push esi
push eax
push dword [esp + 0x3c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4149a4
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x414ab8
mov dword [esp + 0x24], esi
mov esi, 1
mov edi, 0x1c
mov dword [esp + 8], 0
nop dword [eax]
movzx ebx, byte [eax + edi - 8]
test bl, 1
je 0x414a40
mov ecx, dword [eax + edi]
mov dword [esp + 0x20], ecx
mov ebx, dword [eax + edi - 4]
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
je 0x414a5b
jmp 0x414a77
shr ebx, 1
add eax, edi
add eax, 0xfffffff9
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
jne 0x414a77
test ebx, ebx
je 0x414a71
push ebx
push eax
push dword [esp + 0x28]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x414a77
mov al, 1
mov dword [esp + 8], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
cmp esi, ecx
jae 0x414aa2
mov ecx, dword [esp + 8]
and cl, 1
inc esi
add edi, 0x68
test cl, cl
je 0x414a10
test byte [esp + 8], 1
lea edi, [esp + 0x760]
mov esi, dword [esp + 0x24]
jne 0x414b50
mov ecx, edi
call fcn.0041d13e
mov dword [esp + 0x34], 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.0041d13e
test eax, eax
mov dword [esp + 0x24], esi
je 0x414b5f
mov ebx, edx
cmp edx, 0xfffffff0
jae 0x415e0e
mov ecx, eax
cmp ebx, 0xb
jae 0x414b82
mov eax, ebx
add al, bl
mov byte [esp + 0x170], al
lea esi, [esp + 0x171]
test ebx, ebx
jne 0x414bb8
nop word cs:[eax + eax]
mov byte [esi + ebx], 0
test byte [esp + 0x2b4], 1
jne 0x414bd1
jmp 0x414be0
mov ebx, dword [esp]
jmp 0x4149a4
xor esi, esi
jmp 0x4149a4
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x178], 0
jmp 0x414be0
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x178], eax
add edi, 2
mov dword [esp + 0x170], edi
lea edi, [esp + 0x760]
mov dword [esp + 0x174], ebx
push ebx
push ecx
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
test byte [esp + 0x2b4], 1
je 0x414be0
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.0041d14a
shl eax, 8
or eax, 1
mov word [esp + 0x2f6], ax
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x2a0]
call fcn.00412b20
mov ecx, edi
call fcn.0041d13e
mov esi, edx
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
sub edx, ecx
cmp edx, esi
mov ebx, dword [esp]
jae 0x414cb0
lea ecx, [esp + 0x228]
push esi
push eax
call fcn.0041cfca
mov ecx, dword [esp + 0x238]
jmp 0x414ccf
test esi, esi
je 0x414ccf
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x238]
add ecx, esi
mov dword [esp + 0x238], ecx
cmp ecx, dword [esp + 0x234]
mov esi, dword [esp + 0x24]
jae 0x414d00
lea eax, [ecx + 1]
mov dword [esp + 0x238], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x414d18
jmp 0x414d27
lea ecx, [esp + 0x228]
push 0
call fcn.0041cfd0
test byte [esp + 0x2f8], 1
je 0x414d27
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x4149a0
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4149a0
lea esi, [esp + 0x129]
imul edi, dword [esp + 0x28], 0x68
add edi, 0x58
neg dword [esp + 4]
xor ebx, ebx
jmp 0x414d6a
dec ebx
add edi, 0x68
cmp dword [esp + 4], ebx
je 0x414dab
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x414d60
add ecx, edi
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x414d60
sub dword [esp + 0x28], ebx
mov ebx, dword [esp]
mov dword [esp + 0x64], 0
lea eax, [esp + 0x64]
lea ecx, [esp + 0xc20]
push eax
push ebx
call fcn.0041d084
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.0041d150
mov dword [esp + 4], 0
test al, al
je 0x414f5f
mov eax, dword [esp + 0x64]
test eax, eax
je 0x414f1e
mov dword [esp + 0x158], eax
mov dword [esp + 0x64], 0
mov ecx, ebx
call fcn.0041d1da
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 + 0x164]
mov edx, eax
call fcn.0040bec0
add esp, 0xc
mov ecx, dword [esp + 0x158]
test ecx, ecx
je 0x414f1e
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esp + 4], 0
je 0x415362
mov eax, dword [esp + 0x214]
cmp eax, dword [esp + 0x20c]
je 0x414f45
lea ecx, [esp + 0x204]
call fcn.0041cfbe
test byte [esp + 0x118], 1
je 0x4152eb
mov esi, dword [esp + 0x120]
jmp 0x4152f2
mov dword [esp + 4], 0
lea edi, [esp + 0x760]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
jmp 0x414fa2
inc dword [esp + 4]
mov ecx, edi
call fcn.0041d066
mov ecx, edi
lea eax, [esp + 0x90]
push eax
call fcn.0041d150
test al, al
jne 0x414eb4
mov ecx, edi
call fcn.0041d13e
cmp dword [esp + 0x20], edx
jne 0x414fd3
xor esi, esi
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x415090
push ecx
push eax
push dword [esp + 0x2c]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x415090
mov ecx, edi
call fcn.0041d144
xor esi, esi
test al, 8
jne 0x415090
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp dword [ecx + 4], eax
je 0x4150b0
xor esi, esi
mov edi, 0x1c
jmp 0x415020
inc esi
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, eax
sar ecx, 3
imul ecx, ecx, 0xc4ec4ec5
add edi, 0x68
cmp esi, ecx
jae 0x4150b0
movzx ebx, byte [eax + edi - 8]
test bl, 1
je 0x415050
mov ecx, dword [eax + edi]
mov dword [esp + 8], ecx
mov ebx, dword [eax + edi - 4]
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
jne 0x415000
jmp 0x41506b
shr ebx, 1
add eax, edi
add eax, 0xfffffff9
mov dword [esp + 8], eax
lea ecx, [esp + 0x760]
call fcn.0041d13e
cmp ebx, edx
jne 0x415000
test ebx, ebx
je 0x415085
push ebx
push eax
push dword [esp + 0x10]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x415000
mov ebx, dword [esp]
lea edi, [esp + 0x760]
nop
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
imul ecx, esi, 0x68
cmp byte [eax + ecx + 0x10], 0x55
jne 0x414f84
or byte [eax + ecx + 0x56], 0x80
jmp 0x414f84
lea edi, [esp + 0x760]
mov ecx, edi
call fcn.0041d13e
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 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.0041d13e
test eax, eax
je 0x41512f
mov ebx, edx
cmp edx, 0xfffffff0
jae 0x415e0e
mov ecx, eax
cmp ebx, 0xb
jae 0x415152
mov eax, ebx
add al, bl
mov byte [esp + 0x170], al
lea esi, [esp + 0x171]
test ebx, ebx
jne 0x415188
mov byte [esi + ebx], 0
test byte [esp + 0x2b4], 1
jne 0x4151a1
jmp 0x4151b0
mov dword [esp + 0x174], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x178], 0
jmp 0x4151b0
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x178], eax
add edi, 2
mov dword [esp + 0x170], edi
lea edi, [esp + 0x760]
mov dword [esp + 0x174], ebx
push ebx
push ecx
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
test byte [esp + 0x2b4], 1
je 0x4151b0
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 + 0xc]
lea edx, [esp + 0x2a0]
call fcn.00412b20
mov ecx, edi
call fcn.0041d13e
mov esi, edx
mov edx, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
sub edx, ecx
cmp edx, esi
mov ebx, dword [esp]
jae 0x415261
lea ecx, [esp + 0x204]
push esi
push eax
call fcn.0041cfca
mov ecx, dword [esp + 0x214]
jmp 0x415280
test esi, esi
je 0x415280
push esi
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x214]
add ecx, esi
mov dword [esp + 0x214], ecx
cmp ecx, dword [esp + 0x210]
jae 0x4152a2
lea eax, [ecx + 1]
mov dword [esp + 0x214], eax
mov byte [ecx], 0
test byte [esp + 0x2f8], 1
jne 0x4152ba
jmp 0x4152c9
lea ecx, [esp + 0x204]
push 0
call fcn.0041cfd0
test byte [esp + 0x2f8], 1
je 0x4152c9
push dword [esp + 0x300]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2b4], 1
je 0x414f80
push dword [esp + 0x2bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x414f80
lea esi, [esp + 0x119]
imul edi, dword [esp + 0x28], 0x68
add edi, 0x58
neg dword [esp + 4]
xor ebx, ebx
jmp 0x41531a
dec ebx
add edi, 0x68
cmp dword [esp + 4], ebx
je 0x41535b
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + edi - 0x48], 0x49
jne 0x415310
add ecx, edi
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x415310
sub dword [esp + 0x28], ebx
mov ebx, dword [esp]
lea eax, [esp + 0x2b0]
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2a8], 8
mov ecx, ebx
call fcn.0041d162
cmp eax, edx
je 0x415427
mov esi, eax
mov edi, edx
mov dword [esp + 0x3c], 0xffffffff
lea ebx, [esp + 0xc20]
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 8], edx
jmp 0x4153e9
mov ecx, ebx
push esi
push dword [esp + 4]
call fcn.0041d174
mov eax, dword [esp + 0xc28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc2c]
mov dword [esp + 0x5c], eax
add esi, 0xc
cmp esi, edi
je 0x415437
mov eax, dword [esi + 4]
cmp eax, 0x80000028
je 0x4153c0
cmp eax, 0x26
jne 0x4153e2
mov ecx, ebx
push esi
mov edi, ebx
mov ebx, dword [esp + 4]
push ebx
call fcn.0041d192
mov ecx, ebx
mov ebx, edi
mov edi, dword [esp + 8]
lea eax, [esp + 0x2a0]
push eax
push 0
push dword [esp + 0xc30]
call fcn.0041d15c
jmp 0x4153e2
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], 0xffffffff
mov edx, dword [esp + 0x2a4]
test edx, edx
je 0x415c8b
mov dword [esp + 0x30], 0
xor esi, esi
mov dword [esp + 0x2c], 0
mov ebx, dword [esp]
jmp 0x415486
inc dword [esp + 0x2c]
mov edx, dword [esp + 0x2a4]
mov eax, dword [esp + 0x30]
add eax, 1
adc esi, 0
mov dword [esp + 0x30], eax
cmp eax, edx
mov eax, esi
sbb eax, 0
jae 0x415bed
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x41550b
mov dword [esp + 4], edx
sar eax, 3
imul eax, eax, 0xc4ec4ec5
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x30]
mov esi, dword [eax + edx*8]
add esi, dword [esp + 0x40]
mov dword [esp + 0x20], esi
mov edi, dword [eax + edx*8 + 4]
adc edi, dword [esp + 0x44]
mov eax, 1
xor ebx, ebx
nop dword [eax]
mov edx, dword [ecx]
xor edx, dword [esp + 0x20]
mov esi, dword [ecx + 4]
xor esi, edi
or esi, edx
movzx ebx, bl
mov edx, 1
cmove ebx, edx
cmp eax, dword [esp + 8]
jae 0x4154fb
mov edx, ebx
and dl, 1
inc eax
add ecx, 0x68
test dl, dl
je 0x4154d0
test bl, 1
mov ebx, dword [esp]
mov edx, dword [esp + 4]
jne 0x4159e0
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.0041d234
mov eax, dword [esp + 0x2a0]
mov edx, dword [esp + 0x30]
mov ecx, dword [eax + edx*8]
add ecx, dword [esp + 0x40]
mov eax, dword [eax + edx*8 + 4]
adc eax, dword [esp + 0x44]
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 + 4], eax
mov dword [esp + 0x178], eax
movq xmm0, qword [esi]
movq qword [esp + 0x170], xmm0
mov dword [esp + 8], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
jmp 0x415664
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 + 4]
jne 0x415695
mov ecx, dword [esp + 0x90]
xor ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x94]
xor edx, dword [esp + 0x174]
or edx, ecx
je 0x415943
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 + 0x1c]
call dword [edx + 0x48]
test byte [esp + 0x18], 1
jne 0x4156f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
jmp 0x415810
mov eax, dword [esp + 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
test eax, eax
je 0x4157e3
mov esi, dword [esp + 8]
mov eax, dword [esi]
mov ecx, esi
push dword [sym.imp.libLLVM_17.dll_llvm::ErrorList::ID]
call dword [eax + 0x18]
test al, al
je 0x4157c9
mov edi, dword [esi + 4]
mov esi, dword [esi + 8]
cmp edi, esi
je 0x4157da
xor ebx, ebx
jmp 0x41574b
add edi, 4
cmp edi, esi
je 0x4157da
mov dword [esp + 0x50], ebx
mov ebx, dword [edi]
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, ebx
push dword [sym.imp.libLLVM_17.dll_llvm::ErrorInfoBase::ID]
call dword [eax + 0x18]
test al, al
je 0x415771
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
xor ebx, ebx
mov dword [esp + 0x168], ebx
lea eax, [esp + 0x168]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x100]
push eax
call fcn.0040f520
add esp, 0xc
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4157b7
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x415740
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x415740
mov eax, dword [esi]
mov ecx, esi
push dword [sym.imp.libLLVM_17.dll_llvm::ErrorInfoBase::ID]
call dword [eax + 0x18]
test al, al
je 0x4157e3
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x18], 1
jne 0x4157f0
mov ebx, dword [esp]
jmp 0x415810
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
mov ebx, dword [esp]
je 0x415810
mov eax, dword [ecx]
call dword [eax + 4]
nop dword [eax + 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.0041d198
mov dword [esp + 0x20], eax
mov dword [esp + 8], edx
inc byte [esp + 0xc75]
mov edi, dword [esp + 0xc20]
mov esi, dword [esp + 0xc24]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x18]
movq qword [esp], xmm0
call dword [eax + 0x4c]
cmp edi, eax
sbb esi, edx
jb 0x415650
mov eax, dword [esp + 0xc20]
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0xc24]
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
sub esp, 8
movsd xmm0, qword [esp + 0x18]
movsd qword [esp], xmm0
call dword [eax + 0x4c]
mov esi, eax
mov edi, edx
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
sub esp, 8
movq xmm0, qword [esp + 0x18]
movq qword [esp], xmm0
call dword [eax + 0x54]
add eax, esi
adc edx, edi
cmp dword [esp + 0x24], eax
sbb ebx, edx
mov ebx, dword [esp]
jae 0x415650
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 + 8], 6
jne 0x415a20
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov ecx, 0x45545f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x5458
or ecx, eax
jne 0x41598f
cmp dword [esp + 0x34], 6
jne 0x41598f
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, 0x65745f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x7478
or ecx, eax
je 0x415bdf
mov edx, dword [esp + 0x20]
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 0x4159e9
cmp dword [esp + 0x34], 6
jne 0x4159e9
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, 0x61645f5f
xor eax, ecx
movzx ecx, word [edx + 4]
xor ecx, 0x6174
or ecx, eax
jne 0x415a20
mov al, 0x64
jmp 0x415a22
mov esi, dword [esp + 0x4c]
jmp 0x41546b
mov al, cl
test eax, eax
jne 0x415a20
cmp dword [esp + 0x34], 5
jne 0x415a20
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, 0x73625f5f
xor eax, ecx
movzx ecx, byte [edx + 4]
xor ecx, 0x73
or ecx, eax
je 0x415be6
nop word cs:[eax + eax]
mov al, 0x73
mov byte [esp + 0xc30], al
mov word [esp + 0xc76], 0
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xc20]
call fcn.00412b20
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx*8 + 4]
xor edx, dword [esp + 0x5c]
mov esi, dword [eax + ecx*8]
xor esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1f0]
sub ecx, eax
or esi, edx
jne 0x415ab0
cmp ecx, 0x11
mov esi, dword [esp + 0x4c]
ja 0x415ad7
lea ecx, [esp + 0x1e0]
push 0x12
push str._redacted_LC_MAIN_
call fcn.0041cfca
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jb 0x415b9c
jmp 0x415b05
cmp ecx, 0x12
mov esi, dword [esp + 0x4c]
ja 0x415b4e
lea ecx, [esp + 0x1e0]
push 0x13
push str._redacted_function
call fcn.0041cfca
mov ecx, eax
jmp 0x415b70
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 0x415b9c
lea ecx, [esp + 0x1e0]
push 0
call fcn.0041cfd0
test byte [esp + 0xc78], 1
je 0x415b2c
push dword [esp + 0xc80]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xc34], 1
je 0x415460
push dword [esp + 0xc3c]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x415460
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 + 0x34]
call fcn.0041cff4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x415bbc
mov byte [ecx], 0x3e
inc dword [eax + 0x10]
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jae 0x415b05
lea ecx, [eax + 1]
mov dword [esp + 0x1f0], ecx
mov byte [eax], 0
test byte [esp + 0xc78], 1
jne 0x415b1d
jmp 0x415b2c
mov ecx, eax
push 1
push 0x41fad6
call fcn.0041cfca
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1ec]
jb 0x415b9c
jmp 0x415b05
mov al, 0x74
jmp 0x415a22
mov al, 0x62
jmp 0x415a22
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x415c8b
mov eax, dword [esp + 0x1f0]
cmp eax, dword [esp + 0x1e8]
je 0x415c15
lea ecx, [esp + 0x1e0]
call fcn.0041cfbe
test byte [esp + 0x108], 1
je 0x415c28
mov esi, dword [esp + 0x110]
jmp 0x415c2f
lea esi, [esp + 0x109]
imul edi, dword [esp + 0x28], 0x68
add edi, 0x58
jmp 0x415c4a
mov ebx, dword [esp + 0x2c]
add edi, 0x68
dec ebx
je 0x415c8b
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
lea ecx, [eax + edi]
add ecx, 0xffffffbc
push esi
call fcn.0041d234
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 0x415c40
add ecx, edi
push esi
call fcn.0041d234
push esi
call sub.msvcrt.dll_strlen
add esp, 4
add esi, eax
inc esi
jmp 0x415c40
mov eax, dword [esp + 0x2a0]
lea ecx, [esp + 0x2b0]
cmp eax, ecx
je 0x415ca6
push eax
call sub.msvcrt.dll_free
add esp, 4
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x415cb3
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x415cc0
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x415ccd
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x415cda
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x1e0]
call fcn.0041cfd6
test byte [esp + 0x108], 1
jne 0x415d68
lea ecx, [esp + 0x204]
call fcn.0041cfd6
test byte [esp + 0x118], 1
jne 0x415d91
lea ecx, [esp + 0x228]
call fcn.0041cfd6
test byte [esp + 0x128], 1
jne 0x415dba
lea ecx, [esp + 0x24c]
call fcn.0041cfd6
test byte [esp + 0x138], 1
jne 0x415de3
lea ecx, [esp + 0x6c]
call fcn.0041cfd6
test byte [esp + 0x148], 1
je 0x415d60
push dword [esp + 0x150]
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 + 0x110]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x204]
call fcn.0041cfd6
test byte [esp + 0x118], 1
je 0x415d0a
push dword [esp + 0x120]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x228]
call fcn.0041cfd6
test byte [esp + 0x128], 1
je 0x415d24
push dword [esp + 0x130]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x24c]
call fcn.0041cfd6
test byte [esp + 0x138], 1
je 0x415d3e
push dword [esp + 0x140]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x6c]
call fcn.0041cfd6
test byte [esp + 0x148], 1
jne 0x415d51
jmp 0x415d60
lea ecx, [esp + 0x170]
call fcn.00407af0
lea ecx, [esp + 0x10]
call fcn.00407af0
int3