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

Disassembly:
sub esp, 0x10
push ebx
push ebp
xor ebp, ebp
mov ebx, ebp
push esi
push edi
test ecx, ecx
jne 0x40b8da
push 0xffffffffffffff9a
pop eax
jmp 0x40bae7
mov esi, dword [ecx + 0xd8]
test esi, esi
je 0x40b8d2
cmp dword [esi], ebp
jne 0x40b8ec
push 0xffffffffffffff9c
jmp 0x40b8d4
mov dword [esi + 0x10], edx
mov edx, 0x40000
mov dword [esi + 0x14], edx
cmp dword [esi + 0x78], ebp
ja 0x40b911
jb 0x40b903
cmp dword [esi + 0x74], edx
jae 0x40b911
cmp dword [esi + 0xb8], ebp
jne 0x40b911
mov eax, dword [esi + 0x74]
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 8]
xor eax, eax
add ecx, dword [esi + 0x6c]
adc eax, dword [esi + 0x70]
cmp eax, ebp
ja 0x40badc
jb 0x40b92e
cmp ecx, edx
jae 0x40badc
cmp dword [esi + 0xb8], ebp
je 0x40badc
mov eax, dword [esi + 0x6c]
add eax, dword [esi + 8]
mov dword [esi + 0x14], eax
jmp 0x40badc
cmp dword [esi + 8], ebp
jne 0x40b9d4
mov eax, dword [esi + 0x70]
cmp eax, ebp
ja 0x40b95d
cmp dword [esi + 0x6c], ebp
jbe 0x40b9d4
mov edi, 0x4000
cmp eax, ebp
ja 0x40b978
jb 0x40b96d
cmp dword [esi + 0x6c], edi
jae 0x40b978
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x40baf1
mov ecx, dword [esi + 0xb0]
add ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0xb4]
adc eax, dword [esi + 0x40]
mov edx, dword [esi + 0xa8]
push ebp
push eax
push ecx
lea ecx, [esi + 0x7c]
call fcn.00405a03
test eax, eax
jne 0x40baf5
push edi
push dword [esi]
push dword [esi + 0xa8]
push dword [esi + 0x98]
call dword [esi + 0x80]
cmp eax, edi
jne 0x40baf5
add dword [esi + 0x3c], edi
mov eax, dword [esi]
adc dword [esi + 0x40], ebp
sub dword [esi + 0x6c], edi
mov dword [esi + 4], eax
sbb dword [esi + 0x70], ebp
mov dword [esi + 8], edi
mov eax, dword [esi + 0xac]
test eax, eax
je 0x40ba73
cmp dword [esi + 0xb8], ebp
jne 0x40ba73
cmp eax, 0xc
je 0x40badc
mov eax, dword [esi + 0x18]
lea ecx, [esi + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
call fcn.004040b4
mov edi, eax
test edi, edi
js 0x40ba1c
cmp dword [esi + 0x1c], ebp
push 0xfffffffffffffffd
pop eax
cmovne edi, eax
mov ebp, dword [esi + 0x18]
mov eax, ebp
sub eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
pop ecx
sbb ecx, ecx
mov dword [esp + 0x18], eax
add dword [esi + 0x5c], eax
mov dword [esp + 0x1c], ecx
adc dword [esi + 0x60], ecx
test edx, edx
jne 0x40ba44
xor ecx, ecx
jmp 0x40ba53
mov ecx, dword [esi + 0x64]
push eax
call fcn.004027be
mov ecx, eax
mov eax, dword [esp + 0x18]
sub dword [esi + 0x74], eax
mov eax, dword [esp + 0x1c]
sbb dword [esi + 0x78], eax
sub ebp, dword [esp + 0x10]
add ebx, ebp
mov dword [esi + 0x64], ecx
cmp edi, 1
je 0x40bae5
test edi, edi
je 0x40bada
mov eax, edi
jmp 0x40bae7
mov edi, dword [esi + 8]
test edi, edi
jne 0x40ba82
mov eax, dword [esi + 0x6c]
or eax, dword [esi + 0x70]
je 0x40bae5
cmp dword [esi + 0x14], edi
mov edx, ebp
cmovb edi, dword [esi + 0x14]
test edi, edi
je 0x40baa0
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov al, byte [edx + eax]
mov byte [edx + ecx], al
inc edx
cmp edx, edi
jb 0x40ba8f
add dword [esi + 0x5c], edi
adc dword [esi + 0x60], ebp
mov ebp, dword [esi + 0x10]
test ebp, ebp
jne 0x40bab1
xor eax, eax
jmp 0x40babc
mov ecx, dword [esi + 0x64]
mov edx, ebp
push edi
call fcn.004027be
sub dword [esi + 0x74], edi
mov dword [esi + 0x64], eax
lea eax, [edi + ebp]
sbb dword [esi + 0x78], 0
sub dword [esi + 8], edi
sub dword [esi + 0x14], edi
add dword [esi + 4], edi
add dword [esi + 0x18], edi
add ebx, edi
mov dword [esi + 0x10], eax
xor ebp, ebp
cmp dword [esi + 0x14], ebp
ja 0x40b948
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
jmp 0x40bae7
or eax, 0xffffffff
jmp 0x40bae7