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

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x20]
push ebx
push ebp
push esi
mov esi, ecx
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x1c]
lea edi, [esi + 8]
push eax
push ecx
push edx
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.00598b60
test eax, eax
jne 0x5962a7
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
lea ebp, [esi + 0x218]
push ecx
mov ecx, edi
mov dword [esp + 0x14], ebp
mov dword [ebp], eax
mov eax, dword [esp + 0x40]
mov dword [ebp + 4], 0
mov dword [esi + 0x1c], eax
mov dword [esi + 0x124], eax
call fcn.00596bf0
test eax, eax
jne 0x5962eb
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x1c
ret 0x10
mov edx, dword [esp + 0x38]
lea ecx, [esi + 0x110]
push edx
mov dword [esp + 0x38], ecx
call fcn.00596bf0
test eax, eax
jne 0x596312
pop edi
pop esi
pop ebp
mov eax, 0xfffffffd
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esi + 0x74]
mov ebx, 0x600000
test eax, eax
jg 0x596328
jl 0x596325
cmp dword [esi + 0x70], ebx
jae 0x596328
mov ebx, dword [esi + 0x70]
push ebx
call fcn.005e5a7e
mov edi, eax
add esp, 4
test edi, edi
jne 0x596346
pop edi
pop esi
pop ebp
mov eax, 0xfffffffc
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push ebp
push ebx
push edi
push eax
call fcn.00596c80
test eax, eax
je 0x59636f
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x70]
cmp ecx, eax
jne 0x596346
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x74]
cmp edx, eax
jne 0x596346
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push ebp
push ebx
push edi
push eax
call fcn.00596c80
test eax, eax
je 0x5963a4
mov ecx, dword [esi + 0x180]
mov eax, dword [esi + 0x178]
cmp ecx, eax
jne 0x59636f
mov edx, dword [esi + 0x184]
mov eax, dword [esi + 0x17c]
cmp edx, eax
jne 0x59636f
mov eax, dword [ebp]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
sub eax, ecx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 4]
sbb eax, ebx
push edi
mov dword [esp + 0x2c], eax
call fcn.005e5002
mov eax, dword [esi + 0x24]
add esp, 4
test eax, eax
jne 0x5963dd
pop edi
pop esi
pop ebp
mov eax, 0xfffffffb
pop ebx
add esp, 0x1c
ret 0x10
mov eax, dword [esi + 0x12c]
test eax, eax
jne 0x5963f6
pop edi
pop esi
pop ebp
mov eax, 0xfffffffa
pop ebx
add esp, 0x1c
ret 0x10
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.00597ac0
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.00597ac0
mov eax, dword [esi + 0x1a8]
mov ecx, ebx
push eax
call fcn.00597fb0
mov ecx, dword [esi + 0xa0]
push ecx
mov ecx, edi
call fcn.00597fb0
mov edx, dword [esi + 0x154]
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x140]
sub edx, eax
mov eax, dword [esi + 0x48]
sub edx, ecx
mov ecx, dword [esi + 0x38]
sub edx, eax
mov eax, dword [esi + 0x134]
sub edx, ecx
mov ecx, dword [esi + 0x4c]
add edx, eax
mov eax, dword [esi + 0x40]
add edx, ecx
add edx, eax
mov eax, dword [esi + 0x2c]
lea ecx, [edx + eax + 0x50]
mov edx, dword [esp + 0x30]
push ecx
push edx
mov ecx, ebx
call fcn.00598a20
test eax, eax
jne 0x596481
pop edi
pop esi
pop ebp
mov eax, 0xfffffff9
pop ebx
add esp, 0x1c
ret 0x10
mov edx, dword [ebp]
mov eax, dword [esp + 0x3c]
add edx, 8
mov dword [ebp], edx
mov ecx, dword [ebp + 4]
adc ecx, 0
cmp eax, 0x40
mov dword [ebp + 4], ecx
je 0x596678
mov ebx, dword [esi + 0x118]
test ebx, ebx
je 0x59651a
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x38], eax
je 0x59651a
mov ebp, dword [esi + 0x84]
test ebp, ebp
jne 0x5964c9
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x596512
mov eax, dword [esi + 0x18c]
push 0
push 0x3e8
push 0
push eax
call fcn.005e7a50
push 0
push ebx
push edx
push eax
call fcn.005e7060
push 0
push 0x3e8
mov edi, eax
push 0
push ebp
inc edi
call fcn.005e7a50
mov ecx, dword [esp + 0x38]
push 0
push ecx
push edx
push eax
call fcn.005e7060
mov ebp, dword [esp + 0x10]
inc eax
jmp 0x59668a
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x3c], 0x80
je 0x596678
mov edi, dword [esi + 0x190]
test edi, edi
je 0x596590
test ebx, ebx
je 0x596590
mov eax, dword [esi + 0x88]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x596590
mov ebp, dword [esi + 0x10]
test ebp, ebp
je 0x59658c
push 0
push 0x3e8
push 0
push edi
call fcn.005e7a50
push 0
push ebx
push edx
push eax
call fcn.005e7060
mov edx, dword [esp + 0x3c]
push 0
push 0x3e8
push 0
push edx
mov edi, eax
call fcn.005e7a50
push 0
push ebp
push edx
push eax
call fcn.005e7060
mov ebp, dword [esp + 0x10]
jmp 0x59668a
mov ebp, dword [esp + 0x10]
mov ecx, dword [esi + 0x18c]
test ecx, ecx
je 0x5965cc
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x5965ac
test ebx, ebx
je 0x5965cc
test eax, eax
je 0x5965ae
mov ebx, eax
push 0
push 0x3e8
push 0
push ecx
call fcn.005e7a50
push 0
push ebx
push edx
push eax
call fcn.005e7060
mov edi, eax
inc edi
jmp 0x5965fb
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x5965de
test ebx, ebx
je 0x5965fb
test eax, eax
je 0x5965e0
mov ebx, eax
push 0
push 0x3e8
push 0
push edi
call fcn.005e7a50
push 0
push ebx
push edx
push eax
call fcn.005e7060
mov edi, eax
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x59663a
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x596617
mov edx, dword [esi + 0x10]
test edx, edx
je 0x59663a
test eax, eax
je 0x59661b
mov esi, eax
jmp 0x59661e
mov esi, dword [esi + 0x10]
push 0
push 0x3e8
push 0
push ecx
call fcn.005e7a50
push 0
push esi
push edx
push eax
call fcn.005e7060
inc eax
jmp 0x59668a
mov ebx, dword [esi + 0x14]
test ebx, ebx
jne 0x596657
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x596650
mov eax, dword [esi + 0x88]
jmp 0x59668a
test ebx, ebx
jne 0x596657
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x88]
push 0
push 0x3e8
push 0
push eax
call fcn.005e7a50
push 0
push ebx
push edx
push eax
call fcn.005e7060
jmp 0x59668a
mov ecx, edi
call fcn.005981a0
mov ecx, dword [esp + 0x14]
mov edi, eax
call fcn.005981a0
cmp edi, eax
jbe 0x596690
mov eax, edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push eax
push ebp
push esi
mov ecx, edi
call fcn.00598950
push ebp
push 1
push esi
mov ecx, edi
call fcn.00598230
mov ecx, dword [esp + 0x34]
push ebp
push 2
push esi
call fcn.00598230
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push esi
mov ecx, edi
call fcn.00598a80
neg eax
sbb eax, eax
pop edi
and eax, 9
pop esi
pop ebp
add eax, 0xfffffff8
pop ebx
add esp, 0x1c
ret 0x10