Function at 0x40b80e
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 0x40b825
push 0xffffffffffffff9a
pop eax
jmp 0x40ba32
mov esi, dword [ecx + 0xd8]
test esi, esi
je 0x40b81d
cmp dword [esi], ebp
jne 0x40b837
push 0xffffffffffffff9c
jmp 0x40b81f
mov dword [esi + 0x10], edx
mov edx, 0x40000
mov dword [esi + 0x14], edx
cmp dword [esi + 0x78], ebp
ja 0x40b85c
jb 0x40b84e
cmp dword [esi + 0x74], edx
jae 0x40b85c
cmp dword [esi + 0xb8], ebp
jne 0x40b85c
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 0x40ba27
jb 0x40b879
cmp ecx, edx
jae 0x40ba27
cmp dword [esi + 0xb8], ebp
je 0x40ba27
mov eax, dword [esi + 0x6c]
add eax, dword [esi + 8]
mov dword [esi + 0x14], eax
jmp 0x40ba27
cmp dword [esi + 8], ebp
jne 0x40b91f
mov eax, dword [esi + 0x70]
cmp eax, ebp
ja 0x40b8a8
cmp dword [esi + 0x6c], ebp
jbe 0x40b91f
mov edi, 0x4000
cmp eax, ebp
ja 0x40b8c3
jb 0x40b8b8
cmp dword [esi + 0x6c], edi
jae 0x40b8c3
mov edi, dword [esi + 0x6c]
test edi, edi
je 0x40ba3c
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.00405a40
test eax, eax
jne 0x40ba40
push edi
push dword [esi]
push dword [esi + 0xa8]
push dword [esi + 0x98]
call dword [esi + 0x80]
cmp eax, edi
jne 0x40ba40
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 0x40b9be
cmp dword [esi + 0xb8], ebp
jne 0x40b9be
cmp eax, 0xc
je 0x40ba27
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.004040f1
mov edi, eax
test edi, edi
js 0x40b967
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 0x40b98f
xor ecx, ecx
jmp 0x40b99e
mov ecx, dword [esi + 0x64]
push eax
call fcn.004027de
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 0x40ba30
test edi, edi
je 0x40ba25
mov eax, edi
jmp 0x40ba32
mov edi, dword [esi + 8]
test edi, edi
jne 0x40b9cd
mov eax, dword [esi + 0x6c]
or eax, dword [esi + 0x70]
je 0x40ba30
cmp dword [esi + 0x14], edi
mov edx, ebp
cmovb edi, dword [esi + 0x14]
test edi, edi
je 0x40b9eb
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 0x40b9da
add dword [esi + 0x5c], edi
adc dword [esi + 0x60], ebp
mov ebp, dword [esi + 0x10]
test ebp, ebp
jne 0x40b9fc
xor eax, eax
jmp 0x40ba07
mov ecx, dword [esi + 0x64]
mov edx, ebp
push edi
call fcn.004027de
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 0x40b893
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 4
xor eax, eax
jmp 0x40ba32
or eax, 0xffffffff
jmp 0x40ba32