Function at 0x40c7a0
Capabilities:
Create directory
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9ec
mov eax, dword [0x450480]
mov esi, dword [esp + 0xa00]
lea ebx, [esp + 0x1a0]
lea edx, [eax + 0x147d]
mov dword [esp + 0x58], edx
lea edx, [eax + 0x148e]
mov dword [esp + 0x5c], edx
lea edx, [eax + 0x149d]
mov dword [esp + 0x60], edx
lea edx, [eax + 0x14ab]
mov dword [esp + 0x64], edx
lea edx, [eax + 0x14b6]
mov dword [esp + 0x68], edx
lea edx, [eax + 0x14c1]
mov dword [esp + 0x6c], edx
lea edx, [eax + 0x14d1]
mov dword [esp + 0x70], edx
lea edx, [eax + 0x14df]
mov dword [esp + 0x74], edx
lea edx, [eax + 0x14f2]
mov dword [esp + 0x78], edx
lea edx, [eax + 0x1502]
mov dword [esp + 0x7c], edx
lea edx, [eax + 0x1511]
mov dword [esp + 0x80], edx
lea edx, [eax + 0x1529]
mov dword [esp + 0x84], edx
lea edx, [eax + 0x1547]
mov dword [esp + 0x88], edx
lea edx, [eax + 0x155f]
mov dword [esp + 0x8c], edx
lea edx, [eax + 0x1572]
mov dword [esp], esi
mov dword [esp + 0x90], edx
lea edx, [eax + 0x1586]
mov dword [esp + 0x94], edx
lea edx, [eax + 0x159e]
add eax, 0x15b7
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], eax
call fcn.00409f00
movzx eax, word [0x45634c]
mov dword [esp + 0xc], esi
movzx edx, word [0x45634e]
movzx ecx, word [0x456352]
mov dword [esp + 4], 0x840
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
mov dword [esp + 0x1c], ecx
add eax, 0x11e6
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.004090b0
mov dword [esp + 0x18], 0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x40000000
mov dword [esp], ebx
call edi
sub esp, 0x1c
mov dword [esp + 0x34], eax
cmp eax, 0xffffffff
je 0x40d140
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffe0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
sub esp, 0x10
cmp eax, 0xffffffff
je 0x40d128
lea eax, [esp + 0xa0]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x3c], eax
mov eax, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [esp + 0x38], eax
mov eax, dword [0x450480]
lea ebx, [eax + 0x191e]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1923]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x19a9]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
call ebp
movzx ebx, word [0x456354]
mov eax, dword [0x450480]
mov edi, dword [0x456348]
sub esp, 0x14
movzx ecx, word [0x456358]
cmp bx, 9
movzx esi, word [0x456356]
lea edx, [edi + 1]
ja 0x40d550
add eax, 0x1610
mov edi, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x100
call fcn.00409110
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x48], edi
mov dword [esp + 4], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, edi
mov dword [esp], ebp
mov dword [esp + 0x10], 0
call eax
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1923]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, edi
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov dword [esp + 0x10], 0
call eax
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x19dc]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x3c], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov eax, edi
mov dword [esp + 4], ebx
mov dword [esp + 0x34], ebp
mov dword [esp], ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x10], 0
call eax
mov ecx, dword [0x4563e8]
mov esi, dword [0x4563e8]
mov edi, dword [0x4563ec]
mov edx, dword [0x4563ec]
sub esp, 0x14
and ecx, 0xfffff
movzx ebp, word [0x4563c6]
mov ebx, dword [0x450480]
mov dword [esp + 4], 0x100
mov eax, ecx
mov ecx, esi
shrd ecx, edi, 0x14
and ecx, 0xfffff
add eax, ecx
mov ecx, edx
shr edx, 0x1c
shr ecx, 8
and ecx, 0xfffff
add ecx, eax
mov eax, 0x51eb851f
add ecx, edx
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
xor edx, edx
lea eax, [eax + eax*4]
mov dword [esp + 0x44], edx
sub ecx, eax
mov eax, 0xc28f5c29
sub esi, ecx
mov dword [esp + 0x40], ecx
sbb edi, edx
imul edx, esi, 0x8f5c28f5
imul ecx, edi, 0xc28f5c29
add ecx, edx
mul esi
mov edi, edx
mov esi, eax
mov edx, 0x19
add edi, ecx
mov ecx, eax
and ecx, 3
mov eax, ecx
xor ecx, ecx
mul edx
add edx, ecx
mov ecx, ebp
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
shr cx, 2
mov dword [esp + 0x40], eax
shrd esi, edi, 2
movzx eax, cx
mov dword [esp + 0x44], edx
mov edx, ebp
shr edi, 2
imul eax, eax, 0x147b
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x14], esi
mov dword [esp], edi
shr eax, 0x11
lea ecx, [eax + eax*4]
movzx eax, ax
lea ecx, [ecx + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [0x4563f0]
shl ecx, 2
sub edx, ecx
mov dword [esp + 0xc], eax
lea eax, [ebx + 0x15ce]
mov ecx, dword [esp + 0x40]
movzx edx, dx
mov dword [esp + 8], eax
mov dword [esp + 0x24], edx
mov edx, dword [0x4563f4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], edx
call fcn.00409110
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp], ebp
mov ebp, 0x4565ac
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
call eax
sub esp, 0x14
lea esi, [esi]
mov eax, dword [0x450480]
lea ebx, [eax + 0x1923]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 0x10], 0
call eax
mov ebx, dword [0x450480]
sub esp, 0x14
add ebx, 0x19dc
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x3c], edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], ebx
mov dword [esp + 0x34], esi
mov dword [esp], esi
mov dword [esp + 0x10], 0
call eax
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
sub esp, 0x14
mov ecx, esi
and ebx, 0xfffff
shrd ecx, edi, 0x14
and ecx, 0xfffff
mov eax, ebx
xor ebx, ebx
add eax, ecx
mov ecx, edx
shr edx, 0x1c
mov dword [esp + 0x44], ebx
shr ecx, 8
and ecx, 0xfffff
add ecx, eax
mov eax, 0x51eb851f
add ecx, edx
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
mov edx, edi
lea eax, [eax + eax*4]
sub ecx, eax
mov eax, esi
sub eax, ecx
mov dword [esp + 0x40], ecx
sbb edx, ebx
mov ebx, 0xc28f5c29
imul esi, edx, 0xc28f5c29
imul edx, eax, 0x8f5c28f5
add esi, edx
mul ebx
mov ebx, edx
mov edx, eax
mov ecx, eax
and edx, 3
add ebx, esi
xor esi, esi
mov eax, edx
mov edx, 0x19
mul edx
add edx, esi
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
shrd ecx, ebx, 2
mov dword [esp + 0x44], edx
movzx edx, word [ebp]
shr ebx, 2
add ebp, 0x28
movzx esi, word [ebp - 0x28]
mov dword [esp + 0x40], eax
shr dx, 2
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
movzx edx, dx
mov dword [esp + 0x18], ebx
mov ecx, dword [0x450480]
imul edx, edx, 0x147b
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x48]
shr edx, 0x11
lea edi, [edx + edx*4]
movzx edx, dx
lea edi, [edi + edi*4]
mov dword [esp + 0x20], edx
shl edi, 2
sub esi, edi
movzx esi, si
mov dword [esp + 0x24], esi
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov dword [esp + 4], 0x100
mov dword [esp + 0xc], eax
lea eax, [ecx + 0x15ce]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.00409110
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
call eax
mov eax, 0x45673c
sub esp, 0x14
cmp eax, ebp
jne 0x40cc60
mov eax, dword [0x450480]
lea ebx, [eax + 0x1923]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1a4f]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x3c], edi
mov dword [esp + 0xc], edi
mov edi, 0x91a2b3c5
mov dword [esp + 4], ebx
mov dword [esp + 0x34], esi
mov dword [esp], esi
mov esi, 0x88888889
mov dword [esp + 0x38], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
call ebp
mov ecx, dword [0x4563dc]
mov ebp, dword [0x4563d8]
sub esp, 0x14
mov eax, ecx
mov dword [esp + 4], 0x100
mul esi
mov eax, ecx
shr edx, 5
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0x2c], eax
mov eax, ecx
mul edi
mov ebx, edx
shr ebx, 0xb
imul eax, ebx, 0xe10
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp], ebx
sub ecx, eax
mov eax, ecx
mul esi
mov eax, ebp
shr edx, 5
mov dword [esp + 0x28], edx
mul esi
mov eax, ebp
shr edx, 5
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0x20], eax
mov eax, ebp
mul edi
mov ecx, edx
shr ecx, 0xb
imul eax, ecx, 0xe10
mov dword [esp + 0x18], ecx
sub ebp, eax
mov eax, ebp
mul esi
mov eax, esi
shr edx, 5
mov dword [esp + 0x1c], edx
mul dword [0x4563d4]
mov eax, dword [0x4563d4]
shr edx, 5
imul edx, edx, 0x3c
sub eax, edx
mov dword [esp + 0x14], eax
mov eax, edi
mul dword [0x4563d4]
mov ecx, edx
mov edx, dword [0x4563d4]
shr ecx, 0xb
imul eax, ecx, 0xe10
mov dword [esp + 0xc], ecx
sub edx, eax
mov eax, edx
mul esi
mov eax, dword [0x450480]
add eax, 0x164f
shr edx, 5
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
call fcn.00409110
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], esi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1923]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp], esi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1a71]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
call ebp
sub esp, 0x14
cmp dword [esp + 0xa04], 0xffffffff
je 0x40d560
cmp dword [esp + 0xa04], 0xff
mov eax, dword [0x450480]
jbe 0x40d620
movzx edi, byte [esp + 0xa04]
add eax, 0x1683
mov dword [esp + 0xa04], edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], 0x100
mov dword [esp], eax
call fcn.00409110
mov edi, dword [esp + 0x48]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov dword [esp + 4], edi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
sub esp, 0x14
cmp dword [esp + 0xa04], 0x11
ja 0x40d5e0
mov eax, dword [esp + 0xa04]
mov ebx, dword [esp + eax*4 + 0x58]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call ebp
sub esp, 0x14
mov eax, dword [0x450480]
lea ebx, [eax + 0x1b65]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], 0
mov dword [esp], edi
call eax
sub esp, 0x14
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
sub esp, 4
add esp, 0x9ec
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
lea esi, [esi]
nop
movzx eax, word [0x45634c]
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x840
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
mov dword [esp], ebx
add eax, 0x1302
mov dword [esp + 8], eax
call fcn.004090b0
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [esp + 4], 0
mov dword [esp], ebx
call ebp
movzx eax, word [0x45634e]
sub esp, 8
mov dword [esp + 0x14], eax
movzx eax, word [0x45634c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
mov dword [esp + 4], 0x840
add eax, 0x1312
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004090b0
mov dword [esp + 4], 0
mov dword [esp], ebx
call ebp
movzx eax, word [0x45634c]
movzx edx, word [0x45634e]
sub esp, 8
movzx ecx, word [0x456352]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov eax, dword [0x450484]
mov dword [esp + 0x1c], ecx
add eax, 0x11e6
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x840
mov dword [esp], ebx
call fcn.004090b0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x40000000
mov dword [esp], ebx
call edi
sub esp, 0x1c
mov edi, eax
mov dword [esp + 0x34], eax
xor eax, eax
cmp edi, 0xffffffff
je 0x40d11a
movzx eax, word [0x45634c]
lea ebp, [esp + 0xa0]
mov dword [esp + 4], 0x100
lea esi, [esp + 0x54]
mov dword [esp], ebp
mov dword [esp + 0x14], eax
movzx eax, word [0x456352]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x10], eax
movzx eax, word [0x45634e]
mov dword [esp + 0xc], eax
mov eax, dword [0x450480]
add eax, 0x1470
mov dword [esp + 8], eax
call fcn.00409110
mov eax, dword [0x450480]
lea ebx, [eax + 0x168c]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ebp, dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x16ea]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov ebx, ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
sub esp, 0x14
mov ebp, dword [esp + 0x48]
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebp
mov ebp, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebx
mov ebx, dword [0x450480]
sub esp, 0x14
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0xf4]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x128]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x16f2]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x17a0]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov ebx, ebp
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
sub esp, 0x14
mov ebp, dword [esp + 0x48]
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebp
mov ebp, ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebx
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x184]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x16c]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x1867]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0xa51]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp], edi
call ebp
mov eax, dword [0x450480]
sub esp, 0x14
lea ebx, [eax + 0x18f3]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call ebp
sub esp, 0x14
jmp 0x40c96f
add eax, 0x1632
jmp 0x40ca3a
mov ecx, dword [0x459000]
test ecx, ecx
je 0x40d635
mov dword [esp + 0x54], 0
mov edi, dword [esp + 0x4c]
xor ebx, ebx
xor eax, eax
mov esi, dword [esp + 0x48]
jmp 0x40d59d
add eax, 1
mov ebx, 1
cmp eax, 0x100
je 0x40d651
mov edi, eax
movzx edx, word [ecx + eax*2]
mov byte [esi + eax], dl
test dl, dl
jne 0x40d588
test bl, bl
je 0x40d5b0
mov dword [esp + 0x54], edi
mov byte [esp + 0x19f], 0
mov edi, dword [esp + 0x48]
mov dword [esp], edi
call sub.msvcrt.dll_strlen
mov esi, dword [esp + 0x3c]
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
jmp 0x40d60b
mov eax, dword [0x450480]
lea ebx, [eax + 0x1427]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edi, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call eax
sub esp, 0x14
jmp 0x40d0ce
mov edi, dword [esp + 0xa04]
add eax, 0x1686
mov dword [esp + 0xc], edi
jmp 0x40d045
movzx eax, word [0x44a006]
mov byte [esp + 0xa2], 0
mov word [esp + 0xa0], ax
jmp 0x40d5b8
mov dword [esp + 0x54], 0x100
jmp 0x40d5b0