Function at 0x5975d0
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.00599ec0
test eax, eax
jne 0x597607
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.00597f50
test eax, eax
jne 0x59764b
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.00597f50
test eax, eax
jne 0x597672
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 0x597688
jl 0x597685
cmp dword [esi + 0x70], ebx
jae 0x597688
mov ebx, dword [esi + 0x70]
push ebx
call fcn.005e6c79
mov edi, eax
add esp, 4
test edi, edi
jne 0x5976a6
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.00597fe0
test eax, eax
je 0x5976cf
mov ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x70]
cmp ecx, eax
jne 0x5976a6
mov edx, dword [esi + 0x7c]
mov eax, dword [esi + 0x74]
cmp edx, eax
jne 0x5976a6
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push ebp
push ebx
push edi
push eax
call fcn.00597fe0
test eax, eax
je 0x597704
mov ecx, dword [esi + 0x180]
mov eax, dword [esi + 0x178]
cmp ecx, eax
jne 0x5976cf
mov edx, dword [esi + 0x184]
mov eax, dword [esi + 0x17c]
cmp edx, eax
jne 0x5976cf
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.005e6206
mov eax, dword [esi + 0x24]
add esp, 4
test eax, eax
jne 0x59773d
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 0x597756
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.00598e20
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.00598e20
mov eax, dword [esi + 0x1a8]
mov ecx, ebx
push eax
call fcn.00599310
mov ecx, dword [esi + 0xa0]
push ecx
mov ecx, edi
call fcn.00599310
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.00599d80
test eax, eax
jne 0x5977e1
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 0x5979d8
mov ebx, dword [esi + 0x118]
test ebx, ebx
je 0x59787a
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x38], eax
je 0x59787a
mov ebp, dword [esi + 0x84]
test ebp, ebp
jne 0x597829
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x597872
mov eax, dword [esi + 0x18c]
push 0
push 0x3e8
push 0
push eax
call fcn.005e8c50
push 0
push ebx
push edx
push eax
call fcn.005e8260
push 0
push 0x3e8
mov edi, eax
push 0
push ebp
inc edi
call fcn.005e8c50
mov ecx, dword [esp + 0x38]
push 0
push ecx
push edx
push eax
call fcn.005e8260
mov ebp, dword [esp + 0x10]
inc eax
jmp 0x5979ea
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x3c], 0x80
je 0x5979d8
mov edi, dword [esi + 0x190]
test edi, edi
je 0x5978f0
test ebx, ebx
je 0x5978f0
mov eax, dword [esi + 0x88]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x5978f0
mov ebp, dword [esi + 0x10]
test ebp, ebp
je 0x5978ec
push 0
push 0x3e8
push 0
push edi
call fcn.005e8c50
push 0
push ebx
push edx
push eax
call fcn.005e8260
mov edx, dword [esp + 0x3c]
push 0
push 0x3e8
push 0
push edx
mov edi, eax
call fcn.005e8c50
push 0
push ebp
push edx
push eax
call fcn.005e8260
mov ebp, dword [esp + 0x10]
jmp 0x5979ea
mov ebp, dword [esp + 0x10]
mov ecx, dword [esi + 0x18c]
test ecx, ecx
je 0x59792c
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x59790c
test ebx, ebx
je 0x59792c
test eax, eax
je 0x59790e
mov ebx, eax
push 0
push 0x3e8
push 0
push ecx
call fcn.005e8c50
push 0
push ebx
push edx
push eax
call fcn.005e8260
mov edi, eax
inc edi
jmp 0x59795b
mov eax, dword [esi + 0x11c]
test eax, eax
jne 0x59793e
test ebx, ebx
je 0x59795b
test eax, eax
je 0x597940
mov ebx, eax
push 0
push 0x3e8
push 0
push edi
call fcn.005e8c50
push 0
push ebx
push edx
push eax
call fcn.005e8260
mov edi, eax
mov ecx, dword [esi + 0x84]
test ecx, ecx
je 0x59799a
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x597977
mov edx, dword [esi + 0x10]
test edx, edx
je 0x59799a
test eax, eax
je 0x59797b
mov esi, eax
jmp 0x59797e
mov esi, dword [esi + 0x10]
push 0
push 0x3e8
push 0
push ecx
call fcn.005e8c50
push 0
push esi
push edx
push eax
call fcn.005e8260
inc eax
jmp 0x5979ea
mov ebx, dword [esi + 0x14]
test ebx, ebx
jne 0x5979b7
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x5979b0
mov eax, dword [esi + 0x88]
jmp 0x5979ea
test ebx, ebx
jne 0x5979b7
mov ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x88]
push 0
push 0x3e8
push 0
push eax
call fcn.005e8c50
push 0
push ebx
push edx
push eax
call fcn.005e8260
jmp 0x5979ea
mov ecx, edi
call fcn.00599500
mov ecx, dword [esp + 0x14]
mov edi, eax
call fcn.00599500
cmp edi, eax
jbe 0x5979f0
mov eax, edi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x14]
push eax
push ebp
push esi
mov ecx, edi
call fcn.00599cb0
push ebp
push 1
push esi
mov ecx, edi
call fcn.00599590
mov ecx, dword [esp + 0x34]
push ebp
push 2
push esi
call fcn.00599590
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.00599de0
neg eax
sbb eax, eax
pop edi
and eax, 9
pop esi
pop ebp
add eax, 0xfffffff8
pop ebx
add esp, 0x1c
ret 0x10