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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2e8
mov edi, edx
mov dword [esp + 0x1c], ecx
test edx, edx
je 0x4036d3
mov dword [esp], edi
call sub.msvcrt.dll_strlen
jmp 0x4036d5
xor eax, eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov esi, dword [ebp + 8]
movsd xmm0, qword [esp + 0x70]
movsd qword [esp], xmm0
mov dword [esp + 8], 0
call fcn.0041caa0
mov ebx, edx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x108], eax
mov dword [esp + 0x1f8], str.0123456789._
mov dword [esp + 0x1fc], 0xc
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
mov dword [esp + 8], 0xffffffff
lea edi, [esp + 0x108]
mov ecx, edi
call fcn.0041cb60
sub esp, 0xc
inc eax
mov ecx, dword [esp + 0x10c]
cmp eax, ecx
cmovae eax, ecx
mov edx, ecx
sub edx, ebx
add edx, eax
cmp ecx, edx
cmovb edx, ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x1fc], 7
mov dword [esp + 0x1f8], str.windres
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
mov ecx, edi
call fcn.0041cb72
sub esp, 8
test al, al
je 0x40389f
mov eax, dword [esp + 0x10c]
lea ecx, [eax - 7]
cmp eax, ecx
cmovb ecx, eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x1fc], 5
mov dword [esp + 0x1f8], str.llvm_
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
lea ecx, [esp + 0x108]
call fcn.0041cb72
sub esp, 8
test al, al
je 0x4037fd
mov eax, dword [esp + 0x10c]
lea ecx, [eax - 5]
cmp eax, ecx
cmovb ecx, eax
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x1fc], 1
mov dword [esp + 0x1f8], 0x41d0ef
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
lea ecx, [esp + 0x108]
call fcn.0041cb72
sub esp, 8
mov edi, dword [esp + 0x108]
test al, al
je 0x403858
mov eax, dword [esp + 0x10c]
lea ecx, [eax - 1]
cmp eax, ecx
cmovb ecx, eax
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], ecx
test edi, edi
je 0x403ee0
mov ebx, dword [esp + 0x10c]
cmp ebx, 0xfffffff8
jae 0x405c9d
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
cmp ebx, 0xb
jae 0x403ef3
mov eax, ebx
add al, bl
mov byte [esp + 0x1f8], al
lea esi, [esp + 0x1f9]
test ebx, ebx
jne 0x403f27
jmp 0x403f37
mov dword [esp + 0x1f8], 0x41e344
mov dword [esp + 0x1fc], 0x1c
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
mov dword [esp + 8], 1
lea edi, [esp + 0x70]
mov ecx, edi
call fcn.0041ca46
sub esp, 0xc
mov dword [esp + 0x70], 0x41e0dc
mov eax, dword [esp + 0x1c]
mov word [eax], 1
mov byte [eax + 0x1c], 0
xorps xmm0, xmm0
movsd qword [eax + 4], xmm0
movsd qword [eax + 9], xmm0
xorps xmm1, xmm1
movups xmmword [eax + 0x20], xmm1
movups xmmword [eax + 0x30], xmm1
movsd qword [eax + 0x40], xmm0
mov dword [eax + 0x48], 1
mov word [eax + 0x4c], 0
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
movsd qword [eax + 0x60], xmm0
movsd qword [eax + 0x66], xmm0
mov dword [eax + 0x70], 0x409
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x194], 0xffffffff
movsd xmm0, qword [esp + 0x54]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x1ec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x19c]
mov dword [esp + 0xc], eax
mov dword [esp], edi
mov dword [esp + 0x14], 0xffffffff
lea edi, [esp + 0x1f8]
mov ecx, edi
call fcn.0041cb36
sub esp, 0x18
mov ecx, edi
mov edx, 4
call fcn.00406be0
test al, al
jne 0x4059b3
mov dword [esp + 0x1e4], 1
mov dword [esp], edi
mov dword [esp + 4], 1
lea edi, [esp + 0x40]
mov ecx, edi
call fcn.0041cb24
sub esp, 8
mov eax, dword [esp + 0x44]
mov edx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
lea ecx, [esi + edx*4]
mov dword [esp + 0x108], eax
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov ecx, edi
call fcn.00406430
sub esp, 0x10
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x40]
cmp eax, 0xc
jne 0x405a59
lea ecx, [esp + 0x1f8]
mov edx, 3
call fcn.00406be0
mov edi, dword [esp + 0x1c]
mov byte [edi + 1], al
lea esi, [esp + 0x28]
mov dword [esp], esi
call fcn.0041ca5e
mov word [esp + 0xf0], 0x104
mov dword [esp + 0xe0], esi
lea eax, [esp + 0xe0]
mov dword [esp], eax
lea ecx, [esp + 0x108]
call fcn.0041cae8
sub esp, 4
test byte [esp + 0x28], 1
je 0x403a69
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x114]
dec eax
cmp eax, 0x25
ja case.0x403a7a.2
jmp dword [eax*4 + 0x41eca0]
lea esi, [edi + 4]
mov dword [esp], 0xe
lea ebx, [esp + 0x108]
mov ecx, ebx
call fcn.0041cad6
sub esp, 4
mov dword [esp], 2
mov ecx, ebx
call fcn.0041cae2
sub esp, 4
mov dword [esp], 0x13
mov ecx, ebx
call fcn.0041caca
sub esp, 4
mov dword [esp], 1
mov ecx, ebx
call fcn.0041cad0
sub esp, 4
test byte [esp + 0x108], 1
jne 0x403afb
mov eax, dword [esp + 0x110]
mov dword [esp + 0xe8], eax
movsd xmm0, qword [esp + 0x108]
movsd qword [esp + 0xe0], xmm0
jmp 0x403b38
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp], ecx
lea ecx, [esp + 0xe0]
call fcn.00407a00
sub esp, 8
test byte [esp + 0x108], 1
je 0x403b38
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
test byte [esi], 1
je 0x403b48
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0xe8]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esi], xmm0
mov dword [esp + 0x108], 0xf
mov dword [esp + 0x10c], 7
mov dword [esp + 0x110], 0x18
lea eax, [esp + 0x108]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], 3
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp], xmm0
lea ecx, [esp + 0x1f8]
call fcn.0041cb30
sub esp, 8
mov ecx, dword [esp + 0x1fc]
lea esi, [ecx + eax*4]
cmp eax, edx
je 0x403c5e
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
lea ebx, [edx*4]
shl eax, 2
sub ebx, eax
jmp 0x403bec
add esi, 4
add ebx, 0xfffffffc
je 0x40429d
mov edi, dword [esi]
test edi, edi
je 0x403be0
mov dword [esp + 0x108], 0xf
mov dword [esp], 0xf
mov ecx, edi
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x403c52
mov dword [esp + 0x108], 7
mov dword [esp], 7
mov ecx, edi
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x403c52
mov dword [esp + 0x108], 0x18
mov dword [esp], 0x18
mov ecx, edi
call fcn.0041cb1e
sub esp, 4
test al, al
je 0x403be0
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + edx*4]
mov dword [esp + 0x20], eax
cmp esi, eax
je 0x4042a1
lea eax, [edi + 0x20]
mov dword [esp + 0x3c], eax
jmp 0x403c8a
cmp esi, dword [esp + 0x20]
je 0x4042a1
mov edi, dword [esi]
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
cmp eax, 7
je 0x403ccc
cmp eax, 0x18
je 0x403cb8
cmp eax, 0xf
jne 0x403d60
mov byte [esp + 0x108], 4
mov word [esp + 0x109], 0x492d
jmp 0x403cde
mov byte [esp + 0x108], 4
mov word [esp + 0x109], 0x552d
jmp 0x403cde
mov byte [esp + 0x108], 4
mov word [esp + 0x109], 0x442d
mov byte [esp + 0x10b], 0
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebx + 0x28]
jae 0x403d20
mov ecx, dword [esp + 0x110]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x108]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [ebx + 0x24], eax
jmp 0x403d60
lea eax, [esp + 0x108]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
call fcn.00406920
sub esp, 4
test byte [esp + 0x108], 1
mov dword [ebx + 0x24], eax
je 0x403d60
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
nop word cs:[eax + eax]
mov eax, dword [edi + 0x1c]
mov edi, dword [eax]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp eax, 0xfffffff8
jae 0x4059a7
mov ebx, eax
mov dword [esp + 0x24], edi
cmp eax, 0xb
jae 0x403dd0
mov eax, ebx
add al, bl
mov byte [esp + 0x108], al
lea ecx, [esp + 0x109]
test ebx, ebx
mov edi, dword [esp + 0x1c]
jne 0x403dfa
nop dword [eax + eax]
mov byte [ecx + ebx], 0
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jae 0x403e22
mov ecx, dword [esp + 0x110]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x108]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [edi + 0x24], eax
jmp 0x403e60
mov edi, ebx
or edi, 7
lea eax, [edi + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, eax
mov dword [esp + 0x110], eax
add edi, 2
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], ebx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov edi, ecx
call sub.msvcrt.dll_memmove
mov ecx, edi
mov edi, dword [esp + 0x1c]
mov byte [ecx + ebx], 0
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jb 0x403dac
lea eax, [esp + 0x108]
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
call fcn.00406920
sub esp, 4
test byte [esp + 0x108], 1
mov dword [edi + 0x24], eax
je 0x403e60
mov eax, dword [esp + 0x110]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
nop word cs:[eax + eax]
add esi, 4
cmp esi, dword [esp + 0x20]
je 0x4042a1
mov ebx, dword [esi]
test ebx, ebx
je 0x403e60
mov dword [esp + 0x108], 0xf
mov dword [esp], 0xf
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x403c80
mov dword [esp + 0x108], 7
mov dword [esp], 7
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x403c80
mov dword [esp + 0x108], 0x18
mov dword [esp], 0x18
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
je 0x403e60
jmp 0x403c80
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
xor ecx, ecx
xor eax, eax
xor edx, edx
xor esi, esi
xor ebx, ebx
jmp 0x403f66
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x24]
or ebx, 7
lea eax, [ebx + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov esi, eax
mov dword [esp + 0x200], eax
add ebx, 2
mov dword [esp + 0x1f8], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1fc], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov byte [esi + ebx], 0
movzx ecx, byte [esp + 0x1f8]
mov eax, dword [esp + 0x1fc]
mov ebx, dword [esp + 0x200]
test cl, 1
jne 0x403f99
movzx edx, byte [esp + 0x1f9]
movzx esi, word [esp + 0x1fa]
mov edi, dword [esp + 0x1c]
mov byte [esp + 0x1a8], cl
mov byte [esp + 0x1a9], dl
mov word [esp + 0x1aa], si
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], ebx
mov al, 1
mov dword [esp + 0x1a4], eax
jmp 0x403fbe
mov dword [esp + 4], eax
mov dword [esp], ebx
lea ecx, [esp + 0x1a8]
call fcn.00407a00
sub esp, 8
mov dword [esp + 0x1a4], 0
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x1f8], 0x41d5fc
mov dword [esp + 0x1fc], 0x2f
movsd xmm0, qword [esp + 0x1f8]
movsd qword [esp], xmm0
mov dword [esp + 8], 0
lea esi, [esp + 0x108]
mov ecx, esi
call fcn.0041ca46
sub esp, 0xc
mov dword [esp + 0x108], 0x41d284
mov word [edi], 1
mov byte [edi + 0x1c], 0
xorps xmm0, xmm0
movsd qword [edi + 4], xmm0
movsd qword [edi + 9], xmm0
xorps xmm1, xmm1
movups xmmword [edi + 0x20], xmm1
movups xmmword [edi + 0x30], xmm1
movsd qword [edi + 0x40], xmm0
mov dword [edi + 0x48], 1
mov word [edi + 0x4c], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
movsd qword [edi + 0x60], xmm0
movsd qword [edi + 0x66], xmm0
mov dword [edi + 0x70], 0x409
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x2dc], 0xffffffff
movsd xmm0, qword [esp + 0x1bc]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x2e0]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1f4]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 0x14], 0xffffffff
mov esi, edi
lea edi, [esp + 0x1f8]
mov ecx, edi
call fcn.0041cb36
sub esp, 0x18
mov byte [esi + 0x4c], 1
mov ecx, edi
mov edx, 0xc
call fcn.00405f00
test al, al
jne 0x405a06
mov dword [esp + 0x1c8], ebx
lea edi, [esp + 0x1f8]
mov ecx, edi
mov edx, 0x2e
call fcn.00405f00
test al, al
mov esi, dword [esp + 0x20]
jne 0x405a7a
mov dword [esp + 0x2d8], 1
mov dword [esp], edi
mov dword [esp + 4], 1
lea ebx, [esp + 0x54]
mov ecx, ebx
call fcn.0041cb24
sub esp, 8
mov eax, dword [esp + 0x58]
mov edx, dword [ebp + 0x14]
lea ecx, [esi + edx*4]
mov dword [esp + 0x70], eax
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov ecx, ebx
call fcn.00406430
sub esp, 0x10
mov ecx, edi
mov edx, 0x14
call fcn.00405f00
test al, al
je 0x4041d0
mov dword [esp + 0x2d4], 0x14
mov dword [esp + 0x60], 0x41d070
mov dword [esp + 0x64], 0
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x14
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
test eax, eax
mov edi, dword [esp + 0x1c]
je 0x40427a
mov ebx, edx
cmp edx, 0xfffffff8
jae 0x40599e
cmp ebx, 0xb
jae 0x404899
mov ecx, ebx
add cl, bl
mov byte [esp + 0x70], cl
lea edi, [esp + 0x71]
test ebx, ebx
jne 0x4048c2
jmp 0x4048d2
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
je 0x405ca9
add ecx, 0x2c
mov dword [esp], eax
call fcn.0041cbc6
sub esp, 4
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
lea edi, [esi + 0xc]
cmp edi, ebx
jne 0x404231
jmp 0x404267
lea eax, [esi + 0xc]
mov ecx, dword [esi + 0x14]
mov dword [esi + 8], ecx
movsd xmm0, qword [esi + 0xc]
movsd qword [esi], xmm0
mov word [esi + 0xc], 0
add esi, 0x18
cmp esi, ebx
mov esi, eax
je 0x404243
test byte [esi], 1
je 0x404210
mov eax, dword [esi + 8]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x404210
mov edi, dword [esp + 0x58]
mov esi, eax
cmp eax, edi
jne 0x404267
mov dword [esp + 0x58], esi
mov edi, dword [esp + 0x1c]
jmp 0x4048ff
add edi, 0xfffffff4
cmp edi, esi
je 0x40424d
test byte [edi - 0xc], 1
je 0x404260
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x404260
xorps xmm0, xmm0
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0
lea esi, [edi + 0x2c]
test byte [edi + 0x2c], 1
jne 0x4048e3
jmp 0x4048ee
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
lea ecx, [edi + 0x2c]
mov dword [esp], eax
call fcn.0041cbc6
sub esp, 4
lea esi, [esp + 0x1f8]
mov ecx, esi
mov edx, 0x19
call fcn.00406be0
mov byte [edi + 0x4d], al
mov ecx, esi
mov edx, 0x12
call fcn.00406be0
xor al, 1
mov byte [edi], al
mov dword [esp + 0x1dc], 0xf
mov dword [esp], esi
mov dword [esp + 4], 0xf
lea ecx, [esp + 0x108]
call fcn.0041cb24
sub esp, 8
mov esi, dword [edi + 0x50]
test esi, esi
je 0x40434e
mov ebx, edi
mov edi, dword [edi + 0x54]
mov eax, esi
cmp edi, esi
jne 0x404327
jmp 0x404341
add edi, 0xfffffff4
cmp edi, esi
je 0x40433a
test byte [edi - 0xc], 1
je 0x404320
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x404320
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0x54], esi
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov edi, ebx
movsd xmm0, qword [esp + 0x108]
movsd qword [edi + 0x50], xmm0
mov eax, dword [esp + 0x110]
mov dword [edi + 0x58], eax
lea ecx, [esp + 0x1f8]
mov edx, 0x1b
call fcn.00406be0
mov byte [edi + 0x5c], al
test al, al
je 0x40438b
mov dword [esp], 0x41e089
call dword [sym.imp.msvcrt.dll__putenv]
lea ebx, [esp + 0x1f8]
mov ecx, ebx
mov edx, 5
call fcn.00406be0
test al, al
je 0x404444
mov dword [esp + 0x1d4], 5
mov dword [esp + 0x1bc], 0x41d070
mov dword [esp + 0x1c0], 0
movsd xmm0, qword [esp + 0x1bc]
movsd qword [esp + 4], xmm0
mov dword [esp], 5
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe0], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp], xmm0
lea eax, [esp + 0x108]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xa
call fcn.0041ca16
test al, al
jne 0x405aa1
mov eax, dword [esp + 0x108]
mov ecx, eax
sar ecx, 0x1f
xor ecx, dword [esp + 0x10c]
jne 0x405aa1
mov dword [edi + 0x68], eax
mov ecx, ebx
mov edx, 6
call fcn.00406be0
mov byte [edi + 0x6d], al
mov dword [esp + 0x68], 9
mov dword [esp], ebx
mov dword [esp + 4], 9
lea ecx, [esp + 0x28]
call fcn.0041cb24
sub esp, 8
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jne 0x404666
movzx ebx, byte [edi + 0x2c]
test bl, 1
je 0x404493
mov eax, edi
mov edi, dword [edi + 0x34]
mov ebx, dword [eax + 0x30]
jmp 0x404498
add edi, 0x2d
shr ebx, 1
lea ecx, [esp + 0x114]
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0x80
cmp ebx, 0x81
jb 0x4044f2
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], 1
lea ecx, [esp + 0x108]
call fcn.0041c9ec
sub esp, 0xc
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
jmp 0x4044f8
xor eax, eax
test ebx, ebx
je 0x404511
add ecx, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x10c]
add eax, ebx
mov dword [esp + 0x10c], eax
lea esi, [esp + 0x108]
mov dword [esp], esi
call fcn.0041ca70
mov dword [esp + 0xe0], 0x41d074
mov word [esp + 0xf0], 0x103
lea eax, [esp + 0xe0]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], 0
call fcn.0041ca94
mov ebx, dword [esp + 0x10c]
cmp ebx, 0xfffffff8
jae 0x405cdf
mov ecx, dword [esp + 0x108]
cmp ebx, 0xb
jae 0x4045c7
mov eax, ebx
add al, bl
mov byte [esp + 0xe0], al
lea edi, [esp + 0xe1]
test ebx, ebx
jne 0x4045f7
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jae 0x404615
mov ecx, dword [esp + 0xe8]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0xe0]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x114]
jmp 0x404653
mov esi, ebx
or ebx, 7
lea eax, [ebx + 1]
mov dword [esp], eax
mov edi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
mov edi, eax
mov dword [esp + 0xe8], eax
add ebx, 2
mov dword [esp + 0xe0], ebx
mov ebx, esi
mov dword [esp + 0xe4], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jb 0x404599
lea eax, [esp + 0xe0]
mov dword [esp], eax
lea ecx, [esp + 0x28]
call fcn.00406920
sub esp, 4
mov dword [esp + 0x2c], eax
test byte [esp + 0xe0], 1
mov edi, dword [esp + 0x1c]
lea esi, [esp + 0x114]
je 0x404653
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x108]
cmp eax, esi
je 0x404666
mov dword [esp], eax
call sub.msvcrt.dll_free
cmp byte [edi + 0x6d], 0
jne 0x40468d
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
sub ecx, eax
cmp ecx, 0xc
jne 0x405ceb
lea ecx, [edi + 0x3c]
mov dword [esp], eax
call fcn.0041cbc6
sub esp, 4
lea ebx, [esp + 0x1f8]
mov ecx, ebx
mov edx, 0x14
call fcn.00406be0
mov byte [edi + 0x6c], al
mov ecx, ebx
mov edx, 0x11
call fcn.00406be0
test al, al
je 0x4047b4
mov dword [esp + 0x1cc], 0x11
mov dword [esp + 0x1b4], 0x41d070
mov dword [esp + 0x1b8], 0
movsd xmm0, qword [esp + 0x1b4]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x11
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x10c], 2
mov dword [esp + 0x108], 0x41d260
movsd xmm0, qword [esp + 0x108]
movsd qword [esp], xmm0
lea ecx, [esp + 0x60]
call fcn.0041cb78
sub esp, 8
test al, al
je 0x404758
mov ecx, dword [esp + 0x64]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
sub ecx, eax
add eax, dword [esp + 0x60]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
jmp 0x404760
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe0], eax
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp], xmm0
lea eax, [esp + 0x108]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x10
call fcn.0041ca1c
test al, al
jne 0x405b49
cmp dword [esp + 0x10c], 0
jne 0x405b49
mov eax, dword [esp + 0x108]
mov dword [edi + 0x70], eax
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4047fa
mov edi, dword [esp + 0x2c]
mov eax, esi
cmp edi, esi
jne 0x4047d7
jmp 0x4047ee
add edi, 0xfffffff4
cmp edi, esi
je 0x4047ea
test byte [edi - 0xc], 1
je 0x4047d0
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x4047d0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], esi
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov esi, dword [esp + 0x40]
test esi, esi
je 0x40483a
mov edi, dword [esp + 0x44]
mov eax, esi
cmp edi, esi
jne 0x404817
jmp 0x40482e
add edi, 0xfffffff4
cmp edi, esi
je 0x40482a
test byte [edi - 0xc], 1
je 0x404810
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x404810
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], esi
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
lea ecx, [esp + 0x1f8]
call fcn.004062e0
mov dword [esp + 0x70], 0x41e020
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0xb0]
cmp eax, ecx
je 0x404868
mov dword [esp], eax
call sub.msvcrt.dll_free
lea ecx, [esp + 0x70]
call fcn.0041ca4c
jmp 0x405972
mov dword [esp + 4], 0
mov dword [esp], 0x26
lea ecx, [esp + 0x108]
call fcn.0041cadc
sub esp, 8
jmp case.0x403a7a.1
mov esi, ebx
or esi, 7
lea ecx, [esi + 1]
mov dword [esp], ecx
mov dword [esp + 0x20], eax
call sub.libc.dll_operator_new_unsigned_int_
mov edi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], edi
add esi, 2
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov edi, dword [esp + 0x1c]
lea esi, [edi + 0x2c]
test byte [edi + 0x2c], 1
je 0x4048ee
mov eax, dword [edi + 0x34]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x78]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esi], xmm0
lea ecx, [esp + 0x1f8]
mov edx, 0x1f
call fcn.00405f00
test al, al
je 0x40498f
mov dword [esp + 0x2d0], 0x1f
mov dword [esp + 0x1b4], 0x41d070
mov dword [esp + 0x1b8], 0
movsd xmm0, qword [esp + 0x1b4]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x1f
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
test eax, eax
je 0x404a2a
mov ebx, edx
cmp edx, 0xfffffff8
jae 0x40599e
cmp ebx, 0xb
jae 0x404a46
mov ecx, ebx
add cl, bl
mov byte [esp + 0x70], cl
lea edi, [esp + 0x71]
test ebx, ebx
jne 0x404a6f
jmp 0x404a7f
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
je 0x405cc4
lea ecx, [edi + 0x3c]
mov dword [esp], eax
call fcn.0041cbc6
sub esp, 4
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
lea edi, [esi + 0xc]
cmp edi, ebx
jne 0x4049e1
jmp 0x404a17
lea eax, [esi + 0xc]
mov ecx, dword [esi + 0x14]
mov dword [esi + 8], ecx
movsd xmm0, qword [esi + 0xc]
movsd qword [esi], xmm0
mov word [esi + 0xc], 0
add esi, 0x18
cmp esi, ebx
mov esi, eax
je 0x4049f3
test byte [esi], 1
je 0x4049c0
mov eax, dword [esi + 8]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x4049c0
mov edi, dword [esp + 0x58]
mov esi, eax
cmp eax, edi
jne 0x404a17
mov dword [esp + 0x58], esi
mov edi, dword [esp + 0x1c]
jmp 0x404aac
add edi, 0xfffffff4
cmp edi, esi
je 0x4049fd
test byte [edi - 0xc], 1
je 0x404a10
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x404a10
xorps xmm0, xmm0
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0
lea esi, [edi + 0x3c]
test byte [edi + 0x3c], 1
jne 0x404a90
jmp 0x404a9b
mov esi, ebx
or esi, 7
lea ecx, [esi + 1]
mov dword [esp], ecx
mov dword [esp + 0x20], eax
call sub.libc.dll_operator_new_unsigned_int_
mov edi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], edi
add esi, 2
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov edi, dword [esp + 0x1c]
lea esi, [edi + 0x3c]
test byte [edi + 0x3c], 1
je 0x404a9b
mov eax, dword [edi + 0x44]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x78]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esi], xmm0
lea ecx, [esp + 0x1f8]
mov edx, 0x12
call fcn.00405f00
test al, al
je 0x404b2d
mov dword [esp + 0x2cc], 0x12
mov dword [esp + 0x1ec], 0x41d070
mov dword [esp + 0x1f0], 0
movsd xmm0, qword [esp + 0x1ec]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x12
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x19c], eax
movsd xmm0, qword [esp + 0x19c]
movsd qword [esp], xmm0
call fcn.004060c0
mov dword [edi + 0x38], eax
jmp 0x404b69
lea ecx, [edi + 0x38]
movzx eax, byte [edi + 0x2c]
lea edx, [edi + 0x2d]
mov esi, eax
shr esi, 1
test al, 1
cmovne edx, dword [edi + 0x34]
mov dword [esp + 0x19c], edx
cmovne esi, dword [edi + 0x30]
mov dword [esp + 0x1a0], esi
movsd xmm0, qword [esp + 0x19c]
movsd qword [esp], xmm0
call fcn.00406200
mov eax, dword [edi + 0x38]
cmp eax, 2
je 0x405b13
mov esi, edi
add edi, 0x48
lea ecx, [esp + 0x1f8]
mov edx, 0x1d
call fcn.00405f00
test al, al
je 0x404bf7
mov dword [esp + 0x2c8], 0x1d
mov dword [esp + 0x1e4], 0x41d070
mov dword [esp + 0x1e8], 0
movsd xmm0, qword [esp + 0x1e4]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x1d
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0x198], edx
mov dword [esp + 0x194], eax
movsd xmm0, qword [esp + 0x194]
movsd qword [esp], xmm0
call fcn.004060c0
mov dword [edi], eax
jmp 0x404c39
mov dword [esi + 0x48], 2
movzx eax, byte [esi + 0x3c]
lea ecx, [esi + 0x3d]
mov edx, eax
shr edx, 1
test al, 1
cmovne ecx, dword [esi + 0x44]
mov dword [esp + 0x194], ecx
cmovne edx, dword [esi + 0x40]
mov dword [esp + 0x198], edx
movsd xmm0, qword [esp + 0x194]
movsd qword [esp], xmm0
mov ecx, edi
call fcn.00406200
mov eax, dword [esi + 0x48]
test eax, eax
je 0x405b2e
cmp dword [esi + 0x38], eax
je 0x405bbe
lea ebx, [esi + 4]
lea edi, [esp + 0x1f8]
mov ecx, edi
mov edx, 3
call fcn.00405f00
mov byte [esi + 1], al
mov ecx, edi
mov edx, 0x1b
call fcn.00405f00
xor al, 1
mov byte [esi], al
mov word [esp + 0x80], 0x104
lea esi, [esp + 0x1a8]
mov dword [esp + 0x70], esi
lea eax, [esp + 0x70]
mov dword [esp], eax
lea ecx, [esp + 0xe0]
call fcn.0041cae8
sub esp, 4
mov ecx, edi
mov edx, 0x27
call fcn.00405f00
test al, al
je 0x404d74
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c4], 0x27
mov dword [esp + 0x1dc], 0x41d070
mov dword [esp + 0x1e0], 0
movsd xmm0, qword [esp + 0x1dc]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x27
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov edi, eax
mov ebx, edx
cmp edx, 7
jne 0x404d1c
mov eax, 0x692d6570
xor eax, dword [edi]
mov ecx, 0x36383369
xor ecx, dword [edi + 3]
or ecx, eax
je 0x404ea6
cmp ebx, 9
jne 0x404d41
mov dword [esp], edi
mov dword [esp + 8], 9
mov dword [esp + 4], str.pe_x86_64
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x404eaf
test edi, edi
je 0x404e23
cmp ebx, 0xfffffff8
jae 0x40599e
cmp ebx, 0xb
jae 0x404e43
mov eax, ebx
add al, bl
mov byte [esp + 0x70], al
lea esi, [esp + 0x71]
test ebx, ebx
jne 0x404e64
jmp 0x404e74
cmp dword [esp + 0xec], 0
je 0x404d8d
mov dword [esp], esi
mov ecx, ebx
call fcn.0041cbc6
jmp 0x404ebf
lea esi, [esp + 0x40]
mov dword [esp], esi
call fcn.0041ca5e
mov word [esp + 0x38], 0x104
mov dword [esp + 0x28], esi
lea esi, [esp + 0x28]
mov dword [esp], esi
lea ecx, [esp + 0x70]
call fcn.0041cae8
sub esp, 4
test byte [esp + 0x40], 1
mov edi, dword [esp + 0x1c]
je 0x404dce
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x7c]
dec eax
cmp eax, 0x25
ja case.0x404ddc.2
jmp dword [eax*4 + 0x41ed38]
cmp dword [esp + 0x88], 0xe
jne 0x404f11
cmp dword [esp + 0x8c], 1
jne 0x404f11
test byte [esp + 0x70], 1
jne 0x404ecb
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x40], xmm0
jmp 0x404f40
xorps xmm0, xmm0
movsd qword [esp + 0x70], xmm0
mov dword [esp + 0x78], 0
mov esi, dword [esp + 0x20]
test byte [esi], 1
mov edi, dword [esp + 0x1c]
jne 0x404e85
jmp 0x404e90
mov esi, ebx
or esi, 7
lea eax, [esi + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov dword [esp + 0x78], eax
add esi, 2
mov dword [esp + 0x70], esi
mov esi, eax
mov dword [esp + 0x74], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov byte [esi + ebx], 0
mov esi, dword [esp + 0x20]
test byte [esi], 1
mov edi, dword [esp + 0x1c]
je 0x404e90
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x78]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esi], xmm0
jmp 0x404f74
mov dword [esp], str.i686_w64_mingw32
jmp 0x404eb6
mov dword [esp], str.x86_64_w64_mingw32
mov ecx, dword [esp + 0x20]
call fcn.0041cba8
sub esp, 4
mov edi, dword [esp + 0x1c]
jmp 0x404f74
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp], ecx
lea ecx, [esp + 0x40]
call fcn.00407a00
sub esp, 8
jmp 0x404f40
mov dword [esp + 4], 0
mov dword [esp], 0x26
lea ecx, [esp + 0x70]
call fcn.0041cadc
sub esp, 8
cmp dword [esp + 0x88], 0xe
je 0x404df1
lea ecx, [esp + 0x70]
call fcn.0041cb54
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], str._w64_mingw32
mov word [esp + 0x38], 0x305
mov dword [esp], esi
lea ecx, [esp + 0x40]
call fcn.0041cb42
sub esp, 4
test byte [esp + 0x70], 1
je 0x404f53
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
test byte [ebx], 1
je 0x404f63
mov eax, dword [edi + 0xc]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x48]
mov dword [ebx + 8], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [ebx], xmm0
movaps xmm0, xmmword [0x41d050]
movups xmmword [esp + 0x70], xmm0
lea eax, [esp + 0x70]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 4
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
lea ecx, [esp + 0x1f8]
call fcn.0041cb30
sub esp, 8
mov ecx, dword [esp + 0x1fc]
lea esi, [ecx + eax*4]
cmp eax, edx
je 0x405076
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
lea edi, [edx*4]
shl eax, 2
sub edi, eax
jmp 0x404fec
add esi, 4
add edi, 0xfffffffc
je 0x40560c
mov ebx, dword [esi]
test ebx, ebx
je 0x404fe0
mov dword [esp + 0x70], 0xe
mov dword [esp], 0xe
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x40506a
mov dword [esp + 0x70], 8
mov dword [esp], 8
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x40506a
mov dword [esp + 0x70], 0x29
mov dword [esp], 0x29
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x40506a
mov dword [esp + 0x70], 0x23
mov dword [esp], 0x23
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
je 0x404fe0
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea eax, [ecx + edx*4]
mov dword [esp + 0x20], eax
cmp esi, eax
je 0x405610
lea eax, [edi + 0x20]
mov dword [esp + 0x50], eax
lea eax, [edi + 0x50]
mov dword [esp + 0x1c4], eax
jmp 0x4050aa
cmp esi, dword [esp + 0x20]
je 0x405610
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
cmp eax, 0xfffffff8
jae 0x405995
mov ebx, eax
mov dword [esp + 0x104], edi
cmp eax, 0xb
mov dword [esp + 0x24], esi
jae 0x4050f0
mov eax, ebx
add al, bl
mov byte [esp + 0x28], al
lea edi, [esp + 0x29]
test ebx, ebx
jne 0x405115
jmp 0x40512c
mov esi, ebx
or esi, 7
lea eax, [esi + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov edi, eax
mov dword [esp + 0x30], eax
add esi, 2
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
lea ecx, [esp + 0x1f8]
mov edx, 0x2a
call fcn.00405f00
test al, al
jne 0x4051fb
movzx ebx, byte [esp + 0x28]
test bl, 1
je 0x405160
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
jmp 0x405166
shr ebx, 1
lea edi, [esp + 0x29]
xorps xmm0, xmm0
movsd qword [esp + 0x40], xmm0
mov dword [esp + 0x48], 0
mov dword [esp], ebx
lea ecx, [esp + 0x40]
call fcn.0041cbba
sub esp, 4
test ebx, ebx
jle 0x4051d0
xor esi, esi
jmp 0x4051a7
movsx eax, al
mov dword [esp], eax
lea ecx, [esp + 0x40]
call fcn.0041cbc0
sub esp, 4
inc esi
cmp esi, ebx
jge 0x4051d0
movzx eax, byte [edi + esi]
cmp eax, 0x22
je 0x4051a2
cmp eax, 0x5c
jne 0x405190
inc esi
cmp esi, ebx
jge 0x40597a
movzx eax, byte [edi + esi]
jmp 0x405190
test byte [esp + 0x28], 1
je 0x4051e3
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 0x28], xmm0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
add eax, 0xfffffff8
cmp eax, 0x21
mov edi, dword [esp + 0x1c]
ja case.0x405214.9
jmp dword [eax*4 + 0x41edd0]
mov byte [esp + 0x70], 4
mov word [esp + 0x71], 0x442d
mov byte [esp + 0x73], 0
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jae 0x4052d8
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x70]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [edi + 0x24], eax
jmp 0x405304
mov ebx, dword [edi + 0x24]
cmp ebx, dword [edi + 0x28]
jae 0x40533d
test byte [esp + 0x28], 1
jne 0x40553c
mov eax, dword [esp + 0x30]
mov dword [ebx + 8], eax
movsd xmm0, qword [esp + 0x28]
movsd qword [ebx], xmm0
jmp 0x405555
mov eax, dword [ecx + 0x1c]
mov esi, dword [eax]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp eax, 0xfffffff8
jae 0x40599e
mov ebx, eax
cmp eax, 0xb
jae 0x405381
mov eax, ebx
add al, bl
mov byte [esp + 0x70], al
lea edi, [esp + 0x71]
test ebx, ebx
jne 0x4053b0
jmp 0x4053c0
mov byte [esp + 0x70], 4
mov word [esp + 0x71], 0x552d
mov byte [esp + 0x73], 0
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jb 0x405238
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
call fcn.00406920
sub esp, 4
test byte [esp + 0x70], 1
mov dword [edi + 0x24], eax
je 0x405304
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jae 0x405322
test byte [esp + 0x28], 1
jne 0x405357
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x28]
jmp 0x405505
lea eax, [esp + 0x28]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
call fcn.00406a60
sub esp, 4
mov dword [edi + 0x24], eax
jmp case.0x405214.9
lea eax, [esp + 0x28]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
call fcn.00406a60
sub esp, 4
mov ebx, eax
jmp 0x405558
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ecx, eax
mov esi, eax
call fcn.00407a00
sub esp, 8
add esi, 0xc
mov dword [edi + 0x24], esi
mov esi, dword [esp + 0x24]
jmp case.0x405214.9
mov dword [esp + 0x104], esi
mov esi, ebx
or esi, 7
lea eax, [esi + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov edi, eax
mov dword [esp + 0x78], eax
add esi, 2
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x104]
mov dword [esp + 0x74], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x54]
cmp eax, dword [esi + 0x58]
jae 0x4053ed
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x70]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [esi + 0x54], eax
mov edi, dword [esp + 0x3c]
jmp 0x40541d
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x1c4]
call fcn.00406920
sub esp, 4
test byte [esp + 0x70], 1
mov dword [esi + 0x54], eax
mov edi, dword [esp + 0x3c]
je 0x40541d
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov byte [esp + 0x70], 4
mov word [esp + 0x71], 0x492d
mov byte [esp + 0x73], 0
mov eax, dword [esi + 0x24]
cmp eax, dword [esi + 0x28]
jae 0x40544f
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x70]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [esi + 0x24], eax
jmp 0x405478
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
call fcn.00406920
sub esp, 4
test byte [esp + 0x70], 1
mov dword [esi + 0x24], eax
je 0x405478
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov eax, dword [edi + 0x1c]
mov esi, dword [eax]
mov dword [esp], esi
call sub.msvcrt.dll_strlen
cmp eax, 0xfffffff8
jae 0x40599e
mov ebx, eax
mov dword [esp + 0x3c], esi
cmp eax, 0xb
jae 0x4054af
mov eax, ebx
add al, bl
mov byte [esp + 0x70], al
lea edi, [esp + 0x71]
test ebx, ebx
mov esi, dword [esp + 0x24]
jne 0x4054d4
jmp 0x4054e8
mov esi, ebx
or esi, 7
lea eax, [esi + 1]
mov dword [esp], eax
call sub.libc.dll_operator_new_unsigned_int_
mov edi, eax
mov dword [esp + 0x78], eax
add esi, 2
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x24]
cmp eax, dword [edi + 0x28]
jae 0x405511
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
movsd xmm0, qword [esp + 0x70]
movsd qword [eax], xmm0
add eax, 0xc
mov dword [edi + 0x24], eax
jmp case.0x405214.9
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
call fcn.00406920
sub esp, 4
test byte [esp + 0x70], 1
mov dword [edi + 0x24], eax
je case.0x405214.9
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp case.0x405214.9
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, ebx
call fcn.00407a00
sub esp, 8
add ebx, 0xc
mov dword [edi + 0x24], ebx
test byte [esp + 0x28], 1
je 0x405570
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
nop
add esi, 4
cmp esi, dword [esp + 0x20]
je 0x405610
mov ebx, dword [esi]
test ebx, ebx
je 0x405570
mov dword [esp + 0x70], 0xe
mov dword [esp], 0xe
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x4050a0
mov dword [esp + 0x70], 8
mov dword [esp], 8
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x4050a0
mov dword [esp + 0x70], 0x29
mov dword [esp], 0x29
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
jne 0x4050a0
mov dword [esp + 0x70], 0x23
mov dword [esp], 0x23
mov ecx, ebx
call fcn.0041cb1e
sub esp, 4
test al, al
je 0x405570
jmp 0x4050a0
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x1f8]
mov edx, 0x25
call fcn.00405f00
test al, al
je 0x4056e4
mov dword [esp + 0x2c0], 0x25
mov dword [esp + 0x40], 0x41d070
mov dword [esp + 0x44], 0
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x25
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov ebx, edx
lea ecx, [edi + 0x10]
cmp byte [edi + 0x1c], 0
je 0x405682
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0041cbae
sub esp, 8
jmp 0x4056e4
cmp ebx, 0xfffffff8
jae 0x405d0c
cmp ebx, 0xb
jae 0x4056a0
mov ecx, ebx
add cl, bl
mov byte [edi + 0x10], cl
add edi, 0x11
test ebx, ebx
jne 0x4056c8
jmp 0x4056d8
mov esi, ebx
or esi, 7
lea ecx, [esi + 1]
mov dword [esp], ecx
mov dword [esp + 0x20], eax
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x18], edi
add esi, 2
mov dword [ecx + 0x10], esi
mov dword [ecx + 0x14], ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov byte [edi + ebx], 0
mov edi, dword [esp + 0x1c]
mov byte [edi + 0x1c], 1
mov dword [edi + 0x68], 0x4e4
lea ecx, [esp + 0x1f8]
mov edx, 5
call fcn.00405f00
test al, al
mov ebx, dword [esp + 0x1c8]
je 0x405797
mov dword [esp + 0x2bc], 5
mov dword [esp + 0x1d4], 0x41d070
mov dword [esp + 0x1d8], 0
movsd xmm0, qword [esp + 0x1d4]
movsd qword [esp + 4], xmm0
mov dword [esp], 5
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
lea eax, [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
call fcn.0041ca16
test al, al
jne 0x405be0
mov eax, dword [esp + 0x70]
mov ecx, eax
sar ecx, 0x1f
xor ecx, dword [esp + 0x74]
jne 0x405be0
mov dword [edi + 0x68], eax
lea ecx, [esp + 0x1f8]
mov edx, 0x19
call fcn.00405f00
test al, al
je 0x405892
mov dword [esp + 0x2b8], 0x19
mov dword [esp + 0x1cc], 0x41d070
mov dword [esp + 0x1d0], 0
movsd xmm0, qword [esp + 0x1cc]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x19
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], 2
mov dword [esp + 0x70], 0x41d260
movsd xmm0, qword [esp + 0x70]
movsd qword [esp], xmm0
lea ecx, [esp + 0x68]
call fcn.0041cb78
sub esp, 8
test al, al
je 0x405848
mov ecx, dword [esp + 0x6c]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
sub ecx, eax
add eax, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
jmp 0x405850
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x28]
movsd qword [esp], xmm0
lea eax, [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x10
call fcn.0041ca1c
test al, al
jne 0x405c3d
cmp dword [esp + 0x74], 0
jne 0x405c3d
mov eax, dword [esp + 0x70]
mov dword [edi + 0x70], eax
lea ecx, [esp + 0x1f8]
mov edx, 0x2f
call fcn.00405f00
mov byte [edi + 0x4d], al
test byte [esp + 0xe0], 1
je 0x4058bf
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
mov esi, dword [esp + 0x54]
test esi, esi
je 0x40590a
mov edi, dword [esp + 0x58]
mov eax, esi
cmp edi, esi
jne 0x4058e7
jmp 0x4058fe
add edi, 0xfffffff4
cmp edi, esi
je 0x4058fa
test byte [edi - 0xc], 1
je 0x4058e0
mov eax, dword [edi - 4]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
jmp 0x4058e0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], esi
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
lea ecx, [esp + 0x1f8]
call fcn.004062e0
mov dword [esp + 0x108], 0x41e020
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x148]
cmp eax, ecx
je 0x40593b
mov dword [esp], eax
call sub.msvcrt.dll_free
lea ecx, [esp + 0x108]
call fcn.0041ca4c
test byte [esp + 0x1a8], 1
je 0x405960
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
call sub.libc.dll_operator_delete_void_
cmp byte [esp + 0x1a4], 0
jne 0x405972
mov dword [esp], ebx
call sub.libc.dll_operator_delete_void_
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x70], str.Unterminated_escape
mov word [esp + 0x80], 0x103
lea ecx, [esp + 0x70]
call fcn.00406090
lea ecx, [esp + 0x28]
call fcn.00405ee0
lea ecx, [esp + 0x70]
call fcn.00405ee0
lea ecx, [esp + 0x108]
call fcn.00405ee0
call fcn.0041cac4
mov dword [esp + 0x108], 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.LLVM_Resource_Converter
mov dword [esp + 4], str.llvm_rc__options__file...
lea ecx, [esp + 0x70]
call fcn.0041cb3c
sub esp, 0x18
mov dword [esp], 0
call sub.msvcrt.dll_exit
call fcn.0041cac4
mov dword [esp + 0x70], 0xffffffff
mov dword [esp], eax
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], str.LLVM_windres__GNU_windres_compatible_
mov dword [esp + 4], str.windres__options__file...
lea ecx, [esp + 0x108]
call fcn.0041cb3c
sub esp, 0x18
mov dword [esp], 0
call sub.msvcrt.dll_exit
mov dword [esp + 0x108], str.Exactly_one_input_file_should_be_provided.
mov word [esp + 0x118], 0x103
lea ecx, [esp + 0x108]
call fcn.00406090
call fcn.0041cac4
mov dword [esp], str.llvm_windres__compatible_with_GNU_windres_n
mov ecx, eax
call fcn.00406040
sub esp, 4
call fcn.0041ca3a
mov dword [esp], 0
call sub.msvcrt.dll_exit
mov dword [esp + 0x28], 5
mov dword [esp + 0xe0], 0x41d070
mov dword [esp + 0xe4], 0
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 4], xmm0
mov dword [esp], 5
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov word [esp + 0x118], 0x503
mov dword [esp + 0x108], str.Invalid_code_page:
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
lea ecx, [esp + 0x108]
call fcn.00406090
mov dword [esp + 0x70], str.Unsupported_input_format
mov word [esp + 0x80], 0x103
lea ecx, [esp + 0x70]
call fcn.00406090
mov dword [esp + 0x70], str.Unsupported_output_format
mov word [esp + 0x80], 0x103
lea ecx, [esp + 0x70]
call fcn.00406090
mov dword [esp + 0x1f4], 0x11
mov dword [esp + 0xe0], 0x41d070
mov dword [esp + 0xe4], 0
movsd xmm0, qword [esp + 0xe0]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x11
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov word [esp + 0x118], 0x503
mov dword [esp + 0x108], str.Invalid_language_id:
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
lea ecx, [esp + 0x108]
call fcn.00406090
call fcn.0041cac4
mov dword [esp], str.Nothing_to_do._n
mov ecx, eax
call fcn.00406040
sub esp, 4
mov dword [esp], 0
call sub.msvcrt.dll_exit
mov dword [esp + 0x68], 5
mov dword [esp + 0x28], 0x41d070
mov dword [esp + 0x2c], 0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 4], xmm0
mov dword [esp], 5
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov word [esp + 0x80], 0x503
mov dword [esp + 0x70], str.Invalid_code_page:
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
lea ecx, [esp + 0x70]
call fcn.00406090
mov dword [esp + 0x2b4], 0x19
mov dword [esp + 0x28], 0x41d070
mov dword [esp + 0x2c], 0
movsd xmm0, qword [esp + 0x28]
movsd qword [esp + 4], xmm0
mov dword [esp], 0x19
lea ecx, [esp + 0x1f8]
call fcn.0041cb2a
sub esp, 0xc
mov word [esp + 0x80], 0x503
mov dword [esp + 0x70], str.Invalid_language_id:
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
lea ecx, [esp + 0x70]
call fcn.00406090
lea ecx, [esp + 0x1f8]
call fcn.00405ee0
mov dword [esp + 0x70], str.Missing_input_file
mov word [esp + 0x80], 0x103
lea ecx, [esp + 0x70]
call fcn.00406090
mov dword [esp + 0x70], str.Missing_output_file
mov word [esp + 0x80], 0x103
lea ecx, [esp + 0x70]
call fcn.00406090
lea ecx, [esp + 0xe0]
call fcn.00405ee0
mov dword [esp + 0x108], str.No_more_than_one_output_file_should_be_provided__using__FO_flag_.
mov word [esp + 0x118], 0x103
lea ecx, [esp + 0x108]
call fcn.00406090
call fcn.00405ee0
int3