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

Disassembly:
push edi
push esi
push ebx
sub esp, 0xf0
mov esi, dword [esp + 0x100]
lea edi, [esp + 0x80]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x104]
mov dword [esp], esi
call fcn.00401470
test al, al
je 0x40bbd0
lea eax, [esp + 0x7c]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 0x7c], 0
call fcn.004021c0
mov dword [ebx], eax
test eax, eax
js 0x40bbd0
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
cmp edx, 2
jne 0x40bbe0
movzx edx, al
movzx eax, ah
lea edi, [esp + 0x9b]
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], eax
movzx eax, byte [esp + 0x87]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x86]
mov dword [esp + 0x10], 4
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x85]
mov dword [esp + 0xc], 4
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x84]
mov dword [esp + 8], str._d__d__d__d__d__d__d__d__d
mov dword [esp + 0x14], eax
mov dword [esp + 4], 0x55
mov dword [esp], edi
call sub.cygwin1.dll_snprintf
mov edx, edi
mov eax, str.LPRT
call fcn.0040b420
mov dword [esp], eax
mov edi, eax
call sub.cygwin1.dll_strlen
mov dword [esp + 4], edi
mov dword [esp + 8], eax
fld1
mov dword [esp], esi
fchs
fstp qword [esp + 0xc]
call fcn.004019e0
mov dword [esp], edi
test eax, eax
js 0x40bd38
call fcn.004376c0
lea eax, [esp + 0x78]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0040b640
cmp eax, 7
jne 0x40bd18
mov edx, dword [esp + 0x78]
cmp byte [edx], 0x32
je 0x40bcf8
mov dword [esp], edx
call fcn.004376c0
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00401b40
add esp, 0xf0
mov eax, 0xa
pop ebx
pop esi
pop edi
ret
mov eax, 0xb
add esp, 0xf0
pop ebx
pop esi
pop edi
ret
cmp edx, 0x17
jne 0x40bd51
movzx edx, al
movzx eax, ah
mov dword [esp + 0x54], 2
lea edi, [esp + 0x9b]
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x93]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x50], eax
movzx eax, byte [esp + 0x92]
mov dword [esp + 0x4c], eax
movzx eax, byte [esp + 0x91]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0x90]
mov dword [esp + 0x44], eax
movzx eax, byte [esp + 0x8f]
mov dword [esp + 0x40], eax
movzx eax, byte [esp + 0x8e]
mov dword [esp + 0x3c], eax
movzx eax, byte [esp + 0x8d]
mov dword [esp + 0x38], eax
movzx eax, byte [esp + 0x8c]
mov dword [esp + 0x34], eax
movzx eax, byte [esp + 0x8b]
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0x8a]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x89]
mov dword [esp + 0x28], eax
movzx eax, byte [esp + 0x88]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x87]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x86]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x85]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x84]
mov dword [esp + 0x10], 0x10
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 6
mov dword [esp + 8], str._d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d__d
mov dword [esp + 4], 0x55
mov dword [esp], edi
call sub.cygwin1.dll_snprintf
jmp 0x40bb45
mov dword [esp], edx
mov dword [esp + 0x6c], eax
call fcn.004376c0
mov eax, dword [esp + 0x6c]
add esp, 0xf0
pop ebx
pop esi
pop edi
ret
mov edx, dword [ebx]
mov dword [esp + 0x6c], eax
mov dword [esp], edx
call fcn.00401b40
mov eax, dword [esp + 0x6c]
add esp, 0xf0
pop ebx
pop esi
pop edi
ret
call fcn.004376c0
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00401b40
mov eax, 0x2c
jmp 0x40bbd5
jmp 0x44c634