Function at 0x5a7f7e
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.005a9646
mov edi, eax
xor edx, edx
cmp edi, edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 8], 1
je 0x5a7fa7
mov dword [ebp - 8], edi
mov eax, dword [esi + 0x40]
sub eax, dword [ebx]
cmp dword [ebp - 8], eax
jle 0x5a7fd8
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
cmp eax, edx
jne 0x5a7fc6
push 0x15
call fcn.00581d1f
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
push 0x453
mov ecx, eax
call fcn.00583009
mov ecx, dword [esi + 0x14]
push dword [ebp - 8]
add ecx, 0x78
call fcn.0059ca49
mov eax, dword [esi + 0x14]
and dword [ebp - 8], 0
test edi, edi
mov dword [eax + 0xbc], edi
jle 0x5a8190
push ebx
mov ecx, esi
call fcn.005a9646
mov dword [ebp - 4], eax
mov eax, dword [ebx]
push ebx
mov ecx, esi
mov dword [ebp - 0xc], eax
call fcn.005a9646
cmp dword [ebp - 4], 1
jl 0x5a8027
mov edi, dword [ebp - 4]
push ebx
mov ecx, esi
call fcn.005a9646
dec edi
jne 0x5a801c
push ebx
mov ecx, esi
call fcn.005a9646
mov eax, dword [ebx]
cmp eax, dword [esi + 0x3c]
jb 0x5a803b
cmp eax, dword [esi + 0x40]
jb 0x5a8064
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
xor edi, edi
cmp eax, edi
jne 0x5a8050
push 0x15
call fcn.00581d1f
push edi
push edi
push edi
push edi
push edi
push edi
push 0x453
mov ecx, eax
call fcn.00583009
jmp 0x5a8066
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 0x5a8096
mov eax, dword [esi + 8]
push edi
push dword [eax + 0x28]
push 0x3c
call fcn.00440ed0
add esp, 0xc
cmp eax, edi
je 0x5a80cd
mov ecx, eax
call fcn.005b5d8b
mov edi, eax
jmp 0x5a80cd
cmp dword [esi + 0x1c], edi
jne 0x5a80c0
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
cmp eax, edi
jne 0x5a80ae
push 0x15
call fcn.00581d1f
push edi
push edi
push edi
push edi
push edi
push edi
push 0x437
mov ecx, eax
call fcn.00583009
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.005a98bb
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.005a98e6
mov eax, dword [ebp - 0x10]
or dword [edi + 0x18], eax
test al, 8
je 0x5a8150
push ebx
mov ecx, esi
call fcn.005a9646
test eax, eax
mov dword [ebp - 0x14], eax
mov dword [edi + 0x10], eax
jle 0x5a8124
mov dword [ebp - 0xc], eax
push ebx
mov ecx, esi
call fcn.005a9646
inc dword [ebx]
dec dword [ebp - 0xc]
jne 0x5a8112
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 4]
jle 0x5a8150
mov ecx, dword [esi]
mov eax, dword [ecx + 0x44]
mov eax, dword [eax + 0x54]
test eax, eax
jne 0x5a813c
push 0x15
call fcn.00581d1f
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push 0x453
mov ecx, eax
call fcn.00583009
test byte [ebp - 0x10], 0x80
je 0x5a8173
and dword [ebp - 4], 0
cmp dword [edi + 0xc], 0
jle 0x5a8173
push ebx
mov ecx, esi
call fcn.005a9646
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [edi + 0xc]
jl 0x5a8160
mov ecx, dword [esi + 0x14]
push edi
mov edi, dword [ebp - 8]
push edi
add ecx, 0x78
call fcn.0059cbc1
inc edi
cmp edi, dword [ebp - 0x18]
mov dword [ebp - 8], edi
jl 0x5a7ffb
pop edi
pop esi
pop ebx
leave
ret