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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
mov esi, ecx
push edi
lea ebx, [esi + 0x18]
push ebx
call fcn.005a8fca
mov edi, eax
xor edx, edx
cmp edi, edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 8], 1
je 0x5a7931
mov dword [ebp - 8], edi
mov eax, dword [esi + 0x40]
sub eax, dword [ebx]
cmp dword [ebp - 8], eax
jle 0x5a7962
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
cmp eax, edx
jne 0x5a7950
push 0x15
call fcn.0058171f
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
push 0x453
mov ecx, eax
call fcn.00582a09
mov ecx, dword [esi + 0x14]
push dword [ebp - 8]
add ecx, 0x78
call fcn.0059c408
mov eax, dword [esi + 0x14]
and dword [ebp - 8], 0
test edi, edi
mov dword [eax + 0xbc], edi
jle 0x5a7b1a
push ebx
mov ecx, esi
call fcn.005a8fca
mov dword [ebp - 4], eax
mov eax, dword [ebx]
push ebx
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.005a8fca
cmp dword [ebp - 4], 1
jl 0x5a79b1
mov edi, dword [ebp - 4]
push ebx
mov ecx, esi
call fcn.005a8fca
dec edi
jne 0x5a79a6
push ebx
mov ecx, esi
call fcn.005a8fca
mov eax, dword [ebx]
cmp eax, dword [esi + 0x3c]
jb 0x5a79c5
cmp eax, dword [esi + 0x40]
jb 0x5a79ee
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
xor edi, edi
cmp eax, edi
jne 0x5a79da
push 0x15
call fcn.0058171f
push edi
push edi
push edi
push edi
push edi
push edi
push 0x453
mov ecx, eax
call fcn.00582a09
jmp 0x5a79f0
xor edi, edi
mov eax, dword [ebx]
movzx ecx, byte [eax]
inc eax
test cl, 0x20
mov dword [ebp - 0x10], ecx
mov dword [ebx], eax
jne 0x5a7a20
mov eax, dword [esi + 8]
push edi
push dword [eax + 0x28]
push 0x3c
call fcn.00440f60
add esp, 0xc
cmp eax, edi
je 0x5a7a57
mov ecx, eax
call fcn.005b56d7
mov edi, eax
jmp 0x5a7a57
cmp dword [esi + 0x1c], edi
jne 0x5a7a4a
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
cmp eax, edi
jne 0x5a7a38
push 0x15
call fcn.0058171f
push edi
push edi
push edi
push edi
push edi
push edi
push 0x437
mov ecx, eax
call fcn.00582a09
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 8]
mov edi, dword [eax + ecx*4]
or byte [edi + 0x1b], 8
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x20], eax
push dword [esi + 0x14]
lea ecx, [edi + 8]
call fcn.0059c2de
mov eax, dword [ebp - 8]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 4]
mov dword [edi + 0xc], eax
inc eax
push eax
mov ecx, edi
call fcn.005a924a
mov eax, dword [ebp - 0x10]
or dword [edi + 0x18], eax
test al, 8
je 0x5a7ada
push ebx
mov ecx, esi
call fcn.005a8fca
test eax, eax
mov dword [ebp - 0x14], eax
mov dword [edi + 0x10], eax
jle 0x5a7aae
mov dword [ebp - 0xc], eax
push ebx
mov ecx, esi
call fcn.005a8fca
inc dword [ebx]
dec dword [ebp - 0xc]
jne 0x5a7a9c
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
jle 0x5a7ada
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
test eax, eax
jne 0x5a7ac6
push 0x15
call fcn.0058171f
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push 0x453
mov ecx, eax
call fcn.00582a09
test byte [ebp - 0x10], 0x80
je 0x5a7afd
and dword [ebp - 4], 0
cmp dword [edi + 0xc], 0
jle 0x5a7afd
push ebx
mov ecx, esi
call fcn.005a8fca
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [edi + 0xc]
jl 0x5a7aea
mov ecx, dword [esi + 0x14]
push edi
mov edi, dword [ebp - 8]
push edi
add ecx, 0x78
call fcn.0059c5dd
inc edi
cmp edi, dword [ebp - 0x18]
mov dword [ebp - 8], edi
jl 0x5a7985
pop edi
pop esi
pop ebx
leave
ret