Function at 0x408700
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xba0
call sub.libLLVM_17.dll_LLVMInitializeARMTargetInfo
call sub.libLLVM_17.dll_LLVMInitializeAArch64TargetInfo
call sub.libLLVM_17.dll_LLVMInitializeX86TargetInfo
call sub.libLLVM_17.dll_LLVMInitializeARMTargetMC
call sub.libLLVM_17.dll_LLVMInitializeAArch64TargetMC
call sub.libLLVM_17.dll_LLVMInitializeX86TargetMC
call sub.libLLVM_17.dll_LLVMInitializeARMAsmParser
call sub.libLLVM_17.dll_LLVMInitializeAArch64AsmParser
call sub.libLLVM_17.dll_LLVMInitializeX86AsmParser
push pe_nt_image_headers32
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
xorps xmm0, xmm0
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x40], xmm0
movups xmmword [eax + 0x50], xmm0
movups xmmword [eax + 0x60], xmm0
mov dword [eax + 0x74], 0
mov dword [eax + 0x70], 0
mov eax, 0xff800000
and eax, dword [edi + 4]
or eax, 0x6f0
mov dword [edi + 4], eax
movaps xmm0, xmmword [0x413770]
movups xmmword [edi + 8], xmm0
mov dword [edi + 0x18], 0x32
mov dword [edi + 0x1c], 0x10
or byte [edi + 0x20], 1
mov dword [edi + 0x24], 8
mov dword [edi + 0x28], 0
mov byte [edi + 0x2c], 0
mov dword [edi], 1
push 0x28
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
call fcn.00411e92
mov ecx, esi
push 0
mov dword [esp + 0x2e8], edi
push edi
push eax
call fcn.004119d0
push 0x10
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov dword [eax], 0x6e616c63
mov dword [eax + 4], 0x632d2067
mov dword [eax + 8], 0x73613163
mov byte [eax + 0xc], 0
test byte [esi + 0x18], 1
je 0x408806
push dword [esi + 0x20]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esi + 0x18], 0x11
mov dword [esi + 0x1c], 0xc
mov dword [esi + 0x20], edi
push 8
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov ecx, eax
call fcn.00411964
mov eax, dword [edi]
mov dword [esp + 0x2ec], edi
add eax, 2
mov dword [esp + 0x310], edi
mov dword [edi], eax
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x2e8], eax
inc dword [eax]
lea eax, [esp + 0x2e8]
lea edx, [esp + 0x2ec]
lea ecx, [esp + 0x358]
push 1
push esi
push eax
push edx
call fcn.004119a6
mov esi, dword [esp + 0x2e8]
test esi, esi
je 0x40888d
dec dword [esi]
jne 0x40888d
mov ecx, esi
call fcn.00406560
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
lea edi, [ebp + 8]
mov esi, dword [esp + 0x2ec]
test esi, esi
je 0x4088af
dec dword [esi]
jne 0x4088af
mov ecx, esi
call fcn.0041196a
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
lea eax, [esp + 0x358]
push eax
push 0x40cf60
call fcn.00411d00
add esp, 8
lea eax, [esp + 0x1a4]
xorps xmm0, xmm0
movups xmmword [esp + 0x15c], xmm0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
movups xmmword [esp + 0x174], xmm0
movups xmmword [esp + 0x184], xmm0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], eax
lea ebx, [esp + 0x1c0]
lea esi, [esp + 0x1d8]
mov byte [esp + 0x238], 0
movups xmmword [esp + 0x19c], xmm0
movups xmmword [esp + 0x1ac], xmm0
movups xmmword [esp + 0x1bc], xmm0
movups xmmword [esp + 0x1cc], xmm0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1dc], 0
movups xmmword [esp + 0x1fc], xmm0
movups xmmword [esp + 0x205], xmm0
movups xmmword [esp + 0x248], xmm0
movups xmmword [esp + 0x23c], xmm0
lea ecx, [esp + 0x130]
push 0x413833
call fcn.00411fd6
and byte [esp + 0x16c], 0xfe
mov ecx, ebx
push 0x413834
call fcn.00411fd6
mov ecx, esi
push 0x413834
call fcn.00411fd6
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1ec], 0
and byte [esp + 0x16c], 0xef
mov dword [esp + 0x170], 0
and dword [esp + 0x1f0], 0xfffffe00
mov dword [esp + 0x1f4], 2
and byte [esp + 0x1f8], 0xfe
mov esi, dword [edi]
mov edi, dword [edi + 4]
call fcn.004119fa
mov dword [esp + 0x2d4], edi
mov dword [esp + 0x2d0], esi
sub esp, 0x1c
movsd xmm0, qword [esp + 0x2ec]
movsd qword [esp + 4], xmm0
lea ecx, [esp + 0x48]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x2dc]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], eax
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x800
lea ecx, [esp + 0x674]
call fcn.00411f76
cmp dword [esp + 0x2c], 0
je 0x408a87
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x199
test byte [esp + 0x404], 1
jne 0x408a92
mov word [esp + 0x404], 0
jmp 0x408aa7
mov al, 1
mov dword [esp + 0xc], eax
jmp 0x408b82
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x408b04
mov esi, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x408ae5
add edi, 0xffffffd8
je 0x408afa
test byte [esi + edi - 0x10], 1
je 0x408ae0
push dword [esi + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x408ae0
movzx eax, byte [esp + 0x418]
jmp 0x408b06
xor eax, eax
mov dword [esp + 0x560], 0
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x6b8]
mov ecx, dword [edx + ecx*4]
movzx edx, al
mov byte [esp + edx + 0x419], 1
mov dword [esp + edx*8 + 0x428], ecx
sar ecx, 0x1f
mov ebx, eax
inc bl
mov dword [esp + edx*8 + 0x42c], ecx
mov ecx, dword [esp + 0x2c]
movzx edx, bl
mov byte [esp + edx + 0x419], 3
add al, 2
mov byte [esp + 0x418], al
mov dword [esp + edx*8 + 0x428], ecx
mov dword [esp + edx*8 + 0x42c], 0
lea ecx, [esp + 0x358]
push 0
call fcn.0041199a
mov dword [esp + 0xc], 0
mov dword [esp + 0x258], 0x40
lea eax, [esp + 0x258]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 1
sub esp, 8
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
lea ecx, [esp + 0x660]
call fcn.00411f6a
mov esi, edx
mov ecx, dword [esp + 0x65c]
lea edi, [ecx + eax*4]
cmp eax, edx
je 0x408c0c
mov dword [esp + 8], ecx
lea ebx, [esi*4]
shl eax, 2
sub ebx, eax
jmp 0x408bec
add edi, 4
add ebx, 0xfffffffc
je 0x409069
mov ecx, dword [edi]
test ecx, ecx
je 0x408be0
mov dword [esp + 0x258], 0x40
push 0x40
call fcn.00411f58
test al, al
je 0x408be0
mov ecx, dword [esp + 8]
lea eax, [ecx + esi*4]
cmp edi, eax
je 0x409069
lea esi, [esp + 0x259]
lea ecx, [esp + 0x258]
lea ebx, [esp + 0xd0]
mov dword [esp + 8], eax
lea eax, [esp + 0x658]
push eax
push dword [edi]
call fcn.00411f52
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
movzx eax, byte [esp + 0x258]
mov ecx, eax
shr ecx, 1
test al, 1
mov eax, dword [esp + 0x260]
cmove eax, esi
mov dword [esp + 0x2c4], eax
cmovne ecx, dword [esp + 0x25c]
mov dword [esp + 0x2c8], ecx
sub esp, 0x1c
movsd xmm0, qword [esp + 0x2e0]
movsd qword [esp], xmm0
movaps xmm0, xmmword [0x413780]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 8], ebx
mov ecx, dword [esp + 0x20]
call fcn.00411f70
cmp eax, 2
jb 0x408cf0
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x1c8
test byte [esp + 0x404], 1
jne 0x408d23
mov word [esp + 0x404], 0
jmp 0x408d38
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x1c9
test byte [esp + 0x404], 1
jne 0x408dde
mov word [esp + 0x404], 0
jmp 0x408df3
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x48], eax
mov word [esp + 0x4c], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x408db0
mov esi, dword [esp + 0x55c]
shl eax, 3
lea ebx, [eax + eax*4]
jmp 0x408d95
add ebx, 0xffffffd8
je 0x408db0
test byte [esi + ebx - 0x10], 1
je 0x408d90
push dword [esi + ebx - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x408d90
mov dword [esp + 0x560], 0
movzx eax, byte [esp + 0x258]
test al, 1
je 0x408e9e
mov ecx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
jmp 0x408ea7
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x48], eax
mov word [esp + 0x4c], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x408e70
mov esi, dword [esp + 0x55c]
shl eax, 3
lea ebx, [eax + eax*4]
jmp 0x408e55
add ebx, 0xffffffd8
je 0x408e70
test byte [esi + ebx - 0x10], 1
je 0x408e50
push dword [esi + ebx - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x408e50
mov dword [esp + 0x560], 0
movzx eax, byte [esp + 0x258]
test al, 1
je 0x408fbe
mov ecx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
jmp 0x408fc7
shr eax, 1
lea ecx, [esp + 0x259]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
sub esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.004060b0
cmp byte [esp + 0x4c], 0
mov ebx, dword [esp + 8]
je 0x408eef
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x4d]
push eax
call fcn.0041199a
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x408f30
mov eax, dword [esp + 0x44]
test eax, eax
je 0x408f30
cmp esi, eax
jb 0x40903e
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40903e
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
nop dword [eax + eax]
test byte [esp + 0xd0], 1
je 0x408f49
push dword [esp + 0xd8]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x258], 1
je 0x408f70
push dword [esp + 0x260]
call sub.libc.dll_operator_delete_void_
add esp, 4
nop word cs:[eax + eax]
add edi, 4
cmp edi, ebx
je 0x409061
mov ecx, dword [edi]
test ecx, ecx
je 0x408f70
mov dword [esp + 0x40], 0x40
push 0x40
call fcn.00411f58
test al, al
je 0x408f70
mov dword [esp + 0xc], 0
cmp edi, ebx
lea esi, [esp + 0x259]
lea ecx, [esp + 0x258]
lea ebx, [esp + 0xd0]
jne 0x408c30
jmp 0x409069
shr eax, 1
lea ecx, [esp + 0x259]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
sub esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.004060b0
movzx eax, byte [esp + 0xd0]
test al, 1
je 0x409002
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
jmp 0x40900b
shr eax, 1
lea ecx, [esp + 0xd1]
mov ebx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
sub esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.004060b0
cmp byte [esp + 0x4c], 0
jne 0x408ed1
jmp 0x408eef
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xd0], 1
jne 0x408f3a
jmp 0x408f49
mov dword [esp + 0xc], 0
mov dword [esp + 0x32c], 0xb9c
mov dword [esp + 0x128], 0x413833
mov dword [esp + 0x12c], 0
sub esp, 0xc
movsd xmm0, qword [esp + 0x134]
movsd qword [esp + 4], xmm0
mov dword [esp], 0xb9c
lea ecx, [esp + 0x664]
call fcn.00411f64
mov dword [esp + 0x114], edx
mov dword [esp + 0x110], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x11c]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x4c]
mov dword [esp], eax
call fcn.00411ed4
add esp, 0xc
test byte [esp + 0x130], 1
je 0x4090f7
push dword [esp + 0x138]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x138], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x130], xmm0
lea ecx, [esp + 0x658]
push 0xfe
call fcn.00405500
test eax, eax
je 0x409209
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov word [esp + 0x268], 0x101
cmp byte [eax], 0
je 0x409149
mov dword [esp + 0x258], eax
mov al, 3
jmp 0x40914b
mov al, 1
lea edx, [esp + 0x258]
mov byte [esp + 0x268], al
lea ecx, [esp + 0x40]
push edx
call fcn.00411eda
lea esi, [esp + 0x214]
cmp byte [esp + 0x238], 0
je 0x4091bc
test byte [esp + 0x214], 1
je 0x40918d
push dword [esp + 0x21c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
movups xmm0, xmmword [esp + 0x4c]
movaps xmmword [esp + 0x220], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x230], xmm0
jmp 0x409209
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
movups xmm0, xmmword [esp + 0x4c]
movaps xmmword [esp + 0x220], xmm0
movsd xmm0, qword [esp + 0x5c]
movsd qword [esp + 0x230], xmm0
mov byte [esp + 0x238], 1
lea ecx, [esp + 0x658]
push 0xfd
call fcn.00405500
test eax, eax
je 0x409595
mov esi, eax
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x304], eax
test eax, eax
je 0x409247
push eax
call sub.msvcrt.dll_strlen
add esp, 4
jmp 0x409249
xor eax, eax
mov dword [esp + 0x308], eax
sub esp, 8
movsd xmm0, qword [esp + 0x30c]
movsd qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.00411ae4
test al, al
je 0x40929a
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x18d
test byte [esp + 0x404], 1
jne 0x4092ae
mov word [esp + 0x404], 0
jmp 0x4092c3
movaps xmm0, xmmword [esp + 0x40]
lea eax, [esp + 0x23c]
movups xmmword [eax], xmm0
jmp 0x409595
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x260], eax
mov word [esp + 0x264], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x40934a
mov ebx, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x409335
add edi, 0xffffffd8
je 0x40934a
test byte [ebx + edi - 0x10], 1
je 0x409330
push dword [ebx + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409330
mov dword [esp + 0x560], 0
lea ecx, [esp + 0xd0]
lea eax, [esp + 0x658]
push eax
push esi
call fcn.00411f52
movzx eax, byte [esp + 0xd0]
test al, 1
je 0x409386
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
jmp 0x40938f
shr eax, 1
lea ecx, [esp + 0xd1]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
sub esp, 8
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
lea ecx, [esp + 0x260]
call fcn.004060b0
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov esi, dword [esp + 0x258]
test esi, esi
jne 0x4094d7
mov eax, dword [esp + 0x25c]
mov ecx, dword [eax + 0x2440]
test ecx, ecx
je 0x40943d
mov dword [esp + 4], edi
lea edx, [ecx - 1]
mov dword [eax + 0x2440], edx
mov esi, dword [eax + ecx*4 + 0x23fc]
mov byte [esi], 0
mov dword [esi + 0xdc], 0
mov eax, dword [esi + 0x148]
test eax, eax
je 0x40942a
mov ebx, dword [esi + 0x144]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x409415
add edi, 0xffffffd8
je 0x40942a
test byte [ebx + edi - 0x10], 1
je 0x409410
push dword [ebx + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409410
mov dword [esi + 0x148], 0
mov edi, dword [esp + 4]
jmp 0x4094d0
push 0x240
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov byte [eax], 0
xorps xmm0, xmm0
movups xmmword [eax + 0x60], xmm0
movups xmmword [eax + 0x70], xmm0
movups xmmword [eax + 0x80], xmm0
movups xmmword [eax + 0x90], xmm0
movups xmmword [eax + 0xa0], xmm0
movups xmmword [eax + 0xb0], xmm0
movups xmmword [eax + 0xc0], xmm0
mov dword [eax + 0xd4], 0
mov dword [eax + 0xd0], 0
add eax, 0xe4
mov dword [esi + 0xd8], eax
mov dword [esi + 0xdc], 0
mov dword [esi + 0xe0], 8
lea eax, [esi + 0x150]
mov dword [esi + 0x144], eax
mov dword [esi + 0x148], 0
mov dword [esi + 0x14c], 6
mov dword [esp + 0x258], esi
mov eax, edi
sar eax, 0x1f
movzx ecx, byte [esi]
mov byte [esi + ecx + 1], 1
mov ecx, dword [esp + 0x258]
movzx edx, byte [ecx]
mov ebx, edx
inc bl
mov byte [ecx], bl
mov dword [ecx + edx*8 + 0x14], eax
mov dword [ecx + edx*8 + 0x10], edi
test byte [esp + 0xd0], 1
je 0x409515
push dword [esp + 0xd8]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x264], 0
je 0x409549
mov ecx, dword [esp + 0x260]
movzx eax, byte [esp + 0x265]
push eax
call fcn.0041199a
mov dword [esp + 0x260], 0
mov word [esp + 0x264], 0
mov esi, dword [esp + 0x258]
test esi, esi
je 0x409595
mov eax, dword [esp + 0x25c]
test eax, eax
je 0x409595
cmp esi, eax
jb 0x409585
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x409585
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x409595
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esp + 0x2f0], 0xb87
mov dword [esp + 0x18], 0x413833
mov dword [esp + 0x1c], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x24]
movq qword [esp + 4], xmm0
mov dword [esp], 0xb87
lea ebx, [esp + 0x664]
mov ecx, ebx
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov edi, eax
cmp edx, 0xb
jae 0x40968a
mov eax, edx
add al, dl
mov byte [esp + 0x40], al
lea esi, [esp + 0x41]
test edx, edx
jne 0x4096b7
mov byte [esi + edx], 0
lea esi, [esp + 0x13c]
test byte [esp + 0x13c], 1
je 0x409620
push dword [esp + 0x144]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov dword [esp + 0x354], 0xb88
lea edi, [esp + 0x40]
mov ecx, edi
push 0xb88
push ebx
call fcn.00411f5e
mov esi, dword [esp + 0x148]
test esi, esi
je 0x409701
mov edi, ebx
mov ebx, dword [esp + 0x14c]
mov eax, esi
cmp ebx, esi
jne 0x409677
jmp 0x4096eb
add ebx, 0xfffffff4
cmp ebx, esi
je 0x4096e4
test byte [ebx - 0xc], 1
je 0x409670
push dword [ebx - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409670
mov ebx, edx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov esi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
lea ebx, [esp + 0x658]
mov dword [esp + 0x44], edx
push edx
push edi
push esi
mov edi, edx
call sub.msvcrt.dll_memmove
mov edx, edi
add esp, 0xc
mov byte [esi + edx], 0
lea esi, [esp + 0x13c]
test byte [esp + 0x13c], 1
jne 0x409611
jmp 0x409620
mov eax, dword [esp + 0x148]
mov dword [esp + 0x14c], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ebx, edi
lea edi, [esp + 0x40]
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x148], xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x150], eax
movzx eax, byte [esp + 0x130]
test al, 1
je 0x409734
mov eax, dword [esp + 0x134]
test eax, eax
jne 0x409776
jmp 0x40973a
shr eax, 1
test eax, eax
jne 0x409776
push edi
call fcn.00411e32
add esp, 4
test byte [esp + 0x130], 1
je 0x40975c
push dword [esp + 0x138]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x138], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x130], xmm0
mov dword [esp + 0x350], 0x77f
lea ecx, [esp + 0x40]
push 0x77f
push ebx
call fcn.00411f5e
mov esi, dword [esp + 0x160]
test esi, esi
je 0x4097e1
mov edi, dword [esp + 0x164]
mov eax, esi
cmp edi, esi
jne 0x4097b7
jmp 0x4097d1
add edi, 0xfffffff4
cmp edi, esi
je 0x4097ca
test byte [edi - 0xc], 1
je 0x4097b0
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x4097b0
mov eax, dword [esp + 0x160]
mov dword [esp + 0x164], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x160], xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x168], eax
lea esi, [esp + 0x658]
mov ecx, esi
push 0xa8a
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x16c]
and eax, 0xfffffffe
or eax, ecx
mov dword [esp + 0x16c], eax
mov ecx, esi
push 0x9d4
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x16c]
and eax, 0xfffffffd
lea eax, [eax + ecx*2]
mov dword [esp + 0x16c], eax
mov ecx, esi
push 0x104
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x16c]
and eax, 0xfffffffb
lea eax, [eax + ecx*4]
mov dword [esp + 0x16c], eax
mov ecx, esi
push 0xd7
call fcn.00405500
test eax, eax
je 0x4098d0
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
xor esi, esi
test edi, edi
je 0x4098c9
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 4
jne 0x4098c9
cmp dword [edi], 0x656e6f6e
je 0x4098c0
cmp dword [edi], 0x62696c7a
je 0x4098c4
xor esi, esi
cmp dword [edi], 0x6474737a
jne 0x4098c9
mov esi, 2
jmp 0x4098c9
xor esi, esi
jmp 0x4098c9
mov esi, 1
mov dword [esp + 0x1a4], esi
lea esi, [esp + 0x658]
mov ecx, esi
push 0x9c7
call fcn.00405500
xor ecx, ecx
test eax, eax
sete cl
mov eax, dword [esp + 0x16c]
and eax, 0xfffffff7
lea eax, [eax + ecx*8]
mov dword [esp + 0x16c], eax
mov ecx, esi
push 0x6e5
push 0x6e6
call fcn.0040cfa0
test eax, eax
je 0x409943
mov dword [esp + 0x34c], 0x6e6
mov ecx, eax
push 0x6e6
call fcn.00411f58
mov ecx, dword [esp + 0x16c]
movzx eax, al
shl eax, 4
and ecx, 0xffffffef
or ecx, eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x40], 0x132
push 0
lea eax, [esp + 0x35c]
push eax
push 2
push 0x132
push esi
call fcn.004119c4
add esp, 0x14
mov dword [esp + 0x170], eax
mov dword [esp + 0x328], 0x12e
mov dword [esp + 0x120], 0x413833
mov dword [esp + 0x124], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x12c]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x334]
mov dword [esp], eax
mov ecx, esi
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov ecx, eax
mov ebx, edx
cmp edx, 0xb
jae 0x409d1e
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test ebx, ebx
jne 0x409d46
lea esi, [esp + 0x174]
mov byte [edi + ebx], 0
test byte [esp + 0x174], 1
je 0x4099fe
push dword [esp + 0x17c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov dword [esp + 0x324], 0x12f
mov dword [esp + 0x2fc], 0x413833
mov dword [esp + 0x300], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x308]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x330]
mov dword [esp], eax
lea ecx, [esp + 0x664]
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov ecx, eax
mov ebx, edx
cmp edx, 0xb
jae 0x409d6f
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test ebx, ebx
jne 0x409d97
mov byte [edi + ebx], 0
lea esi, [esp + 0x180]
test byte [esp + 0x180], 1
je 0x409aa6
push dword [esp + 0x188]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
lea ecx, [esp + 0x658]
push 0x205
push 0x283
call fcn.0040cfa0
test eax, eax
je 0x409ae2
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x18c]
push dword [eax]
call fcn.00411fd6
mov dword [esp + 0x348], 0x7b2
mov dword [esp + 0x2f4], 0x413833
mov dword [esp + 0x2f8], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x300]
movq qword [esp + 4], xmm0
mov dword [esp], 0x7b2
lea ebx, [esp + 0x664]
mov ecx, ebx
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov esi, eax
cmp edx, 0xb
jae 0x409dc0
mov eax, edx
add al, dl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test edx, edx
jne 0x409ded
mov byte [edi + edx], 0
lea esi, [esp + 0x1a8]
test byte [esp + 0x1a8], 1
je 0x409b76
push dword [esp + 0x1b0]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov dword [esp + 0x344], 0x217
lea ecx, [esp + 0x258]
push 0x217
push ebx
call fcn.00411f5e
mov esi, dword [esp + 0x258]
mov eax, dword [esp + 0x25c]
mov dword [esp + 4], eax
cmp esi, eax
je 0x409ce3
nop
lea edi, [esi + 1]
test byte [esi], 1
mov eax, edi
je 0x409bcd
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
movzx eax, byte [esi]
test al, 1
je 0x409be0
mov eax, dword [esi + 4]
jmp 0x409be2
shr eax, 1
mov dword [esp + 0x14], eax
mov byte [esp + 0x100], 0x3d
mov eax, 1
mov dword [esp + 0xd4], eax
lea eax, [esp + 0x100]
mov dword [esp + 0xd0], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0xdc]
movsd qword [esp], xmm0
mov dword [esp + 8], 0
lea ecx, [esp + 0x1c]
call fcn.00411fb2
cmp eax, 0xffffffff
je 0x409c60
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
cmp eax, esi
mov edx, esi
cmovb edx, eax
inc eax
cmp esi, eax
cmovb eax, esi
lea ebx, [ecx + eax]
sub esi, eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ebx
jmp 0x409c78
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x19c]
cmp eax, dword [esp + 0x1a0]
jae 0x409cc4
lea ecx, [eax + eax*2]
shl ecx, 3
add ecx, dword [esp + 0x198]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0040d470
inc dword [esp + 0x19c]
add edi, 0xb
mov esi, edi
cmp edi, dword [esp + 4]
jne 0x409bc0
jmp 0x409cdc
lea ecx, [esp + 0x198]
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0040d250
jmp 0x409cb3
mov esi, dword [esp + 0x258]
test esi, esi
je 0x409e31
mov edi, dword [esp + 0x25c]
mov eax, esi
cmp edi, esi
jne 0x409d0b
jmp 0x409e21
add edi, 0xfffffff4
cmp edi, esi
je 0x409e1a
test byte [edi - 0xc], 1
je 0x409d00
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409d00
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
mov ebx, esi
mov dword [esp + 0x44], esi
push ebx
push ecx
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
lea esi, [esp + 0x174]
mov byte [edi + ebx], 0
test byte [esp + 0x174], 1
jne 0x4099ef
jmp 0x4099fe
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
mov ebx, esi
mov dword [esp + 0x44], esi
push ebx
push ecx
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
lea esi, [esp + 0x180]
test byte [esp + 0x180], 1
jne 0x409a97
jmp 0x409aa6
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 + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
lea ebx, [esp + 0x658]
mov dword [esp + 0x44], 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
lea esi, [esp + 0x1a8]
test byte [esp + 0x1a8], 1
jne 0x409b67
jmp 0x409b76
mov eax, dword [esp + 0x258]
mov dword [esp + 0x25c], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
lea edi, [esp + 0x658]
mov ecx, edi
push 0x3f
call fcn.00405500
test eax, eax
je 0x40a125
mov dword [esp + 0x258], 0x3f
lea eax, [esp + 0x258]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 1
sub esp, 8
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
lea ecx, [esp + 0x660]
call fcn.00411f6a
mov esi, edx
mov ecx, dword [esp + 0x65c]
lea ebx, [ecx + eax*4]
cmp eax, edx
je 0x409ee3
mov dword [esp + 4], ecx
lea edi, [esi*4]
shl eax, 2
sub edi, eax
jmp 0x409ebc
add ebx, 4
add edi, 0xfffffffc
je 0x40a11e
mov ecx, dword [ebx]
test ecx, ecx
je 0x409eb0
mov dword [esp + 0x258], 0x3f
push 0x3f
call fcn.00411f58
test al, al
je 0x409eb0
lea edi, [esp + 0x658]
mov ecx, dword [esp + 4]
lea esi, [ecx + esi*4]
cmp ebx, esi
je 0x40a125
mov cl, 1
mov dword [esp + 0xfc], esi
mov eax, dword [ebx]
test cl, 1
jne 0x409f2e
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x1c8
test byte [esp + 0x404], 1
mov dword [esp + 8], eax
jne 0x409f4c
mov word [esp + 0x404], 0
jmp 0x409f61
mov eax, dword [eax + 0x1c]
lea ecx, [esp + 0x1c0]
push dword [eax]
call fcn.00411fd6
mov dword [esp + 4], 0
jmp 0x40a0f0
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x48], eax
mov word [esp + 0x4c], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
mov dword [esp + 4], ecx
je 0x409fe0
mov esi, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x409fc5
add edi, 0xffffffd8
je 0x409fe0
test byte [esi + edi - 0x10], 1
je 0x409fc0
push dword [esi + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x409fc0
mov dword [esp + 0x560], 0
lea ecx, [esp + 0x258]
lea eax, [esp + 0x658]
push eax
push dword [esp + 0xc]
call fcn.00411f52
movzx eax, byte [esp + 0x258]
test al, 1
je 0x40a01f
mov ecx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
jmp 0x40a028
shr eax, 1
lea ecx, [esp + 0x259]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
sub esp, 8
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.004060b0
test byte [esp + 0x258], 1
lea edi, [esp + 0x658]
je 0x40a070
push dword [esp + 0x260]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x4c], 0
je 0x40a095
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x4d]
push eax
call fcn.0041199a
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a0e0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x40a0e0
cmp esi, eax
jb 0x40a0cb
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40a0cb
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x40a0e0
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
nop dword [eax + eax]
mov dword [esp + 0xc], 0
mov esi, dword [esp + 0xfc]
nop
add ebx, 4
cmp ebx, esi
je 0x40a125
mov ecx, dword [ebx]
test ecx, ecx
je 0x40a0f0
mov dword [esp + 0x40], 0x3f
push 0x3f
call fcn.00411f58
test al, al
je 0x40a0f0
cmp ebx, esi
mov ecx, dword [esp + 4]
jne 0x409ef7
jmp 0x40a125
lea edi, [esp + 0x658]
mov dword [esp + 0x340], 0x87d
lea ecx, [esp + 0x40]
push 0x87d
push edi
call fcn.00411f5e
mov esi, dword [esp + 0x1cc]
test esi, esi
je 0x40a191
mov edi, dword [esp + 0x1d0]
mov eax, esi
cmp edi, esi
jne 0x40a167
jmp 0x40a181
add edi, 0xfffffff4
cmp edi, esi
je 0x40a17a
test byte [edi - 0xc], 1
je 0x40a160
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40a160
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x1cc], xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x33c], 0xacd
mov dword [esp + 0x10], 0x413833
mov dword [esp + 0x14], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x1c]
movq qword [esp + 4], xmm0
mov dword [esp], 0xacd
lea ecx, [esp + 0x664]
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov ecx, eax
mov ebx, edx
cmp edx, 0xb
jae 0x40a37a
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test ebx, ebx
jne 0x40a3a2
mov byte [edi + ebx], 0
test byte [esp + 0x1d8], 1
je 0x40a22f
push dword [esp + 0x1e0]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x1d8]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [ecx], xmm0
mov dword [esp + 0x320], 0xb66
mov dword [esp + 0x100], 0x413833
mov dword [esp + 0x104], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x10c]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x32c]
mov dword [esp], eax
lea ecx, [esp + 0x664]
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov ecx, eax
mov ebx, edx
cmp edx, 0xb
jae 0x40a3c4
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test ebx, ebx
jne 0x40a3ec
mov byte [edi + ebx], 0
lea esi, [esp + 0x1b4]
test byte [esp + 0x1b4], 1
je 0x40a2de
push dword [esp + 0x1bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
lea edi, [esp + 0x658]
mov ecx, edi
push 0x2f5
call fcn.00405500
test eax, eax
je 0x40a613
mov esi, eax
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax]
test ebx, ebx
je 0x40a415
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 4
je 0x40a419
cmp eax, 3
jne 0x40a42a
movzx eax, word [ebx]
xor eax, 0x7361
movzx ecx, byte [ebx + 2]
xor ecx, 0x6d
or cx, ax
je 0x40b241
movzx eax, word [ebx]
xor eax, 0x626f
movzx ecx, byte [ebx + 2]
xor ecx, 0x6a
or cx, ax
mov eax, 3
jne 0x40a42a
mov eax, 2
mov dword [esp + 0x1e4], eax
jmp 0x40a613
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
mov ebx, esi
mov dword [esp + 0x44], esi
push ebx
push ecx
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
test byte [esp + 0x1d8], 1
jne 0x40a220
jmp 0x40a22f
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
mov ebx, esi
mov dword [esp + 0x44], esi
push ebx
push ecx
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
lea esi, [esp + 0x1b4]
test byte [esp + 0x1b4], 1
jne 0x40a2cf
jmp 0x40a2de
xor eax, eax
jmp 0x40a42a
mov eax, 4
cmp dword [ebx], 0x6c6c756e
je 0x40b24f
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x18d
test byte [esp + 0x404], 1
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
jne 0x40a45e
mov word [esp + 0x404], 0
jmp 0x40a473
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x48], eax
mov word [esp + 0x4c], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x40a4ea
mov edi, dword [esp + 0x55c]
shl eax, 3
lea ebx, [eax + eax*4]
jmp 0x40a4d5
add ebx, 0xffffffd8
je 0x40a4ea
test byte [edi + ebx - 0x10], 1
je 0x40a4d0
push dword [edi + ebx - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40a4d0
mov dword [esp + 0x560], 0
lea ecx, [esp + 0x258]
lea edi, [esp + 0x658]
push edi
push esi
call fcn.00411f52
movzx eax, byte [esp + 0x258]
test al, 1
je 0x40a526
mov ecx, dword [esp + 0x260]
mov eax, dword [esp + 0x25c]
jmp 0x40a52f
shr eax, 1
lea ecx, [esp + 0x259]
mov ebx, dword [esp + 4]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
sub esp, 8
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp], xmm0
lea esi, [esp + 0x48]
mov ecx, esi
call fcn.004060b0
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
sub esp, 8
movsd xmm0, qword [esp + 0xd8]
movsd qword [esp], xmm0
mov ecx, esi
call fcn.004060b0
test byte [esp + 0x258], 1
je 0x40a5a0
push dword [esp + 0x260]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x4c], 0
je 0x40a5c5
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x4d]
push eax
call fcn.0041199a
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40a60b
mov eax, dword [esp + 0x44]
test eax, eax
je 0x40a60b
cmp esi, eax
jb 0x40a5fb
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40a5fb
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x40a60b
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esp + 0xc], 0
mov ecx, edi
push 0x744
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1e8]
and eax, 0xfffffffe
or eax, ecx
mov dword [esp + 0x1e8], eax
mov ecx, edi
push 0xbc4
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1e8]
and eax, 0xfffffffd
lea eax, [eax + ecx*2]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x40], 0xac2
push 0
lea eax, [esp + 0x35c]
push eax
push 0
push 0xac2
push edi
call fcn.004119c4
add esp, 0x14
mov dword [esp + 0x1ec], eax
mov ecx, edi
push 0xb56
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
and eax, 0xfffffffe
or eax, ecx
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0xb58
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
and eax, 0xfffffffd
lea eax, [eax + ecx*2]
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0x9c5
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
and eax, 0xfffffffb
lea eax, [eax + ecx*4]
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0x98c
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
and eax, 0xfffffff7
lea eax, [eax + ecx*8]
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0x7c8
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
shl ecx, 4
and eax, 0xffffffef
or eax, ecx
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0x7c9
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
shl ecx, 5
and eax, 0xffffffdf
or eax, ecx
mov dword [esp + 0x1f0], eax
mov ecx, edi
push 0x970
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f0]
shl ecx, 6
and eax, 0xffffffbf
or eax, ecx
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x31c], 0x9ca
mov dword [esp + 0x258], 0x413852
mov dword [esp + 0x25c], 3
sub esp, 0xc
movq xmm0, qword [esp + 0x264]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x328]
mov dword [esp], eax
mov ecx, edi
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov ecx, eax
mov ebx, edx
cmp edx, 0xb
jae 0x40a96e
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea edi, [esp + 0x41]
test ebx, ebx
jne 0x40a996
lea esi, [esp + 0x1fc]
mov byte [edi + ebx], 0
test byte [esp + 0x1fc], 1
je 0x40a831
push dword [esp + 0x204]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov dword [esp + 0x318], 0xb86
mov dword [esp + 0xd0], 0x413833
mov dword [esp + 0xd4], 0
sub esp, 0xc
movq xmm0, qword [esp + 0xdc]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x324]
mov dword [esp], eax
lea ebx, [esp + 0x664]
mov ecx, ebx
call fcn.00411f64
cmp edx, 0xfffffff0
jae 0x40cf4f
mov edi, eax
cmp edx, 0xb
jae 0x40a9bf
mov eax, edx
add al, dl
mov byte [esp + 0x40], al
lea esi, [esp + 0x41]
test edx, edx
jne 0x40a9ec
mov byte [esi + edx], 0
lea esi, [esp + 0x208]
test byte [esp + 0x208], 1
je 0x40a8d9
push dword [esp + 0x210]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esi], xmm0
mov ecx, ebx
push 0x858
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, 0xffffff7f
and eax, dword [esp + 0x1f0]
shl ecx, 7
or eax, ecx
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x338], 0x10c
lea ecx, [esp + 0x40]
push 0x10c
push ebx
call fcn.00411f5e
mov esi, dword [esp + 0x154]
test esi, esi
je 0x40aa30
mov edi, dword [esp + 0x158]
mov eax, esi
cmp edi, esi
jne 0x40a95b
jmp 0x40aa20
add edi, 0xfffffff4
cmp edi, esi
je 0x40aa19
test byte [edi - 0xc], 1
je 0x40a950
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40a950
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
add esp, 4
mov edi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
mov ebx, esi
mov dword [esp + 0x44], esi
push ebx
push ecx
push edi
call sub.msvcrt.dll_memmove
add esp, 0xc
lea esi, [esp + 0x1fc]
mov byte [edi + ebx], 0
test byte [esp + 0x1fc], 1
jne 0x40a822
jmp 0x40a831
mov ebx, edx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov esi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x48], eax
add ebx, 2
mov dword [esp + 0x40], ebx
lea ebx, [esp + 0x658]
mov dword [esp + 0x44], edx
push edx
push edi
push esi
mov edi, edx
call sub.msvcrt.dll_memmove
mov edx, edi
add esp, 0xc
mov byte [esi + edx], 0
lea esi, [esp + 0x208]
test byte [esp + 0x208], 1
jne 0x40a8ca
jmp 0x40a8d9
mov eax, dword [esp + 0x154]
mov dword [esp + 0x158], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x154], xmm0
mov eax, dword [esp + 0x48]
mov dword [esp + 0x15c], eax
lea ecx, [esp + 0x658]
push 0x25c
call fcn.00405500
test eax, eax
je 0x40aadc
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
xor esi, esi
test edi, edi
je 0x40aac7
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 7
je 0x40aa98
cmp eax, 6
je 0x40aaad
cmp eax, 3
jne 0x40aac7
movzx eax, word [edi]
xor eax, 0x6c61
movzx ecx, byte [edi + 2]
xor ecx, 0x6c
or cx, ax
jne 0x40aac7
jmp 0x40aac2
mov eax, 0x63746962
xor eax, dword [edi]
mov ecx, 0x65646f63
xor ecx, dword [edi + 3]
or ecx, eax
jne 0x40aac7
jmp 0x40aac2
mov eax, 0x6b72616d
xor eax, dword [edi]
movzx ecx, word [edi + 4]
xor ecx, 0x7265
or ecx, eax
jne 0x40aac7
mov esi, 0x100
mov eax, 0xfffffeff
and eax, dword [esp + 0x1f0]
or eax, esi
mov dword [esp + 0x1f0], eax
lea ecx, [esp + 0x658]
push 0x261
call fcn.00405500
test eax, eax
je 0x40ab3e
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
xor edi, edi
test esi, esi
je 0x40ab37
push esi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0x11
je 0x40ab1b
cmp eax, 7
jne 0x40ab37
mov ebx, 2
mov ecx, str.default
jmp 0x40ab25
mov ebx, 1
mov ecx, str.no_compact_unwind
push eax
push ecx
push esi
call sub.msvcrt.dll_memcmp
add esp, 0xc
xor edi, edi
test eax, eax
cmove edi, ebx
mov dword [esp + 0x1f4], edi
lea esi, [esp + 0x658]
mov ecx, esi
push 0x260
call fcn.00405500
xor ecx, ecx
test eax, eax
setne cl
mov eax, dword [esp + 0x1f8]
and eax, 0xfffffffe
or eax, ecx
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x314], 0x7d
mov dword [esp + 0x40], 0x413833
mov dword [esp + 0x44], 0
sub esp, 0xc
movq xmm0, qword [esp + 0x4c]
movq qword [esp + 4], xmm0
mov eax, dword [esp + 0x320]
mov dword [esp], eax
mov ecx, esi
call fcn.00411f64
lea ecx, [esp + 0x24c]
push edx
push eax
call fcn.00411fdc
mov ecx, esi
call fcn.00406460
mov ebx, 1
test byte [esp + 0xc], 1
je 0x40ad9d
mov eax, dword [esp + 0x1e8]
test al, 1
jne 0x40ad61
test al, 2
jne 0x40ad96
mov eax, dword [esp + 0x1cc]
mov esi, dword [esp + 0x1d0]
cmp eax, esi
je 0x40b2d2
sub esi, eax
mov eax, esi
sar eax, 2
imul ebx, eax, 0xaaaaaaab
lea eax, [ebx + 2]
cmp eax, 0x40000000
lea eax, [ebx*4 + 8]
mov edi, 0xffffffff
cmovb edi, eax
push edi
call sub.libc.dll_operator_new___unsigned_int_
add esp, 4
push edi
mov edi, eax
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [edi], str.clang__LLVM_option_parsing_
mov ecx, dword [esp + 0x1cc]
xor eax, eax
cmp ebx, 8
jb 0x40ad3d
lea edx, [edi + 4]
add esi, ecx
cmp edx, esi
jae 0x40ac62
lea edx, [edi + ebx*4]
add edx, 4
cmp ecx, edx
jb 0x40ad3d
mov dword [esp + 0xc], ebx
mov eax, ebx
and eax, 0xfffffffc
mov dword [esp + 8], ecx
lea edx, [ecx + 0x18]
xor esi, esi
movdqa xmm0, xmmword [0x413790]
pxor xmm1, xmm1
pcmpeqd xmm2, xmm2
mov dword [esp + 4], edi
nop dword [eax + eax]
lea edi, [edx - 0xc]
lea ecx, [edx + 0xc]
movd xmm3, ecx
movd xmm5, edi
movzx ecx, byte [edx - 0x18]
movzx edi, byte [edx]
mov ebx, dword [edx + 0xc]
shl ebx, 8
or ebx, edi
mov edi, dword [edx - 0xc]
shl edi, 8
or edi, ecx
movd xmm4, edi
mov edi, dword [esp + 4]
pinsrw xmm4, ebx, 1
lea ecx, [edx - 0x18]
movd xmm6, ecx
movd xmm7, edx
punpckldq xmm7, xmm3
punpckldq xmm6, xmm5
punpcklqdq xmm6, xmm7
psubd xmm6, xmm2
pand xmm4, xmm0
punpcklbw xmm4, xmm4
punpcklwd xmm4, xmm4
pcmpeqb xmm4, xmm1
movd xmm3, dword [edx + 0x14]
movd xmm5, dword [edx + 8]
punpckldq xmm5, xmm3
movd xmm3, dword [edx - 4]
movd xmm7, dword [edx - 0x10]
punpckldq xmm7, xmm3
punpcklqdq xmm7, xmm5
pand xmm6, xmm4
pandn xmm4, xmm7
por xmm4, xmm6
movdqu xmmword [edi + esi*4 + 4], xmm4
add esi, 4
add edx, 0x30
cmp eax, esi
jne 0x40ac90
mov ebx, dword [esp + 0xc]
cmp ebx, eax
mov ecx, dword [esp + 8]
je 0x40b271
mov edx, eax
or edx, 1
test bl, 1
je 0x40b269
lea eax, [eax + eax*2]
test byte [ecx + eax*4], 1
je 0x40b260
mov eax, dword [ecx + eax*4 + 8]
jmp 0x40b264
call fcn.004119fa
mov esi, eax
call fcn.00411e98
mov ecx, esi
push 0
push 0
push 0x800
push str.Clang_Integrated_Assembler
push str.clang__cc1as__options__file...
push eax
call fcn.00411f7c
xor ebx, ebx
test byte [esp + 0x24c], 1
jne 0x40ada7
jmp 0x40adb6
call fcn.00411d66
xor ebx, ebx
test byte [esp + 0x24c], 1
je 0x40adb6
push dword [esp + 0x254]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x238], 0
je 0x40add9
test byte [esp + 0x214], 1
je 0x40add9
push dword [esp + 0x21c]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x208], 1
jne 0x40af28
test byte [esp + 0x1fc], 1
jne 0x40af45
test byte [esp + 0x1d8], 1
jne 0x40af62
mov esi, dword [esp + 0x1cc]
test esi, esi
jne 0x40af80
test byte [esp + 0x1c0], 1
jne 0x40b073
test byte [esp + 0x1b4], 1
jne 0x40b090
test byte [esp + 0x1a8], 1
jne 0x40b0ad
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
test eax, eax
jne 0x40b0d2
lea eax, [esp + 0x1a4]
cmp esi, eax
je 0x40ae66
push esi
call sub.msvcrt.dll_free
add esp, 4
test byte [esp + 0x18c], 1
jne 0x40afbe
test byte [esp + 0x180], 1
jne 0x40afdb
test byte [esp + 0x174], 1
jne 0x40aff8
mov esi, dword [esp + 0x160]
test esi, esi
jne 0x40b016
mov esi, dword [esp + 0x154]
test esi, esi
jne 0x40b162
mov esi, dword [esp + 0x148]
test esi, esi
jne 0x40b1c0
test byte [esp + 0x13c], 1
je 0x40aed6
push dword [esp + 0x144]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x130], 1
mov esi, dword [esp + 0x2e4]
je 0x40aef6
push dword [esp + 0x138]
call sub.libc.dll_operator_delete_void_
add esp, 4
call fcn.00411cdc
lea ecx, [esp + 0x358]
call fcn.004119ac
mov edi, dword [esp + 0x310]
dec dword [edi]
je 0x40b214
dec dword [esi]
je 0x40b22c
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x210]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1fc], 1
je 0x40adf5
push dword [esp + 0x204]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1d8], 1
je 0x40ae03
push dword [esp + 0x1e0]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x1cc]
test esi, esi
je 0x40ae12
mov edi, dword [esp + 0x1d0]
mov eax, esi
cmp edi, esi
jne 0x40afab
jmp 0x40b055
add edi, 0xfffffff4
cmp edi, esi
je 0x40b04e
test byte [edi - 0xc], 1
je 0x40afa0
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40afa0
push dword [esp + 0x194]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x180], 1
je 0x40ae82
push dword [esp + 0x188]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x174], 1
je 0x40ae90
push dword [esp + 0x17c]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x160]
test esi, esi
je 0x40ae9f
mov edi, dword [esp + 0x164]
mov eax, esi
cmp edi, esi
jne 0x40b03b
jmp 0x40b143
add edi, 0xfffffff4
cmp edi, esi
je 0x40b13c
test byte [edi - 0xc], 1
je 0x40b030
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b030
mov eax, dword [esp + 0x1cc]
mov dword [esp + 0x1d0], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1c0], 1
je 0x40ae20
push dword [esp + 0x1c8]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1b4], 1
je 0x40ae2e
push dword [esp + 0x1bc]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1a8], 1
je 0x40ae3c
push dword [esp + 0x1b0]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
test eax, eax
je 0x40ae52
shl eax, 3
lea edi, [eax + eax*2]
jmp 0x40b0e5
add edi, 0xffffffe8
je 0x40b121
test byte [esi + edi - 0xc], 1
jne 0x40b100
test byte [esi + edi - 0x18], 1
je 0x40b0e0
jmp 0x40b113
push dword [esi + edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esi + edi - 0x18], 1
je 0x40b0e0
push dword [esi + edi - 0x10]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b0e0
mov esi, dword [esp + 0x198]
lea eax, [esp + 0x1a4]
cmp esi, eax
jne 0x40ae5d
jmp 0x40ae66
mov eax, dword [esp + 0x160]
mov dword [esp + 0x164], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x154]
test esi, esi
je 0x40aeae
mov edi, dword [esp + 0x158]
mov eax, esi
cmp edi, esi
jne 0x40b187
jmp 0x40b1a1
add edi, 0xfffffff4
cmp edi, esi
je 0x40b19a
test byte [edi - 0xc], 1
je 0x40b180
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b180
mov eax, dword [esp + 0x154]
mov dword [esp + 0x158], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x148]
test esi, esi
je 0x40aebd
mov edi, dword [esp + 0x14c]
mov eax, esi
cmp edi, esi
jne 0x40b1d7
jmp 0x40b1f1
add edi, 0xfffffff4
cmp edi, esi
je 0x40b1ea
test byte [edi - 0xc], 1
je 0x40b1d0
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b1d0
mov eax, dword [esp + 0x148]
mov dword [esp + 0x14c], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x13c], 1
jne 0x40aec7
jmp 0x40aed6
mov ecx, edi
call fcn.0041196a
push edi
call sub.libc.dll_operator_delete_void_
add esp, 4
dec dword [esi]
jne 0x40af1e
mov ecx, esi
call fcn.00406560
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40af1e
xor eax, eax
mov dword [esp + 0x1e4], eax
jmp 0x40a613
mov eax, 1
mov dword [esp + 0x1e4], eax
jmp 0x40a613
lea eax, [ecx + eax*4]
inc eax
mov dword [edi + edx*4], eax
mov eax, edx
cmp ebx, edx
jne 0x40b3e1
mov dword [edi + ebx*4 + 4], 0
inc ebx
mov dword [esp + 0x330], 0x413833
mov dword [esp + 0x334], 0
sub esp, 0x1c
movq xmm0, qword [esp + 0x34c]
movq qword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
call fcn.00411d72
add esp, 0x1c
push edi
call sub.libc.dll_operator_delete___void_
add esp, 4
mov ebx, 1
cmp byte [esp + 0x3bc], 0
jne 0x40cf29
mov dword [esp + 0x2d4], 0
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d8], 0
movzx eax, byte [esp + 0x130]
mov ecx, eax
shr ecx, 1
test al, 1
lea ebx, [esp + 0x131]
mov eax, dword [esp + 0x138]
cmove eax, ebx
mov dword [esp + 0x304], eax
cmovne ecx, dword [esp + 0x134]
mov dword [esp + 0x308], ecx
sub esp, 0xc
movq xmm0, qword [esp + 0x310]
movq qword [esp], xmm0
lea eax, [esp + 0x2dc]
mov dword [esp + 8], eax
call fcn.00411b08
add esp, 0xc
test eax, eax
je 0x40b434
mov edi, eax
mov word [esp + 0x668], 0x104
lea eax, [esp + 0x1c0]
mov dword [esp + 0x658], eax
mov word [esp + 0x32c], 0
sub esp, 0x14
lea esi, [esp + 0x66c]
mov dword [esp + 4], esi
lea eax, [esp + 0x2d8]
mov dword [esp], eax
mov word [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
call fcn.00411ad8
add esp, 0x14
test byte [esp + 0x2cc], 1
jne 0x40b467
call fcn.00411ff4
mov eax, dword [esp + 0x2c4]
jmp 0x40b4ba
mov edx, ecx
lea ecx, [eax + eax*2]
lea ecx, [edx + ecx*4]
add ecx, 0xd
jmp 0x40b402
mov dword [edi + eax*4 + 8], edx
add eax, 2
add ecx, 0x18
cmp ebx, eax
je 0x40b271
test byte [ecx - 0xd], 1
je 0x40b420
mov edx, dword [ecx - 5]
mov dword [edi + eax*4 + 4], edx
test byte [ecx - 1], 1
mov edx, ecx
je 0x40b3f0
jmp 0x40b42f
lea edx, [ecx - 0xc]
mov dword [edi + eax*4 + 4], edx
test byte [ecx - 1], 1
mov edx, ecx
je 0x40b3f0
mov edx, dword [ecx + 7]
jmp 0x40b3f0
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x41
test byte [esp + 0x404], 1
jne 0x40b587
mov word [esp + 0x404], 0
jmp 0x40b59c
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c8]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], eax
test eax, eax
je 0x40b4ba
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x268
test byte [esp + 0x404], 1
jne 0x40b911
mov word [esp + 0x404], 0
jmp 0x40b926
pxor xmm0, xmm0
movdqa xmmword [esp + 0xe0], xmm0
movdqa xmmword [esp + 0xd0], xmm0
mov dword [esp + 0x2c4], 0
mov dword [esp + 0x65c], 0
mov dword [esp + 0x658], eax
mov dword [esp + 0x660], 0
lea ecx, [esp + 0xd0]
push esi
call fcn.0040da50
mov eax, dword [esp + 0xd4]
sub eax, dword [esp + 0xd0]
mov dword [esp + 0xc], eax
mov ecx, esi
call fcn.00411f28
lea ecx, [esp + 0xdc]
mov eax, dword [esp + 0x160]
mov edx, dword [esp + 0x164]
mov esi, edx
sub esi, eax
sar esi, 2
imul esi, esi, 0xaaaaaaab
push esi
push edx
push eax
call fcn.0040db80
mov esi, dword [edi + 0x28]
mov dword [esp + 0x3c], 0
mov eax, 0
test esi, esi
mov dword [esp + 4], edi
je 0x40b735
movzx eax, byte [esp + 0x130]
test al, 1
je 0x40b6e8
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
jmp 0x40b6ec
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x658], eax
mov dword [esp + 0x65c], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x660], eax
mov word [esp + 0x664], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x40b61a
mov esi, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x40b605
add edi, 0xffffffd8
je 0x40b61a
test byte [esi + edi - 0x10], 1
je 0x40b600
push dword [esi + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b600
mov dword [esp + 0x560], 0
movzx eax, byte [esp + 0x130]
test al, 1
je 0x40b641
mov ebx, dword [esp + 0x138]
mov eax, dword [esp + 0x134]
jmp 0x40b643
shr eax, 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], eax
sub esp, 8
movq xmm0, qword [esp + 0x48]
movq qword [esp], xmm0
lea ecx, [esp + 0x660]
call fcn.004060b0
cmp byte [esp + 0x664], 0
je 0x40b699
mov ecx, dword [esp + 0x660]
movzx eax, byte [esp + 0x665]
push eax
call fcn.0041199a
mov dword [esp + 0x660], 0
mov word [esp + 0x664], 0
mov esi, dword [esp + 0x658]
test esi, esi
je 0x40bddd
mov eax, dword [esp + 0x65c]
test eax, eax
je 0x40bddd
cmp esi, eax
jb 0x40bdcd
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40bdcd
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x40bddd
shr eax, 1
mov ecx, ebx
mov word [esp + 0x50], 0x105
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
lea edi, [esp + 0x658]
mov ecx, edi
lea eax, [esp + 0x40]
push eax
call fcn.00411eda
push edi
call esi
add esp, 4
test byte [esp + 0x658], 1
je 0x40b731
push dword [esp + 0x660]
mov esi, eax
call sub.libc.dll_operator_delete_void_
mov eax, esi
add esp, 4
mov edi, dword [esp + 4]
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x258]
call fcn.00411b32
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x25c], eax
movzx eax, byte [esp + 0x1f8]
and al, 1
movzx ecx, byte [esp + 0x2b0]
and cl, 0xfe
or cl, al
mov byte [esp + 0x2b0], cl
lea ecx, [esp + 0x28c]
lea eax, [esp + 0x24c]
push eax
call fcn.00411fee
mov esi, dword [edi + 0x18]
test esi, esi
je 0x40b7fd
movzx eax, byte [esp + 0x130]
test al, 1
je 0x40b7a8
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
jmp 0x40b7ac
shr eax, 1
mov ecx, ebx
mov word [esp + 0x50], 0x105
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
lea edi, [esp + 0x658]
mov ecx, edi
lea eax, [esp + 0x40]
push eax
call fcn.00411eda
lea eax, [esp + 0x258]
push eax
push edi
push dword [esp + 0x40]
call esi
add esp, 0xc
mov dword [esp + 0x3c], eax
test byte [esp + 0x658], 1
je 0x40b7fd
push dword [esp + 0x660]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x130], eax
movzx eax, byte [esp + 0x16c]
shr al, 3
and al, 1
mov byte [ecx + 0x135], al
mov edi, dword [esp + 0x1dc]
mov esi, dword [esp + 0x1e4]
movzx edx, byte [esp + 0x1d8]
mov eax, edx
shr eax, 1
and dl, 1
mov ecx, edi
cmove ecx, eax
test ecx, ecx
jne 0x40b86e
lea ecx, [esp + 0x1d8]
push 0x413834
call fcn.00411fd6
movzx eax, byte [esp + 0x1d8]
mov edi, dword [esp + 0x1dc]
mov edx, eax
and dl, 1
shr eax, 1
xor ebx, ebx
cmp esi, 2
sete cl
test dl, dl
je 0x40b885
mov edx, dword [esp + 0x1e0]
mov eax, edi
jmp 0x40b88c
lea edx, [esp + 0x1d9]
mov bl, cl
lea ecx, [esp + 0x2c0]
push ebx
lea edi, [esp + 0x35c]
push edi
push eax
call fcn.0040d540
add esp, 0xc
mov eax, dword [esp + 0x2c0]
mov dword [esp + 0x10c], eax
test eax, eax
je 0x40b8cf
movzx ecx, byte [esp + 0x1b4]
test cl, 1
je 0x40b8da
mov eax, dword [esp + 0x1b8]
jmp 0x40b8de
mov al, 1
mov dword [esp + 0x30], eax
jmp 0x40cc2a
mov eax, ecx
shr eax, 1
test eax, eax
je 0x40b901
xor ebx, ebx
cmp esi, 2
sete byte [esp + 8]
test cl, 1
je 0x40bad8
mov edx, dword [esp + 0x1bc]
jmp 0x40badf
mov dword [esp + 0x2b8], 0
jmp 0x40bb0d
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea eax, [esp + 0x418]
mov dword [esp + 0x658], eax
mov dword [esp + 0x65c], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x660], eax
mov word [esp + 0x664], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x40b99e
mov esi, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x40b989
add edi, 0xffffffd8
je 0x40b99e
test byte [esi + edi - 0x10], 1
je 0x40b984
push dword [esi + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40b984
mov dword [esp + 0x560], 0
movzx eax, byte [esp + 0x1c0]
test al, 1
je 0x40b9c5
mov ecx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x1c4]
jmp 0x40b9ce
shr eax, 1
lea ecx, [esp + 0x1c1]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
sub esp, 8
movsd xmm0, qword [esp + 0x48]
movsd qword [esp], xmm0
lea esi, [esp + 0x660]
mov ecx, esi
call fcn.004060b0
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x40]
push eax
call fcn.00411fc4
movzx eax, byte [esp + 0x40]
test al, 1
je 0x40ba16
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x40ba1c
shr eax, 1
lea ecx, [esp + 0x41]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
sub esp, 8
movq xmm0, qword [esp + 0x260]
movq qword [esp], xmm0
mov ecx, esi
call fcn.004060b0
test byte [esp + 0x40], 1
je 0x40ba55
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x664], 0
je 0x40ba89
mov ecx, dword [esp + 0x660]
movzx eax, byte [esp + 0x665]
push eax
call fcn.0041199a
mov dword [esp + 0x660], 0
mov word [esp + 0x664], 0
mov esi, dword [esp + 0x658]
test esi, esi
je 0x40bf27
mov eax, dword [esp + 0x65c]
test eax, eax
je 0x40bf27
cmp esi, eax
jb 0x40bf17
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40bf17
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x40bf27
lea edx, [esp + 0x1b5]
movzx ecx, byte [esp + 8]
mov bl, cl
lea ecx, [esp + 0x658]
push ebx
lea esi, [esp + 0x35c]
push esi
push eax
call fcn.0040d540
add esp, 0xc
mov eax, dword [esp + 0x658]
mov dword [esp + 0x2b8], eax
mov edi, dword [esp + 0x148]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x118], 0
cmp edi, ebx
je 0x40bbdc
mov eax, ebx
sub eax, edi
sar eax, 2
imul eax, eax, 0xaaaaaaab
dec eax
mov ecx, edi
jmp 0x40bb62
mov edx, dword [ecx + 4]
add eax, edx
add ecx, 0xc
cmp ecx, ebx
je 0x40bb6e
movzx edx, byte [ecx]
test dl, 1
jne 0x40bb56
shr edx, 1
jmp 0x40bb59
lea esi, [esp + 0x110]
mov ecx, esi
push eax
call fcn.00411fe8
movzx eax, byte [edi]
test al, 1
je 0x40bb8c
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
jmp 0x40bb91
lea edx, [edi + 1]
shr eax, 1
mov ecx, esi
push eax
push edx
call fcn.00411fd0
add edi, 0xc
cmp edi, ebx
je 0x40bbdc
lea esi, [esp + 0x110]
jmp 0x40bbc0
mov edx, dword [edi + 8]
mov eax, dword [edi + 4]
mov ecx, esi
push eax
push edx
call fcn.00411fd0
add edi, 0xc
cmp edi, ebx
je 0x40bbdc
mov ecx, esi
push 1
push 0x41390a
call fcn.00411fd0
movzx eax, byte [edi]
test al, 1
jne 0x40bbaa
lea edx, [edi + 1]
shr eax, 1
jmp 0x40bbb0
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x2c]
test eax, eax
je 0x40bcf7
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x110]
mov edi, eax
shr edi, 1
test al, 1
cmovne edi, dword [esp + 0x114]
lea eax, [esp + 0x111]
cmovne eax, dword [esp + 0x118]
mov dword [esp + 0xfc], eax
movzx eax, byte [esp + 0x130]
movzx ecx, byte [esp + 0x13c]
mov esi, ecx
shr esi, 1
test cl, 1
cmovne esi, dword [esp + 0x140]
lea ebx, [esp + 0x13d]
cmovne ebx, dword [esp + 0x144]
mov ecx, eax
shr ecx, 1
test al, 1
mov eax, dword [esp + 0x138]
lea edx, [esp + 0x131]
cmove eax, edx
mov word [esp + 0x50], 0x105
mov dword [esp + 0x40], eax
cmovne ecx, dword [esp + 0x134]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x658]
lea eax, [esp + 0x40]
push eax
call fcn.00411eda
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edi
sub esp, 0x14
movsd xmm0, qword [esp + 0x13c]
movsd qword [esp + 0xc], xmm0
movq xmm0, qword [esp + 0x2c]
movq qword [esp + 4], xmm0
lea eax, [esp + 0x66c]
mov dword [esp], eax
call dword [esp + 0x1c]
add esp, 0x14
mov esi, eax
test byte [esp + 0x658], 1
je 0x40bcef
push dword [esp + 0x660]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov edi, dword [esp + 4]
mov ebx, esi
jmp 0x40bcf9
xor ebx, ebx
mov word [esp + 0x28], 0x104
lea eax, [esp + 0x130]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
lea esi, [esp + 0x40]
mov ecx, esi
push eax
call fcn.00411eda
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
sub esp, 0x24
movq xmm0, qword [esp + 0x14c]
movq qword [esp + 0x1c], xmm0
lea eax, [esp + 0x27c]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x11c], ebx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x18], 1
lea ecx, [esp + 0x67c]
call fcn.00411f16
test byte [esp + 0x40], 1
je 0x40bd9e
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
movzx eax, byte [esp + 0x1fc]
test al, 1
je 0x40bdb3
mov ecx, dword [esp + 0x200]
jmp 0x40bdb7
mov ecx, eax
shr ecx, 1
cmp ecx, 3
jne 0x40bdc9
test al, 1
je 0x40bdef
mov eax, dword [esp + 0x204]
jmp 0x40bdf6
xor ecx, ecx
jmp 0x40be0c
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov al, 1
mov dword [esp + 0x30], eax
lea esi, [esp + 0x1b4]
jmp 0x40ce41
lea eax, [esp + 0x1fd]
movzx ecx, word [eax]
xor ecx, 0x6970
movzx eax, byte [eax + 2]
xor eax, 0x63
or ax, cx
sete cl
mov eax, dword [edi + 0x1c]
movzx esi, cl
test eax, eax
je 0x40be2a
push 0
push esi
lea ecx, [esp + 0x660]
push ecx
call eax
add esp, 0xc
mov edi, eax
jmp 0x40bea4
push 0x204
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
push 0x1f8
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::MCObjectFileInfo]
add eax, 8
mov dword [edi], eax
lea eax, [edi + 8]
pxor xmm0, xmm0
movdqu xmmword [edi + 0x1f4], xmm0
push 0x1ad
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
pxor xmm0, xmm0
movdqu xmmword [edi + 0x1b8], xmm0
mov dword [edi + 0x1c9], 0
mov dword [edi + 0x1c5], 0
mov ecx, edi
push 0
push esi
lea eax, [esp + 0x660]
push eax
call fcn.00411b5c
cmp byte [esp + 0x238], 0
mov dword [esp + 0x108], edi
je 0x40bfd0
lea eax, [esp + 0x214]
lea ecx, [edi + 0x1cc]
cmp byte [edi + 0x1f0], 0
je 0x40befa
push eax
call fcn.00411fee
movaps xmm0, xmmword [esp + 0x220]
movups xmmword [edi + 0x1d8], xmm0
movq xmm0, qword [esp + 0x230]
movq qword [edi + 0x1e8], xmm0
jmp 0x40bfd0
test byte [esp + 0x214], 1
jne 0x40bf32
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
jmp 0x40bfa7
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov al, 1
mov dword [esp + 0x30], eax
jmp 0x40ce15
mov ebx, dword [esp + 0x218]
mov esi, dword [esp + 0x21c]
cmp ebx, 0xa
ja 0x40bf5e
mov edx, dword [esp + 0x108]
lea eax, [edx + 0x1cd]
mov ecx, ebx
add cl, bl
mov byte [edx + 0x1cc], cl
jmp 0x40bf94
cmp ebx, 0xfffffff0
jae 0x40cf53
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov ecx, dword [esp + 0x108]
mov dword [ecx + 0x1d4], eax
add edi, 2
mov dword [ecx + 0x1cc], edi
mov dword [ecx + 0x1d0], ebx
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov edi, dword [esp + 0x108]
movsd xmm0, qword [esp + 0x230]
movsd qword [edi + 0x1e8], xmm0
movdqa xmm0, xmmword [esp + 0x220]
movdqu xmmword [edi + 0x1d8], xmm0
mov byte [edi + 0x1f0], 1
cmp dword [esp + 0x23c], 0
jne 0x40c001
test dword [esp + 0x240], 0x7fffffff
jne 0x40c001
test dword [esp + 0x244], 0x7fffffff
jne 0x40c001
test dword [esp + 0x248], 0x7fffffff
je 0x40c014
lea eax, [esp + 0x23c]
movdqu xmm0, xmmword [eax]
movdqu xmmword [edi + 0x1f4], xmm0
mov dword [esp + 0x6c0], edi
mov eax, dword [esp + 0x16c]
test al, 2
jne 0x40c040
test al, 4
jne 0x40c04c
movzx ecx, byte [esp + 0x174]
test cl, 1
je 0x40c061
mov eax, dword [esp + 0x178]
jmp 0x40c065
mov byte [esp + 0xa93], 0
test al, 4
je 0x40c02a
mov byte [esp + 0xa51], 1
movzx ecx, byte [esp + 0x174]
test cl, 1
jne 0x40c037
mov eax, ecx
shr eax, 1
test eax, eax
je 0x40c08c
test cl, 1
je 0x40c077
mov ecx, dword [esp + 0x17c]
jmp 0x40c07e
lea ecx, [esp + 0x175]
mov dword [esp + 0xa80], ecx
mov dword [esp + 0xa84], eax
movzx ecx, byte [esp + 0x180]
test cl, 1
je 0x40c0a2
mov eax, dword [esp + 0x184]
jmp 0x40c0a6
mov eax, ecx
shr eax, 1
test eax, eax
je 0x40c0cd
test cl, 1
je 0x40c0b8
mov ecx, dword [esp + 0x188]
jmp 0x40c0bf
lea ecx, [esp + 0x181]
mov dword [esp + 0xa88], ecx
mov dword [esp + 0xa8c], eax
movzx ecx, byte [esp + 0x18c]
test cl, 1
je 0x40c0e3
mov eax, dword [esp + 0x190]
jmp 0x40c0e7
mov eax, ecx
shr eax, 1
test eax, eax
je 0x40c0f9
test cl, 1
je 0x40c168
mov ecx, dword [esp + 0x194]
jmp 0x40c16f
lea esi, [esp + 0x4c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0x80
lea eax, [esp + 0x40]
push eax
call fcn.00411e38
add esp, 4
test eax, eax
jne 0x40c155
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], eax
sub esp, 8
movq xmm0, qword [esp + 0x128]
movq qword [esp], xmm0
lea ecx, [esp + 0x660]
call fcn.0040d7a0
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x40c19a
push eax
call sub.msvcrt.dll_free
add esp, 4
jmp 0x40c19a
lea ecx, [esp + 0x18d]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
sub esp, 8
movq xmm0, qword [esp + 0x128]
movq qword [esp], xmm0
lea ecx, [esp + 0x660]
call fcn.0040d7a0
mov eax, dword [esp + 0x19c]
test eax, eax
je 0x40c1d3
mov edi, dword [esp + 0x198]
lea eax, [eax + eax*2]
lea ebx, [edi + eax*8]
lea esi, [esp + 0x658]
nop dword [eax]
lea eax, [edi + 0xc]
mov ecx, esi
push eax
push edi
call fcn.00411f10
add edi, 0x18
cmp edi, ebx
jne 0x40c1c0
movzx eax, byte [esp + 0x1a8]
test al, 1
je 0x40c1e8
mov ebx, dword [esp + 0x1ac]
jmp 0x40c1ec
mov ebx, eax
shr ebx, 1
lea esi, [esp + 0x208]
mov edi, dword [esp + 4]
test ebx, ebx
je 0x40c2a0
test al, 1
je 0x40c20c
mov ecx, dword [esp + 0x1b0]
jmp 0x40c213
lea ecx, [esp + 0x1a9]
cmp ebx, 0xfffffff0
jae 0x40cf4f
cmp ebx, 0xb
jae 0x40c22f
mov eax, ebx
add al, bl
mov byte [esp + 0x40], al
lea esi, [esp + 0x41]
jmp 0x40c259
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 + 0x48], eax
add edi, 2
mov dword [esp + 0x40], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x44], ebx
push ebx
push ecx
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
lea esi, [esp + 0xa28]
test byte [esp + 0xa28], 1
je 0x40c288
push dword [esp + 0xa30]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x48]
mov dword [esi + 8], eax
movq xmm0, qword [esp + 0x40]
movq qword [esi], xmm0
lea esi, [esp + 0x208]
mov eax, dword [esp + 0x16c]
mov ecx, eax
shr cl, 4
and cl, 1
mov byte [esp + 0xa92], cl
movzx ecx, word [esp + 0x170]
mov word [esp + 0xa90], cx
test al, 4
je 0x40c35f
mov eax, dword [esp + 0xc]
sar eax, 2
imul eax, eax, 0xaaaaaaab
movzx ecx, byte [esp + 0x1c0]
mov edx, ecx
shr edx, 1
test cl, 1
lea ecx, [esp + 0x1c1]
cmovne ecx, dword [esp + 0x1c8]
mov dword [esp + 0x2fc], ecx
cmovne edx, dword [esp + 0x1c4]
mov dword [esp + 0x300], edx
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4 - 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
sub eax, ecx
mov dword [esp + 0x2f4], ecx
mov dword [esp + 0x2f8], eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x304]
movsd qword [esp + 8], xmm0
movq xmm0, qword [esp + 0x30c]
movq qword [esp], xmm0
lea ecx, [esp + 0x668]
call fcn.00411f0a
mov eax, dword [edi + 0x20]
test eax, eax
je 0x40c36e
call eax
mov dword [esp + 0x34], eax
jmp 0x40c376
mov dword [esp + 0x34], 0
movzx eax, byte [esp + 0x1f0]
movzx ecx, byte [esp + 0x258]
mov edx, eax
shr dl, 2
and cl, 0xd3
and dl, 0xc
or dl, cl
shr al, 1
and al, 0x20
or al, dl
mov byte [esp + 0x258], al
lea ecx, [esp + 0x268]
push esi
call fcn.00411fee
mov eax, dword [esp + 0x1e4]
cmp eax, 1
je 0x40c40e
test eax, eax
jne 0x40c430
mov word [esp + 0x28], 0x104
lea eax, [esp + 0x130]
mov dword [esp + 0x18], eax
lea edi, [esp + 0x40]
mov ecx, edi
lea eax, [esp + 0x18]
push eax
call fcn.00411eda
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x40c506
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x44]
push dword [esp + 0x1f8]
push edi
call eax
add esp, 0x14
mov esi, eax
jmp 0x40c508
mov dword [esp + 0x2b4], 0
lea eax, [esp + 0x658]
push eax
call fcn.00411b9e
add esp, 4
mov esi, eax
jmp 0x40c788
xor esi, esi
mov edi, dword [esp + 0x10c]
cmp byte [edi + 0x25], 0
mov ecx, 0
jne 0x40c4b3
push 0x34
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edi, eax
add eax, 0x28
pxor xmm0, xmm0
movdqu xmmword [edi + 4], xmm0
mov byte [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 1
mov ecx, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::raw_svector_ostream]
add ecx, 8
mov dword [edi], ecx
mov dword [edi + 0x20], eax
mov ecx, edi
push 0
push 0
push 0
call fcn.00411ac0
mov ecx, edi
mov eax, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::buffer_ostream]
add eax, 8
mov dword [edi], eax
mov eax, dword [esp + 0x10c]
mov dword [edi + 0x24], eax
lea eax, [edi + 0x34]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x40c4d8
lea ecx, [esp + 0x658]
push ecx
push dword [esp + 0x38]
call eax
add esp, 8
mov esi, eax
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x40c580
lea edx, [esp + 0x258]
push edx
push dword [esp + 0x3c]
push dword [esp + 0x100]
push ecx
call eax
add esp, 0x10
jmp 0x40c582
xor esi, esi
test byte [esp + 0x40], 1
je 0x40c51b
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esp + 0x18], 0
test byte [esp + 0x1f0], 1
je 0x40c55a
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x40c55a
lea ecx, [esp + 0x658]
push ecx
push dword [esp + 0x38]
call eax
add esp, 8
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x40c55a
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x34]
test eax, eax
je 0x40c5a9
lea edx, [esp + 0x258]
push edx
push dword [esp + 0x3c]
push dword [esp + 0x100]
push ecx
call eax
add esp, 0x10
jmp 0x40c5ab
xor eax, eax
mov dword [esp + 0x100], eax
mov edx, dword [esp + 0x2b8]
lea ecx, [esp + 0x2c]
test edx, edx
je 0x40c6a6
push edx
push edi
push eax
call fcn.00411f40
jmp 0x40c6ad
xor eax, eax
mov dword [esp + 0x10], eax
push 0x40
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
pxor xmm0, xmm0
movdqu xmmword [eax + 4], xmm0
mov byte [eax + 0x14], 0
movdqa xmm0, xmmword [0x4137a0]
movdqu xmmword [eax + 0x18], xmm0
mov eax, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::formatted_raw_ostream]
add eax, 8
mov dword [ebx], eax
mov dword [ebx + 0x28], 0
lea eax, [ebx + 0x3c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 4
mov ecx, ebx
push dword [esp + 0x10c]
call fcn.0040dea0
mov eax, dword [esp + 0x1f0]
and eax, 2
shr eax, 1
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x10]
push eax
push ecx
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x18], esi
push esi
push 1
push 1
push edi
lea eax, [esp + 0x674]
push eax
call fcn.00411b6e
add esp, 0x20
mov esi, eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x40], 0
test ecx, ecx
je 0x40c654
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [esp + 4]
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x40c66c
push 1
push dword [esp + 0x10]
push ebx
push esi
call eax
add esp, 0x10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x40c681
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18], 0
test ecx, ecx
je 0x40c696
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x2b4], 0
jmp 0x40c788
push edi
push eax
call fcn.00411f3a
mov word [esp + 0x28], 0x104
lea eax, [esp + 0x130]
mov dword [esp + 0x18], eax
lea ebx, [esp + 0x40]
mov ecx, ebx
lea eax, [esp + 0x18]
push eax
call fcn.00411eda
mov ecx, dword [esp + 0x1f0]
mov eax, ecx
and eax, 4
shr eax, 2
lea edx, [esp + 0x10]
lea esi, [esp + 0x100]
shr cl, 7
movzx edi, cl
mov ecx, dword [esp + 4]
push 1
push edi
push eax
mov edi, dword [esp + 0x104]
push edi
push edx
lea eax, [esp + 0x40]
push eax
push esi
lea eax, [esp + 0x674]
push eax
push ebx
call fcn.0040d8d0
mov esi, eax
mov eax, dword [esp + 0x1f0]
and eax, 8
shr eax, 3
mov edx, dword [esi]
mov ecx, esi
push edi
push eax
call dword [edx + 0x58]
test byte [esp + 0x40], 1
je 0x40c73f
push dword [esp + 0x48]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], 0
test ecx, ecx
je 0x40c754
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x100], 0
test ecx, ecx
mov edi, dword [esp + 4]
je 0x40c773
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x40c788
mov eax, dword [ecx]
call dword [eax + 8]
test byte [esp + 0x1f1], 1
je 0x40c81a
cmp dword [esp + 0x658], 0
jne 0x40c81a
mov dword [esp + 0x10], str.__LLVM
mov dword [esp + 0x14], 6
mov dword [esp + 0x100], str.__asm
mov dword [esp + 0x104], 5
mov dword [esp + 0x2c], 4
sub esp, 0x20
movsd xmm0, qword [esp + 0x120]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esp], xmm0
movdqa xmm0, xmmword [0x4137b0]
movdqu xmmword [esp + 0x10], xmm0
lea ecx, [esp + 0x678]
call fcn.00411f04
mov edx, dword [esi]
mov ecx, esi
push 0
push eax
call dword [edx + 0x54]
mov ecx, esi
push 0
push 1
call fcn.00411a8a
mov byte [esi + 0xa4], 1
push 0
push dword [esp + 0x40]
push esi
lea eax, [esp + 0x664]
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.00411b7a
add esp, 0x14
mov ebx, eax
mov eax, dword [edi + 0x38]
test eax, eax
mov dword [esp + 0x30c], esi
mov dword [esp + 8], ebx
je 0x40c88e
lea ecx, [esp + 0x258]
push ecx
push dword [esp + 0x38]
push ebx
push dword [esp + 0x104]
call eax
add esp, 0x10
test eax, eax
je 0x40c88e
mov dword [esp + 0x2bc], eax
mov al, 1
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x30], 0
jmp 0x40ca11
mov dword [esp + 0x410], 0
mov dword [esp + 0x414], 0x41
test byte [esp + 0x404], 1
jne 0x40c8ba
mov word [esp + 0x404], 0
jmp 0x40c8cf
mov eax, dword [esp + 0x40c]
mov byte [eax], 0
mov dword [esp + 0x408], 0
lea ebx, [esp + 0x131]
lea eax, [esp + 0x418]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
lea eax, [esp + 0x358]
mov dword [esp + 0x48], eax
mov word [esp + 0x4c], 1
mov byte [esp + 0x418], 0
mov dword [esp + 0x4f4], 0
mov eax, dword [esp + 0x560]
test eax, eax
je 0x40c942
mov esi, dword [esp + 0x55c]
shl eax, 3
lea edi, [eax + eax*4]
jmp 0x40c92d
add edi, 0xffffffd8
je 0x40c942
test byte [esi + edi - 0x10], 1
je 0x40c928
push dword [esi + edi - 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40c928
mov dword [esp + 0x560], 0
movzx eax, byte [esp + 0x130]
test al, 1
je 0x40c969
mov ebx, dword [esp + 0x138]
mov eax, dword [esp + 0x134]
jmp 0x40c96b
shr eax, 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
sub esp, 8
movq xmm0, qword [esp + 0x20]
movq qword [esp], xmm0
lea ecx, [esp + 0x48]
call fcn.004060b0
cmp byte [esp + 0x4c], 0
je 0x40c9af
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x4d]
push eax
call fcn.0041199a
mov dword [esp + 0x48], 0
mov word [esp + 0x4c], 0
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40c9f5
mov eax, dword [esp + 0x44]
test eax, eax
je 0x40c9f5
cmp esi, eax
jb 0x40c9e5
lea ecx, [eax + 0x2400]
cmp ecx, esi
jb 0x40c9e5
mov ecx, dword [eax + 0x2440]
lea edx, [ecx + 1]
mov dword [eax + 0x2440], edx
mov dword [eax + ecx*4 + 0x2400], esi
jmp 0x40c9f5
mov ecx, esi
call fcn.00406280
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov al, 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2e0], 0
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov dword [esp + 0xfc], ecx
cmp eax, ecx
je 0x40cb4b
jmp 0x40ca74
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov word [esp + 0x50], 0x105
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], edi
lea ecx, [esp + 0x658]
push dword [esp + 0xc]
push dword [esp + 8]
lea edx, [esp + 0x48]
push edx
push eax
call fcn.00411efe
add esi, 0xb
mov eax, esi
cmp esi, dword [esp + 0xfc]
je 0x40cb4b
lea esi, [eax + 1]
test byte [eax], 1
mov ecx, esi
je 0x40ca81
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
movzx ecx, byte [eax]
test cl, 1
je 0x40ca92
mov ecx, dword [eax + 4]
jmp 0x40ca94
shr ecx, 1
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x2f0], 0x3d
mov eax, 1
mov dword [esp + 0x44], eax
lea eax, [esp + 0x2f0]
mov dword [esp + 0x40], eax
sub esp, 0xc
movsd xmm0, qword [esp + 0x4c]
movsd qword [esp], xmm0
mov dword [esp + 8], 0
lea ecx, [esp + 0x24]
call fcn.00411fb2
cmp eax, 0xffffffff
je 0x40caf4
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov edi, ecx
cmovb edi, eax
inc eax
cmp ecx, eax
cmovb eax, ecx
lea edx, [ebx + eax]
sub ecx, eax
jmp 0x40cb00
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
sub esp, 0x10
movq xmm0, qword [esp + 0x28]
movq qword [esp], xmm0
lea eax, [esp + 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
call fcn.00411baa
add esp, 0x10
test al, al
jne 0x40ca30
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
jmp 0x40ca30
cmp byte [esp + 0x2e0], 0
mov edi, dword [esp + 8]
je 0x40cb7f
mov ecx, edi
push dword [esp + 0x2bc]
call fcn.00411ab4
mov eax, dword [esp + 0x16c]
and eax, 1
mov edx, dword [edi]
mov ecx, edi
push 0
push eax
call dword [edx + 0x28]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x2bc]
test ecx, ecx
mov esi, dword [esp + 0x108]
je 0x40cb96
mov eax, dword [ecx]
call dword [eax + 4]
test edi, edi
je 0x40cba1
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [esp + 0x2b4]
test ecx, ecx
je 0x40cbb1
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x40cbc2
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x30c]
mov eax, dword [ecx]
call dword [eax + 0x18]
test esi, esi
je 0x40cbd9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [esp + 0x658]
call fcn.00411f1c
mov ecx, dword [esp + 0xf8]
test ecx, ecx
je 0x40cbf5
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x110], 1
je 0x40cc0e
push dword [esp + 0x118]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x2b8]
test ecx, ecx
je 0x40cc1e
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [esp + 0x2a4]
test esi, esi
je 0x40cc81
mov edi, dword [esp + 0x2a8]
mov eax, esi
cmp edi, esi
jne 0x40cc57
jmp 0x40cc71
add edi, 0xfffffff4
cmp edi, esi
je 0x40cc6a
test byte [edi - 0xc], 1
je 0x40cc50
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40cc50
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x2a8], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x28c], 1
jne 0x40cd3e
test byte [esp + 0x280], 1
jne 0x40cd5b
test byte [esp + 0x274], 1
jne 0x40cd78
test byte [esp + 0x268], 1
jne 0x40cd95
mov esi, dword [esp + 0x38]
test esi, esi
je 0x40ccf2
mov eax, dword [esi + 0x7c]
shl eax, 3
push 4
push eax
push dword [esi + 0x70]
call fcn.00411b8c
add esp, 0xc
mov eax, dword [esi + 0x6c]
shl eax, 3
push 4
push eax
push dword [esi + 0x60]
call fcn.00411b8c
add esp, 0xc
push esi
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0xdc]
test esi, esi
je 0x40cdcc
mov edi, dword [esp + 0xe0]
mov eax, esi
cmp edi, esi
jne 0x40cd2b
jmp 0x40cdbc
add edi, 0xfffffff4
cmp edi, esi
je 0x40cdb5
test byte [edi - 0xc], 1
je 0x40cd20
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x40cd20
push dword [esp + 0x294]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x280], 1
je 0x40cc9d
push dword [esp + 0x288]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x274], 1
je 0x40ccab
push dword [esp + 0x27c]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x268], 1
je 0x40ccb9
push dword [esp + 0x270]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x38]
test esi, esi
jne 0x40ccc1
jmp 0x40ccf2
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xe0], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov edi, dword [esp + 0xd0]
test edi, edi
je 0x40ce15
mov esi, dword [esp + 0xd4]
mov eax, edi
cmp esi, edi
je 0x40ce05
nop word cs:[eax + eax]
add esi, 0xfffffff4
mov ecx, esi
call fcn.00411f28
cmp esi, edi
jne 0x40cdf0
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xd4], edi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x2cc], 1
lea esi, [esp + 0x1b4]
jne 0x40ce41
mov ecx, dword [esp + 0x2c4]
mov dword [esp + 0x2c4], 0
test ecx, ecx
je 0x40ce41
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x2d0], 1
je 0x40ce5a
push dword [esp + 0x2d8]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x30], 0
je 0x40cf24
movzx eax, byte [esp + 0x1d8]
test al, 1
je 0x40ce7a
mov ecx, dword [esp + 0x1dc]
jmp 0x40ce7e
mov ecx, eax
shr ecx, 1
cmp ecx, 1
jne 0x40ce9c
test al, 1
je 0x40ce90
mov eax, dword [esp + 0x1e0]
jmp 0x40ce97
lea eax, [esp + 0x1d9]
cmp byte [eax], 0x2d
je 0x40cec6
mov word [esp + 0x668], 0x104
lea eax, [esp + 0x1d8]
mov dword [esp + 0x658], eax
push 1
lea eax, [esp + 0x65c]
push eax
call fcn.00411e50
add esp, 8
movzx eax, byte [esp + 0x1b4]
test al, 1
je 0x40cedb
mov ecx, dword [esp + 0x1b8]
jmp 0x40cedf
mov ecx, eax
shr ecx, 1
test ecx, ecx
je 0x40cf24
cmp ecx, 1
jne 0x40cf01
test al, 1
je 0x40cef5
mov eax, dword [esp + 0x1bc]
jmp 0x40cefc
lea eax, [esp + 0x1b5]
cmp byte [eax], 0x2d
je 0x40cf24
mov word [esp + 0x668], 0x104
mov dword [esp + 0x658], esi
push 1
lea eax, [esp + 0x65c]
push eax
call fcn.00411e50
add esp, 8
movzx ebx, byte [esp + 0x30]
call fcn.00411e92
push eax
call fcn.00411a9c
add esp, 4
call fcn.00411a96
test byte [esp + 0x24c], 1
jne 0x40ada7
jmp 0x40adb6
lea ecx, [esp + 0x40]
call fcn.00406090
int3