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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x328
mov ebp, dword [esp + 0x340]
mov edi, dword [esp + 0x33c]
test byte [0x424268], 1
je 0x40145f
push dword [0x424270]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov word [0x424268], 0x6c12
mov dword [0x42426e], 0x203a6372
mov dword [0x42426a], 0x2d6d766c
mov byte [0x424272], 0
lea esi, [ebp + 4]
mov ebx, esi
cmp edi, 1
jne 0x4014a8
lea edi, [edi*4]
add edi, ebp
mov eax, ebx
sub eax, esi
cmp ebx, edi
je 0x401512
add ebx, 4
sub edi, ebx
sar edi, 2
jmp 0x401516
lea edi, [edi*4 - 4]
mov ebx, esi
jmp 0x4014c8
add ebx, 4
add edi, 0xfffffffc
je 0x4014f7
mov ebp, dword [ebx]
test ebp, ebp
je 0x4014c0
push ebp
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 2
jne 0x4014c0
movzx eax, word [ebp]
cmp eax, 0x2d2d
jne 0x4014c0
mov ebp, dword [esp + 0x340]
mov edi, dword [esp + 0x33c]
jmp 0x40148d
mov eax, dword [esp + 0x33c]
lea eax, [eax*4 - 4]
xor ebx, ebx
xor edi, edi
mov ebp, dword [esp + 0x340]
jmp 0x401516
xor ebx, ebx
xor edi, edi
sar eax, 2
mov edx, dword [ebp]
lea ebp, [esp + 0x13c]
mov ecx, ebp
push edi
push ebx
push eax
push esi
call fcn.004036b0
add esp, 0x10
test byte [esp + 0x178], 1
jne 0x40157b
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x74], eax
movq xmm0, qword [ebp + 0x3c]
movq qword [esp + 0x6c], xmm0
cmp dword [esp + 0x174], 0
je 0x40159c
lea eax, [esp + 0x168]
lea ecx, [esp + 0x6c]
push eax
call fcn.0041cbc6
cmp dword [esp + 0x184], 2
je 0x4027b1
jmp 0x402d59
lea ecx, [esp + 0x6c]
push dword [esp + 0x17c]
push dword [esp + 0x184]
call fcn.00407a00
cmp dword [esp + 0x174], 0
jne 0x401557
cmp dword [esp + 0x184], 2
mov edi, dword [esp + 0x340]
jne 0x40167f
mov dword [esp + 0x1e8], 0x41d071
mov word [esp + 0x1f8], 0x103
lea ecx, [esp + 0xac]
lea esi, [esp + 0x1e8]
mov edx, esi
push 3
push 0x41d074
call fcn.00405d20
add esp, 8
test byte [esp + 0x6c], 1
je 0x4015f8
push dword [esp + 0x74]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x74], eax
movq xmm0, qword [esp + 0xac]
movq qword [esp + 0x6c], xmm0
mov word [esp + 0xbc], 0x104
lea eax, [esp + 0x6c]
mov dword [esp + 0xac], eax
cmp byte [0x4241d4], 0
je 0x40165d
mov word [esp + 0x1f8], 0x105
mov eax, dword [0x424148]
mov dword [esp + 0x1e8], eax
mov eax, dword [0x42414c]
mov dword [esp + 0x1ec], eax
push 1
push esi
call fcn.0041ca88
add esp, 8
mov dword [0x42414c], 0
lea ecx, [esp + 0xac]
push 0x424148
call fcn.0041cb4e
mov byte [0x4241d4], 1
test byte [esp + 0x168], 1
jne 0x4016f1
lea eax, [esp + 0x168]
mov ecx, dword [eax + 8]
mov dword [esp + 0x84], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x7c], xmm0
test byte [esp + 0x6c], 1
je 0x40170f
lea ecx, [esp + 0xfc]
push dword [esp + 0x70]
push dword [esp + 0x78]
call fcn.00407a00
mov edi, dword [edi]
test byte [esp + 0x7c], 1
je 0x401732
lea ecx, [esp + 0x1b0]
push dword [esp + 0x80]
push dword [esp + 0x88]
call fcn.00407a00
cmp byte [esp + 0x13c], 0
jne 0x40175d
jmp 0x401ea9
lea ecx, [esp + 0x7c]
push dword [esp + 0x16c]
push dword [esp + 0x174]
call fcn.00407a00
test byte [esp + 0x6c], 1
jne 0x4016ab
mov eax, dword [esp + 0x74]
mov dword [esp + 0x104], eax
movq xmm0, qword [esp + 0x6c]
movq qword [esp + 0xfc], xmm0
mov edi, dword [edi]
test byte [esp + 0x7c], 1
jne 0x4016c8
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1b8], eax
movq xmm0, qword [esp + 0x7c]
movq qword [esp + 0x1b0], xmm0
cmp byte [esp + 0x13c], 0
je 0x401ea9
mov dword [esp + 0x1e8], str.preproc
mov word [esp + 0x1f8], 0x103
lea ebx, [esp + 0x58]
lea esi, [esp + 0x1e8]
mov ecx, ebx
mov edx, esi
push 2
push 0x41d071
call fcn.00405d20
add esp, 8
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], ebx
cmp byte [0x424264], 0
je 0x4017d7
mov word [esp + 0x1f8], 0x105
mov eax, dword [0x4241d8]
mov dword [esp + 0x1e8], eax
mov eax, dword [0x4241dc]
mov dword [esp + 0x1ec], eax
push 1
push esi
call fcn.0041ca88
add esp, 8
mov dword [0x4241dc], 0
lea esi, [esp + 0xac]
mov ecx, esi
push 0x4241d8
call fcn.0041cb4e
mov byte [0x424264], 1
movzx eax, byte [esp + 0x7c]
test al, 1
je 0x40182f
mov eax, dword [esp + 0x84]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
movzx ebx, byte [esp + 0x58]
test bl, 1
mov dword [esp + 0x124], eax
jne 0x40184a
shr ebx, 1
lea ebp, [esp + 0x59]
jmp 0x401852
shr eax, 1
lea ecx, [esp + 0x7d]
mov dword [esp + 0x78], ecx
movzx ebx, byte [esp + 0x58]
test bl, 1
mov dword [esp + 0x124], eax
je 0x401827
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
pxor xmm0, xmm0
movq qword [esp], xmm0
mov dword [esp + 8], 0
movzx eax, byte [esp + 0x13d]
or al, byte [esp + 0x158]
je 0x401885
mov ecx, esp
push str.clang
call fcn.0041cba8
jmp 0x401912
movzx eax, byte [esp + 0x140]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x141]
cmovne eax, dword [esp + 0x148]
mov dword [esp + 0x88], eax
cmovne ecx, dword [esp + 0x144]
mov dword [esp + 0x8c], ecx
sub esp, 0x10
movq xmm0, qword [esp + 0x98]
movq qword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00406ea0
add esp, 0x10
test byte [esp + 0xb8], 1
jne 0x403579
mov ecx, esp
push esi
call fcn.0041cbc6
test byte [esp + 0xb8], 1
jne 0x401912
test byte [esp + 0xac], 1
je 0x401912
push dword [esp + 0xb4]
call sub.libc.dll_operator_delete_void_
add esp, 4
movzx eax, byte [esp]
test al, 1
je 0x401941
mov ecx, dword [esp + 8]
mov eax, dword [esp + 4]
movzx edx, byte [esp + 0x140]
test dl, 1
mov dword [esp + 0xa8], ebx
jne 0x40195b
shr edx, 1
lea edi, [esp + 0x141]
jmp 0x401969
shr eax, 1
lea ecx, [esp + 1]
movzx edx, byte [esp + 0x140]
test dl, 1
mov dword [esp + 0xa8], ebx
je 0x401936
mov edi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
lea ebx, [esp + 0x1f4]
mov dword [esp + 0x1e8], ebx
mov dword [esp + 0x1f0], 8
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], str.__driver_modegcc
mov dword [esp + 0x200], 0x11
mov dword [esp + 0x204], str._target
mov dword [esp + 0x208], 7
mov dword [esp + 0x20c], edi
mov dword [esp + 0x210], edx
mov dword [esp + 0x214], 0x41eae2
mov dword [esp + 0x218], 2
mov dword [esp + 0x21c], 0x41eae5
mov dword [esp + 0x220], 3
mov dword [esp + 0x224], str._DRC_INVOKED
mov dword [esp + 0x228], 0xc
mov dword [esp + 0x1ec], 7
pxor xmm0, xmm0
movq qword [esp + 0x28], xmm0
mov dword [esp + 0x30], 0
cmp byte [esp + 0x158], 0
je 0x401b48
movzx eax, byte [esp + 0x14c]
mov ecx, eax
shr ecx, 1
test al, 1
cmovne ecx, dword [esp + 0x150]
lea eax, [esp + 0x14d]
cmovne eax, dword [esp + 0x154]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1ec], 1
mov word [esp + 0xbc], 0x105
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
push esi
call fcn.0041ca64
add esp, 4
test al, al
jne 0x401b48
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
sub esp, 0x14
movsd xmm0, qword [esp + 0x64]
movsd qword [esp + 0xc], xmm0
movq xmm0, qword [esp + 0x78]
movq qword [esp + 4], xmm0
mov dword [esp], esi
call fcn.0041ca58
add esp, 0x14
movzx eax, byte [esp + 0xb8]
test al, 1
jne 0x401b2b
lea ecx, [esp + 0x28]
push esi
call fcn.0041cbc6
movzx eax, byte [esp + 0x28]
test al, 1
je 0x401b11
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
jmp 0x401b17
shr eax, 1
lea ecx, [esp + 0x29]
mov edx, dword [esp + 0x1e8]
mov dword [edx], ecx
mov dword [edx + 4], eax
movzx eax, byte [esp + 0xb8]
test al, 1
jne 0x401b48
test byte [esp + 0xac], 1
je 0x401b48
push dword [esp + 0xb4]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov dword [esp + 0x1c4], ebp
mov ecx, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
mov eax, dword [esp + 0x1ec]
cmp ecx, edi
je 0x401be8
nop dword [eax]
movzx ebx, byte [ecx]
lea esi, [ecx + 1]
test bl, 1
je 0x401b90
mov ebp, dword [ecx + 8]
mov ebx, dword [ecx + 4]
jmp 0x401b94
shr ebx, 1
mov ebp, esi
lea edx, [eax + 1]
cmp edx, dword [esp + 0x1f0]
ja 0x401bc8
mov ecx, dword [esp + 0x1e8]
mov dword [ecx + eax*8], ebp
mov dword [ecx + eax*8 + 4], ebx
mov eax, dword [esp + 0x1ec]
inc eax
mov dword [esp + 0x1ec], eax
add esi, 0xb
mov ecx, esi
cmp esi, edi
jne 0x401b70
jmp 0x401be8
lea ecx, [esp + 0x1e8]
push 8
push edx
lea eax, [esp + 0x1fc]
push eax
call fcn.0041c9ec
mov eax, dword [esp + 0x1ec]
jmp 0x401ba0
lea edx, [eax + 1]
cmp edx, dword [esp + 0x1f0]
ja 0x402f1c
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0x78]
mov dword [ecx + eax*8], edx
mov edx, dword [esp + 0x124]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [esp + 0x1ec]
lea ecx, [eax + 1]
mov dword [esp + 0x1ec], ecx
add eax, 2
cmp eax, dword [esp + 0x1f0]
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x1c4]
ja 0x402f3f
mov eax, dword [esp + 0x1e8]
mov dword [eax + ecx*8], 0x41d46c
mov dword [eax + ecx*8 + 4], 2
mov eax, dword [esp + 0x1ec]
lea ecx, [eax + 1]
mov dword [esp + 0x1ec], ecx
add eax, 2
cmp eax, dword [esp + 0x1f0]
ja 0x402f62
mov eax, dword [esp + 0x1e8]
mov dword [eax + ecx*8], edi
mov dword [eax + ecx*8 + 4], esi
mov ecx, dword [esp + 0x1ec]
lea eax, [ecx + 1]
mov dword [esp + 0x1ec], eax
movzx edx, byte [esp + 0x13d]
or dl, byte [esp + 0x189]
je 0x401d62
test eax, eax
je 0x401d36
mov esi, dword [esp + 0x1e8]
lea edi, [ecx*8 + 8]
xor ebx, ebx
jmp 0x401d19
mov byte [ecx], 0x20
inc dword [eax + 0x10]
call fcn.0041cac4
movsd xmm0, qword [esi + ebx]
movsd qword [esp + 0x134], xmm0
movzx ecx, byte [esp + 0x13d]
sub esp, 0x10
movq xmm0, qword [esp + 0x144]
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call fcn.0041cab8
add esp, 0x10
add ebx, 8
cmp edi, ebx
je 0x401d36
call fcn.0041cac4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
jne 0x401cd0
mov ecx, eax
push 1
push 0x41eaf6
call fcn.0041c9b6
jmp 0x401cd6
call fcn.0041cac4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x402ef9
mov byte [ecx], 0xa
inc dword [eax + 0x10]
cmp byte [esp + 0x13d], 0
jne 0x402f15
mov eax, dword [esp + 0x1ec]
pxor xmm0, xmm0
movq qword [esp + 0x3c], xmm0
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x1e8]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp + 0x120], esi
mov dword [esp + 0x11c], edx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
mov byte [esp + 0x14], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e0], 0
sub esp, 0x3c
movsd xmm0, qword [esp + 0x21c]
movsd qword [esp + 0x1c], xmm0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
movsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [esp + 8], xmm0
movq xmm0, qword [esp + 0x158]
movq qword [esp], xmm0
lea esi, [esp + 0x78]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
call fcn.0041ca52
add esp, 0x3c
movzx ecx, byte [esp + 0x3c]
test eax, eax
jne 0x4033de
test cl, 1
jne 0x402b1e
test byte [esp + 0x28], 1
jne 0x402b35
mov eax, dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
cmp eax, ecx
je 0x401e73
push eax
call sub.msvcrt.dll_free
add esp, 4
test byte [esp], 1
je 0x401e85
push dword [esp + 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea ecx, [esp + 0x1b0]
lea eax, [esp + 0x58]
push eax
call fcn.0041cbc6
test byte [esp + 0x58], 1
je 0x401ea9
push dword [esp + 0x60]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov word [esp + 0x1f8], 0x104
lea esi, [esp + 0x1b0]
mov dword [esp + 0x1e8], esi
mov word [esp + 0x1e0], 0
sub esp, 0x18
lea ebx, [esp + 0x200]
mov dword [esp + 4], ebx
lea eax, [esp + 0x70]
mov dword [esp], eax
mov word [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.0041c9c8
add esp, 0x18
test byte [esp + 0x60], 1
jne 0x4032bf
mov esi, dword [esp + 0x58]
mov dword [esp + 0x58], 0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
sub esp, 0xc
movsd xmm0, qword [esp + 0x94]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x34]
mov dword [esp], eax
call fcn.0040edb0
add esp, 0xc
movzx eax, byte [esp + 0x28]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x29]
cmovne eax, dword [esp + 0x30]
mov dword [esp + 0x64], eax
cmovne ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
sub esp, 0xc
movq xmm0, qword [esp + 0x70]
movq qword [esp + 4], xmm0
lea edi, [esp + 0xb8]
mov dword [esp], edi
call fcn.0041b160
add esp, 0xc
test byte [esp + 0xb8], 1
mov dword [esp + 0x78], esi
jne 0x401fe9
mov ebp, dword [esp + 0xac]
movq xmm0, qword [esp + 0xb0]
movdqu xmmword [esp + 0x124], xmm0
cmp byte [esp + 0x189], 0
jne 0x402025
movzx ebx, byte [esp + 0x7c]
test bl, 1
je 0x4022ed
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x4022f3
mov eax, dword [esp + 0xac]
mov dword [esp + 0xac], 0
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x4033f0
movq xmm0, qword [esp + 0xb0]
movdqu xmmword [esp + 0x124], xmm0
xor ebp, ebp
cmp byte [esp + 0x189], 0
je 0x401fc8
mov dword [esp + 0x1e8], 0x41e956
mov word [esp + 0x1f8], 0x103
mov dword [esp + 0x1fc], 0x41e95e
mov word [esp + 0x20c], 0x103
mov dword [esp + 0x210], 0x41e962
mov word [esp + 0x220], 0x103
mov dword [esp + 0x224], 0x41e969
mov word [esp + 0x234], 0x103
mov dword [esp + 0x238], 0x41e974
mov word [esp + 0x248], 0x103
mov dword [esp + 0x24c], 0x41e980
mov word [esp + 0x25c], 0x103
mov dword [esp + 0x260], str.BlockBegin
mov word [esp + 0x270], 0x103
mov dword [esp + 0x274], str.BlockEnd
mov word [esp + 0x284], 0x103
mov byte [esp + 0x299], 1
mov dword [esp + 0x288], str.Comma
mov byte [esp + 0x298], 3
mov dword [esp + 0x29c], str.Plus
mov word [esp + 0x2ac], 0x103
mov dword [esp + 0x2b0], str.Minus
mov word [esp + 0x2c0], 0x103
mov dword [esp + 0x2c4], str.Pipe
mov word [esp + 0x2d4], 0x103
mov dword [esp + 0x2d8], 0x41e9b7
mov word [esp + 0x2e8], 0x103
mov dword [esp + 0x2ec], str.Tilde
mov word [esp + 0x2fc], 0x103
mov dword [esp + 0x300], str.LeftParen
mov word [esp + 0x310], 0x103
mov dword [esp + 0x314], str.RightParen
mov word [esp + 0x324], 0x103
movdqu xmm0, xmmword [esp + 0x124]
movd ebx, xmm0
mov dword [esp + 0xa8], ebp
cmp ebp, ebx
je 0x4022d1
mov ebp, dword [esp + 0xa8]
jmp 0x402209
mov word [eax + 0xc], 0x203d
mov dword [eax + 8], 0x2065756c
mov dword [eax + 4], 0x61762074
mov dword [eax], 0x6e69203b
add dword [esi + 0x10], 0xe
mov ecx, ebp
call fcn.0041b090
mov ecx, esi
push eax
call fcn.0041c9c2
call fcn.0041cac4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x4021f0
mov byte [ecx], 0xa
inc dword [eax + 0x10]
add ebp, 0xc
cmp ebp, ebx
jne 0x402209
jmp 0x4022d1
mov ecx, eax
push 1
push 0x41dfbb
call fcn.0041c9b6
add ebp, 0xc
cmp ebp, ebx
je 0x4022d1
call fcn.0041cac4
mov esi, eax
mov ecx, ebp
call fcn.0041b140
lea eax, [eax + eax*4]
lea ecx, [esp + eax*4]
add ecx, 0x1e8
push esi
call fcn.0041cb48
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub ecx, eax
cmp ecx, 1
ja 0x402250
mov ecx, esi
push 2
push 0x41e9d6
call fcn.0041c9b6
mov esi, eax
jmp 0x402259
mov word [eax], 0x203a
add dword [esi + 0x10], 2
mov ecx, ebp
call fcn.0041b130
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
sub edi, ecx
cmp edi, edx
jae 0x402280
mov ecx, esi
push edx
push eax
call fcn.0041c9b6
jmp 0x402294
test edx, edx
je 0x402294
push edx
push eax
push ecx
mov edi, edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esi + 0x10], edi
mov ecx, ebp
call fcn.0041b140
cmp eax, 1
jne 0x4021cd
call fcn.0041cac4
mov esi, eax
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub ecx, eax
cmp ecx, 0xd
ja 0x4021a0
mov ecx, esi
push 0xe
push str.__int_value_
call fcn.0041c9b6
mov esi, eax
jmp 0x4021be
lea edi, [esp + 0xac]
mov ebp, dword [esp + 0xa8]
movzx ebx, byte [esp + 0x7c]
test bl, 1
jne 0x401fd6
shr ebx, 1
lea esi, [esp + 0x7d]
lea edx, [esp + 0x1f4]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f0], 0x80
cmp ebx, 0x81
jb 0x40233f
lea ecx, [esp + 0x1e8]
push 1
push ebx
push edx
call fcn.0041c9ec
mov ecx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1ec]
jmp 0x402347
xor eax, eax
mov ecx, edx
test ebx, ebx
je 0x40235b
add ecx, eax
push ebx
push esi
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1ec]
add eax, ebx
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x1e8]
push eax
call fcn.0041ca70
add esp, 4
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x1a4]
test eax, eax
je 0x4023ad
cmp eax, 0x4e4
je 0x4023ad
cmp eax, 0xfde9
jne 0x403558
xor ebx, ebx
cmp byte [esp + 0x1a9], 0
jne 0x4025ab
mov dword [esp + 0x50], 0
call fcn.0041cbcc
mov dword [esp + 0x54], eax
push 0x40
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
movzx eax, byte [esp + 0xfc]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0xfd]
cmovne eax, dword [esp + 0x104]
mov dword [esp + 0xac], eax
cmovne ecx, dword [esp + 0x100]
mov dword [esp + 0xb0], ecx
sub esp, 0x10
movq xmm0, qword [esp + 0xbc]
movq qword [esp], xmm0
lea ebx, [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 3
mov ecx, esi
call fcn.0041c9e6
cmp dword [esp + 0x50], 0
jne 0x40346b
lea ebx, [esp + 0x18c]
push pe_nt_image_headers32
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov edx, eax
mov eax, dword [0x41ec04]
lea ecx, [eax + 8]
mov dword [edx], ecx
mov word [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov byte [edx + 0x14], 0
mov byte [edx + 0x18], 0
mov byte [edx + 0x1c], 0
mov byte [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov byte [edx + 0x2c], 0
mov byte [edx + 0x44], 0
mov dword [edx + 0x48], 0
mov dword [edx + 0x4c], 0
mov byte [edx + 0x50], 0
lea ecx, [edx + 0x58]
pxor xmm0, xmm0
movdqu xmmword [edx + 0x58], xmm0
mov dword [edx + 0x54], ecx
mov dword [edx + 0x68], 0
mov dword [edx + 0x6c], ebx
mov ebx, edx
mov dword [edx + 0x70], esi
mov word [edx + 0x74], 1
movzx ecx, byte [esp + 0x1a8]
mov byte [edx + 4], cl
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov byte [esp + 0xc], 1
mov word [esp + 0x10], 0
mov dword [esp], 0x41eb8c
mov edx, esp
lea ecx, [esp + 0x134]
push edx
push ebx
call dword [eax + 8]
mov eax, dword [esp + 0x134]
mov dword [esp + 0x14], eax
mov dword [esp + 0x134], 0
test eax, eax
jne 0x4034d1
mov eax, dword [esp + 0x1ac]
mov ecx, eax
and ecx, 0x3ff
shr eax, 0xa
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov byte [esp + 0xb8], 1
mov word [esp + 0xbc], 0x1030
mov edx, dword [0x41ec00]
add edx, 8
mov dword [esp + 0xac], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov eax, dword [ebx]
lea ecx, [esp + 0x11c]
push edi
push ebx
call dword [eax + 0x44]
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x11c], 0
test eax, eax
jne 0x4031ff
mov dword [esp + 0x3c], ebp
movdqu xmm0, xmmword [esp + 0x124]
movq qword [esp + 0x40], xmm0
lea eax, [esp + 0x3c]
lea ecx, [esp + 0xac]
push eax
call fcn.0040f6a0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4025e4
mov dword [esp + 0x40], eax
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
lea esi, [esp + 0xac]
mov ecx, esi
call fcn.0040f720
test al, al
je 0x4029ed
cmp byte [esp + 0x1a9], 0
jne 0x402629
lea ecx, [esp + 0x50]
push ebx
call fcn.0040cca0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], eax
mov dword [esp + 0x50], 0
test eax, eax
jne 0x403252
mov dword [esp + 0x124], ebx
mov esi, dword [esp + 0xcc]
test esi, esi
je 0x402682
mov edi, dword [esp + 0xc8]
shl esi, 2
xor ebp, ebp
mov ebx, 0x1e
nop dword [eax]
lea ecx, [edi + ebp]
sub ecx, dword [esp + 0xc8]
sar ecx, 2
shr ecx, 7
cmp ecx, 0x1e
cmovae ecx, ebx
mov eax, 0x1000
shl eax, cl
push 8
push eax
push dword [edi + ebp]
call fcn.0041ca04
add esp, 0xc
add ebp, 4
cmp esi, ebp
jne 0x402650
mov esi, dword [esp + 0xe4]
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x402aff
lea edi, [esi + eax*8]
lea ebp, [esp + 0x13c]
mov ebx, dword [esp + 0x78]
nop word cs:[eax + eax]
push 8
push dword [esi + 4]
push dword [esi]
call fcn.0041ca04
add esp, 0xc
add esi, 8
cmp esi, edi
jne 0x4026b0
mov esi, dword [esp + 0xe4]
lea eax, [esp + 0xf0]
cmp esi, eax
je 0x4026e1
push esi
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0xd4]
cmp eax, ecx
je 0x4026fc
push eax
call sub.msvcrt.dll_free
add esp, 4
mov eax, dword [esp + 0xac]
test eax, eax
je 0x402717
mov dword [esp + 0xb0], eax
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x124]
test ecx, ecx
je 0x402727
mov eax, dword [ecx]
call dword [eax + 0x54]
mov eax, dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
cmp eax, ecx
je 0x402742
push eax
call sub.msvcrt.dll_free
add esp, 4
test byte [esp + 0x28], 1
je 0x402755
push dword [esp + 0x30]
call sub.libc.dll_operator_delete_void_
add esp, 4
test ebx, ebx
je 0x402760
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
test byte [esp + 0x60], 1
jne 0x40277c
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
test ecx, ecx
je 0x40277c
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x1b0], 1
jne 0x402aa6
test byte [esp + 0xfc], 1
jne 0x402ac3
test byte [esp + 0x7c], 1
jne 0x402add
cmp dword [esp + 0x184], 2
jne 0x402d59
test byte [esp + 0x6c], 1
jne 0x40281c
mov eax, dword [esp + 0x74]
mov dword [esp + 0x1dc], eax
movq xmm0, qword [esp + 0x6c]
movq qword [esp + 0x1d4], xmm0
test byte [esp + 0x178], 1
je 0x40283a
lea ecx, [esp + 0x108]
push dword [esp + 0x17c]
push dword [esp + 0x184]
call fcn.00407a00
test byte [esp + 0x140], 1
je 0x40285c
lea ecx, [esp + 0x1c8]
push dword [esp + 0x144]
push dword [esp + 0x14c]
call fcn.00407a00
jmp 0x40287a
lea ecx, [esp + 0x1d4]
push dword [esp + 0x70]
push dword [esp + 0x78]
call fcn.00407a00
test byte [esp + 0x178], 1
jne 0x4027dc
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x110], eax
movq xmm0, qword [ebp + 0x3c]
movq qword [esp + 0x108], xmm0
test byte [esp + 0x140], 1
jne 0x402800
lea eax, [esp + 0x140]
mov ecx, dword [eax + 8]
mov dword [esp + 0x1d0], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x1c8], xmm0
lea ebx, [esp + 0x1e8]
mov ecx, ebx
push 0
call fcn.0041cafa
mov word [esp + 0xbc], 0x104
lea edi, [esp + 0x1d4]
mov dword [esp + 0xac], edi
mov word [esp + 0x50], 0
sub esp, 0x18
movzx eax, word [esp + 0x68]
mov word [esp + 0x14], ax
lea esi, [esp + 0xc4]
mov dword [esp + 4], esi
lea eax, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
call fcn.0041c9c8
add esp, 0x18
test byte [esp + 0x60], 1
jne 0x40306c
lea ecx, [esp + 0x1b0]
push dword [esp + 0x58]
call fcn.0041cb12
sub esp, 0x14
movdqu xmm0, xmmword [esp + 0x1c4]
movdqu xmmword [esp + 4], xmm0
lea edi, [esp + 0x14]
mov dword [esp], edi
call fcn.0041caee
add esp, 0x14
test byte [esp + 4], 1
jne 0x402930
mov esi, dword [esp]
jmp 0x402948
mov eax, dword [esp]
mov dword [esp], 0
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x403361
xor esi, esi
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
lea eax, [esp + 0x88]
lea ecx, [esp + 0x64]
push eax
push esi
push ebx
call fcn.0041caf4
mov eax, dword [esp + 0x64]
mov dword [esp + 0x28], eax
mov dword [esp + 0x64], 0
test eax, eax
jne 0x403114
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0x8c]
jne 0x403180
mov word [esp + 0x10], 0x104
lea ebp, [esp + 0x1c8]
mov dword [esp], ebp
lea ecx, [esp + 0xac]
push edi
call fcn.0041cae8
mov ecx, dword [esp + 0xb8]
dec ecx
cmp ecx, 0x25
ja case.0x4029dc.2
mov eax, 0x14c
jmp dword [ecx*4 + 0x41ec08]
mov eax, 0x1c4
jmp case.0x4029dc.37
lea ebp, [esp + 0x14]
jmp 0x402a45
mov eax, dword [edi]
lea ecx, [esp + 0x114]
push ebx
push edi
call dword [eax + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x94], eax
mov dword [esp + 0x114], 0
test eax, eax
jne 0x402ff8
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov ecx, esi
call fcn.0040f720
test al, al
jne 0x4025fa
mov ecx, ebp
push esi
call fcn.0040f730
test byte [esp + 0x18], 1
jne 0x402a80
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x189], 0
je 0x402a6e
call fcn.0041cac4
mov edx, dword [edi]
mov ecx, edi
push eax
call dword [edx]
cmp byte [esp + 0x1a9], 0
je 0x402a00
test edi, edi
jne 0x402a2f
jmp 0x402a36
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x50], eax
test eax, eax
jne 0x402f85
xor edi, edi
cmp byte [esp + 0x189], 0
jne 0x402a62
jmp 0x402a6e
push dword [esp + 0x1b8]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0xfc], 1
je 0x402798
push dword [esp + 0x104]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x7c], 1
je 0x4027a3
push dword [esp + 0x84]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp dword [esp + 0x184], 2
je 0x4027b1
jmp 0x402d59
lea ebp, [esp + 0x13c]
mov ebx, dword [esp + 0x78]
lea eax, [esp + 0xf0]
cmp esi, eax
jne 0x4026d8
jmp 0x4026e1
push dword [esp + 0x44]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x28], 1
je 0x401e58
push dword [esp + 0x30]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x1e8]
lea ecx, [esp + 0x1f4]
cmp eax, ecx
jne 0x401e6a
jmp 0x401e73
mov eax, 0x8664
jmp case.0x4029dc.37
mov eax, 0xaa64
lea ebp, [esp + 0x28]
push 0
push ebx
push eax
push ebp
call fcn.0041cb00
add esp, 0x10
test byte [esp + 0x2c], 1
jne 0x402b86
mov edi, dword [esp + 0x28]
jmp 0x402ba0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4031ff
xor edi, edi
movzx eax, byte [esp + 0x108]
mov ecx, eax
shr ecx, 1
test al, 1
lea eax, [esp + 0x109]
cmovne eax, dword [esp + 0x110]
mov dword [esp + 0x3c], eax
cmovne ecx, dword [esp + 0x10c]
mov dword [esp + 0x40], ecx
mov eax, dword [edi + 8]
sub eax, dword [edi + 4]
sub esp, 0x14
movq xmm0, qword [esp + 0x50]
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
mov dword [esp], ebp
mov dword [esp + 0x10], 0
call fcn.0041c9f8
add esp, 0x14
test byte [esp + 0x2c], 1
mov dword [esp + 0x124], esi
jne 0x402c0d
mov ebx, dword [esp + 0x28]
jmp 0x402c2a
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], 0
mov dword [esp + 0x94], eax
test eax, eax
jne 0x403252
xor ebx, ebx
mov ebp, dword [edi + 4]
mov esi, dword [edi + 8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
sub esi, ebp
je 0x402c45
push esi
push ebp
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [ebx]
lea ecx, [esp + 0x94]
push ebx
call dword [eax + 0xc]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 0
test eax, eax
jne 0x4031ac
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
test byte [esp + 0xac], 1
mov esi, dword [esp + 0x124]
je 0x402c9e
push dword [esp + 0xb4]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov edi, dword [esp + 0x88]
test edi, edi
je 0x402cf1
mov ebx, dword [esp + 0x8c]
mov eax, edi
cmp ebx, edi
jne 0x402cc7
jmp 0x402ce1
add ebx, 0xfffffff4
cmp ebx, edi
je 0x402cda
test byte [ebx - 0xc], 1
je 0x402cc0
push dword [ebx - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x402cc0
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8c], edi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test esi, esi
je 0x402cfc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test byte [esp + 0x60], 1
jne 0x402d18
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], 0
test ecx, ecx
je 0x402d18
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x1e8]
call fcn.00407840
test byte [esp + 0x1c8], 1
jne 0x402eba
test byte [esp + 0x108], 1
jne 0x402ed7
test byte [esp + 0x1d4], 1
je 0x402d59
push dword [esp + 0x1dc]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x6c], 1
je 0x402d6c
push dword [esp + 0x74]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x18c]
test esi, esi
je 0x402dc1
mov edi, dword [esp + 0x190]
mov eax, esi
cmp edi, esi
jne 0x402d97
jmp 0x402db1
add edi, 0xfffffff4
cmp edi, esi
je 0x402daa
test byte [edi - 0xc], 1
je 0x402d90
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x402d90
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x190], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x178], 1
jne 0x402df3
test byte [esp + 0x168], 1
jne 0x402e0c
mov esi, dword [esp + 0x15c]
test esi, esi
jne 0x402e26
cmp byte [esp + 0x158], 0
jne 0x402e7b
jmp 0x402e94
push dword [esp + 0x180]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x168], 1
je 0x402dd5
push dword [esp + 0x170]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov esi, dword [esp + 0x15c]
test esi, esi
je 0x402de0
mov edi, dword [esp + 0x160]
mov eax, esi
cmp edi, esi
jne 0x402e47
jmp 0x402e61
add edi, 0xfffffff4
cmp edi, esi
je 0x402e5a
test byte [edi - 0xc], 1
je 0x402e40
push dword [edi - 4]
call sub.libc.dll_operator_delete_void_
add esp, 4
jmp 0x402e40
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x160], esi
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp byte [esp + 0x158], 0
je 0x402e94
test byte [esp + 0x14c], 1
je 0x402e94
push dword [esp + 0x154]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x140], 1
je 0x402ead
push dword [esp + 0x148]
call sub.libc.dll_operator_delete_void_
add esp, 4
xor eax, eax
add esp, 0x328
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0x1d0]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x108], 1
je 0x402d40
push dword [esp + 0x110]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x1d4], 1
jne 0x402d4a
jmp 0x402d59
mov ecx, eax
push 1
push 0x41dfbb
call fcn.0041c9b6
cmp byte [esp + 0x13d], 0
je 0x401d5b
push 0
call sub.msvcrt.dll_exit
lea ecx, [esp + 0x1e8]
push 8
push edx
lea eax, [esp + 0x1fc]
push eax
call fcn.0041c9ec
mov eax, dword [esp + 0x1ec]
jmp 0x401bf8
lea ecx, [esp + 0x1e8]
push 8
push eax
lea eax, [esp + 0x1fc]
push eax
call fcn.0041c9ec
mov ecx, dword [esp + 0x1ec]
jmp 0x401c40
lea ecx, [esp + 0x1e8]
push 8
push eax
lea eax, [esp + 0x1fc]
push eax
call fcn.0041c9ec
mov ecx, dword [esp + 0x1ec]
jmp 0x401c77
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x50]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], eax
mov dword [esp + 0x50], 0
call fcn.0041cabe
mov word [esp + 0x10], 0x104
mov dword [esp], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movups xmm0, xmmword [esp + 0x1c]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0xb0]
mov dword [esp], eax
call fcn.0041ca22
add esp, 0x1c
mov ecx, dword [esp + 0x94]
jmp 0x403549
mov ecx, dword [0x424288]
test ecx, ecx
jne 0x403007
call fcn.00407770
mov eax, dword [ecx]
lea edx, [esp + 0x94]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 0
call fcn.0041cabe
mov word [esp + 0x10], 0x104
mov dword [esp], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movups xmm0, xmmword [esp + 0x1c]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0041ca22
add esp, 0x1c
mov ecx, dword [esp + 0x14]
jmp 0x403549
mov dword [esp + 0x3c], str.Error_opening_file_
mov word [esp + 0x4c], 0x103
mov word [esp + 0x24], 0x104
mov dword [esp + 0x14], edi
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
lea edi, [esp + 0x28]
push eax
push ecx
push edi
call fcn.00406880
add esp, 0xc
mov dword [esp + 0x94], 0x41e952
mov word [esp + 0xa4], 0x103
lea eax, [esp + 0x94]
mov ebx, esp
push eax
push edi
push ebx
call fcn.00406880
add esp, 0xc
lea ecx, [esp + 0x58]
call fcn.00406dc0
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
lea edi, [esp + 0x88]
mov ecx, edi
push eax
call fcn.0041cb96
mov word [esp + 0x1c0], 0x104
mov dword [esp + 0x1b0], edi
lea eax, [esp + 0x1b0]
push eax
push ebx
push esi
call fcn.00406880
add esp, 0xc
mov ecx, esi
call fcn.00406090
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x28]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 0x28], 0
call fcn.0041cabe
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0xc8]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
mov dword [esp], edi
jmp 0x40345b
push eax
push str.Duplicate_resources:
push edi
call fcn.0041cbe4
add esp, 0xc
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], edi
lea ecx, [esp + 0xac]
call fcn.00406090
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], 0
call fcn.0041cabe
mov word [esp + 0x10], 0x104
mov dword [esp], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0x1c]
jmp 0x4033bc
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], 0
call fcn.0041cabe
mov word [esp + 0x10], 0x104
mov dword [esp], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0x1c]
jmp 0x40352c
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x94]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 0
call fcn.0041cabe
mov word [esp + 0x10], 0x104
mov dword [esp], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0x1c]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x30]
mov dword [esp], eax
jmp 0x40305b
mov dword [esp + 0x28], str.Error_opening_file_
mov word [esp + 0x38], 0x103
mov word [esp + 0x4c], 0x104
mov dword [esp + 0x3c], esi
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x28]
mov esi, esp
push eax
push ecx
push esi
call fcn.00406880
add esp, 0xc
mov dword [esp + 0x14], 0x41e952
mov word [esp + 0x24], 0x103
lea eax, [esp + 0x14]
lea edi, [esp + 0xac]
push eax
push esi
push edi
call fcn.00406880
add esp, 0xc
lea ecx, [esp + 0x58]
call fcn.00406dc0
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
lea esi, [esp + 0x88]
mov ecx, esi
push eax
call fcn.0041cb96
mov word [esp + 0xa4], 0x104
mov dword [esp + 0x94], esi
lea eax, [esp + 0x94]
push eax
push edi
push ebx
call fcn.00406880
add esp, 0xc
mov ecx, ebx
call fcn.00406090
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], 0
call fcn.0041cabe
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0xc8]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
call fcn.0041ca22
add esp, 0x1c
mov ecx, dword [esp + 0x28]
jmp 0x403549
test cl, 1
je 0x40360e
mov ecx, dword [esp + 0x40]
jmp 0x403610
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x3c]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 0x3c], 0
call fcn.0041cabe
mov word [esp + 0x1f8], 0x104
mov dword [esp + 0x1e8], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0x214]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0x204]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x1c]
mov dword [esp], eax
call fcn.0041ca22
add esp, 0x1c
mov ecx, dword [esp]
jmp 0x403549
lea eax, [esp + 0xfc]
lea esi, [esp + 0x14]
push eax
push str.Error_opening_output_file_
push esi
call fcn.0041cbe4
add esp, 0xc
lea edi, [esp + 0x3c]
push 0x41e952
push esi
push edi
call fcn.00406e30
add esp, 0xc
lea esi, [esp + 0x94]
mov ecx, esi
push ebx
call fcn.0041cb96
mov ebx, esp
push esi
push edi
push ebx
call fcn.00406de0
add esp, 0xc
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], ebx
lea ecx, [esp + 0xac]
call fcn.00406090
mov ecx, dword [0x424288]
test ecx, ecx
je 0x403002
mov eax, dword [ecx]
lea edx, [esp + 0x14]
push edx
call dword [eax + 0x18]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], 0
call fcn.0041cabe
mov word [esp + 0xbc], 0x104
mov dword [esp + 0xac], 0x424268
sub esp, 0x1c
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x18], ecx
movdqu xmm0, xmmword [esp + 0xc8]
movdqu xmmword [esp + 8], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x58]
mov dword [esp], eax
call fcn.0041ca22
add esp, 0x1c
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x403552
mov eax, dword [ecx]
call dword [eax + 4]
push esi
call sub.msvcrt.dll_exit
mov dword [esp + 0xac], str.Unsupported_code_page__only_0__1252_and_65001_are_supported_
mov word [esp + 0xbc], 0x103
lea ecx, [esp + 0xac]
call fcn.00406090
call fcn.0041cabe
mov ecx, eax
push str.llvm_rc:_Unable_to_find_clang_for_preprocessing.
call fcn.00406040
mov ecx, eax
push 0x41dfbb
call fcn.00406040
xor ebx, ebx
cmp byte [esp + 0x188], 0
sete bl
mov eax, str._no_preprocess
mov esi, str.__no_preprocess
cmove esi, eax
xor ebx, 0xf
call fcn.0041cabe
mov ecx, eax
push str.Pass
call fcn.00406040
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebx
sub esp, 8
movsd xmm0, qword [esp + 0x30]
movsd qword [esp], xmm0
mov ecx, eax
call fcn.004063e0
mov ecx, eax
push str._to_disable_preprocessing._n
call fcn.00406040
mov dword [esp + 0x1e8], str.llvm_rc:_Unable_to_preprocess.
mov word [esp + 0x1f8], 0x103
lea ecx, [esp + 0x1e8]
call fcn.00406090
shr ecx, 1
test ecx, ecx
jne 0x403635
mov dword [esp + 0xac], str.llvm_rc:_Preprocessing_failed.
mov word [esp + 0xbc], 0x103
lea ecx, [esp + 0xac]
call fcn.00406090
lea edi, [esp + 0x94]
push esi
push str.llvm_rc:_Preprocessing_failed:
jmp 0x403186
mov dword [esp + 0x3c], str.Unsupported_architecture_in_target_
mov word [esp + 0x4c], 0x103
mov word [esp + 0x24], 0x104
mov dword [esp + 0x14], ebp
lea eax, [esp + 0x14]
lea ecx, [esp + 0x3c]
lea esi, [esp + 0x28]
push eax
push ecx
push esi
call fcn.00406880
add esp, 0xc
mov dword [esp + 0x94], 0x41ebfd
mov word [esp + 0xa4], 0x103
lea eax, [esp + 0x94]
push eax
push esi
push edi
call fcn.00406880
add esp, 0xc
mov ecx, edi
call fcn.00406090
int3