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

Disassembly:
mov eax, 0xc3c
call fcn.005f62e0
mov eax, dword [0x6c02d0]
xor eax, esp
mov dword [esp + 0xc38], eax
push ebx
mov ebx, dword [esp + 0xc44]
push edi
xor edi, edi
mov dword [esp + 0xc], edi
cmp dword [ebx + 0x48], edi
jbe 0x5a3217
push ebp
push esi
xor eax, eax
mov dword [esp + 0x3c], eax
nop dword [eax + eax]
xor ebp, ebp
mov dword [esp + 0x24], ebp
cmp dword [ebx + 0x30], ebp
jbe 0x5a31f9
mov byte [esp + 0x10], al
movzx eax, al
mov dword [esp + 0x28], eax
nop word [eax + eax]
push 0x400
lea eax, [esp + 0x4c]
push 0
push eax
call fcn.005f77b0
mov esi, dword [ebx + 0x40]
add esp, 0xc
mov eax, esi
sub eax, 0
je 0x5a2f70
sub eax, 1
je 0x5a2f06
sub eax, 1
jne 0x5a2f70
test edi, edi
jne 0x5a2f00
cmp byte [esp + 0x10], 2
jae 0x5a2f00
lea eax, [edi + 1]
jmp 0x5a2f02
xor eax, eax
test eax, eax
je 0x5a2f70
push 0x400
lea eax, [esp + 0x84c]
push 0
push eax
call fcn.005f77b0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
movzx eax, cl
cdq
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x68], eax
mov eax, esi
mov dword [esp + 0x5c], edx
cdq
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jmp 0x5a2f74
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ebp
xor ebp, ebp
test edi, edi
jne 0x5a2fb0
test cl, cl
jne 0x5a2fb0
lea ebp, [edi + 2]
sub esi, edi
je 0x5a2fb0
sub esi, 1
je 0x5a2f93
sub esi, 1
jne 0x5a2fb0
lea eax, [esp + 0x848]
push eax
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x450]
push eax
call fcn.005a3b80
add esp, 0xc
mov esi, dword [ebx + 0x54]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov eax, esi
imul eax, dword [esp + 0x24]
mov edi, dword [ebx + 0x50]
imul ecx, edi
add eax, ebp
add ecx, eax
mov eax, ecx
mov dword [esp + 0x38], ecx
div esi
test edx, edx
jne 0x5a2fe3
mov eax, dword [esp + 0x24]
dec esi
add esi, ecx
mov dword [esp + 0x18], eax
jmp 0x5a2fe6
lea esi, [ecx - 1]
cmp ebp, edi
jae 0x5a31df
shl esi, 0xa
mov eax, ecx
shl eax, 0xa
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], eax
nop
mov edi, dword [ebx + 0x54]
xor edx, edx
mov eax, ecx
mov dword [esp + 0x1c], edi
div edi
cmp edx, 1
jne 0x5a3020
mov esi, dword [esp + 0x20]
add esi, 0xfffffc00
mov dword [esp + 0x2c], esi
push dword [esp + 0x10]
push dword [esp + 0x18]
push ebx
call fcn.005a18b0
add esp, 0xc
test eax, eax
je 0x5a3094
mov esi, ebp
and esi, 0x7f
jne 0x5a3084
add dword [esp + 0x78], 1
lea eax, [esp + 0x448]
push esi
adc dword [esp + 0x80], esi
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x854]
push eax
call fcn.005a18e0
push esi
lea eax, [esp + 0x45c]
push eax
push eax
lea eax, [esp + 0x864]
push eax
call fcn.005a18e0
mov edi, dword [ebx + 0x54]
add esp, 0x20
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + esi*8 + 0x448]
mov eax, dword [esp + esi*8 + 0x44c]
jmp 0x5a30a2
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x1c], edi
mov ecx, dword [esi + eax]
mov eax, dword [esi + eax + 4]
push 0
push dword [ebx + 0x30]
mov dword [esp + 0x38], ecx
push 0
push eax
call fcn.005f6a30
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
test esi, esi
jne 0x5a30d8
test cl, cl
jne 0x5a30d8
mov eax, dword [esp + 0x18]
lea edx, [esi + 1]
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], esi
jmp 0x5a30eb
cmp eax, dword [esp + 0x18]
jne 0x5a30e9
test edx, edx
jne 0x5a30e9
mov edx, 1
jmp 0x5a30eb
xor edx, edx
mov dword [esp + 0x40], 0
test esi, esi
je 0x5a312b
mov ecx, dword [ebx + 0x50]
test edx, edx
je 0x5a3107
mov esi, edi
sub esi, ecx
dec esi
add esi, ebp
jmp 0x5a3116
mov esi, ecx
mov eax, ecx
neg esi
not eax
test ebp, ebp
cmove esi, eax
add esi, edi
cmp byte [esp + 0x10], 3
je 0x5a3152
mov eax, dword [esp + 0x28]
inc eax
imul eax, ecx
mov dword [esp + 0x40], eax
jmp 0x5a3152
test cl, cl
jne 0x5a3134
lea esi, [ebp - 1]
jmp 0x5a3152
mov eax, dword [ebx + 0x50]
imul eax, dword [esp + 0x28]
test edx, edx
je 0x5a3147
lea esi, [eax - 1]
add esi, ebp
jmp 0x5a3152
mov esi, ebp
neg esi
sbb esi, esi
neg esi
dec esi
add esi, eax
mov eax, dword [esp + 0x30]
mov edi, dword [ebx + 0x44]
push 0
push eax
push 0
push eax
call fcn.005f62a0
mov eax, edx
mul esi
xor eax, eax
dec esi
sub esi, edx
push 0
push dword [esp + 0x20]
sbb eax, eax
add esi, dword [esp + 0x48]
adc eax, 0
push eax
push esi
call fcn.005f6a30
mov ecx, dword [esp + 0x1c]
imul ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
add edx, edi
add ecx, eax
xor eax, eax
shl ecx, 0xa
add ecx, edi
add edi, esi
cmp dword [ebx + 0x38], 0x10
je 0x5a31ae
cmp dword [esp + 0x14], eax
setne al
push eax
push edx
push ecx
push edi
call fcn.005a18e0
mov ecx, dword [esp + 0x48]
inc ebp
add dword [esp + 0x30], 0x400
inc ecx
add esi, 0x400
mov dword [esp + 0x48], ecx
add esp, 0x10
mov dword [esp + 0x2c], esi
cmp ebp, dword [ebx + 0x50]
jb 0x5a3000
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x24], ebp
cmp ebp, dword [ebx + 0x30]
jb 0x5a2ec0
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, 4
jb 0x5a2ea0
inc edi
mov dword [esp + 0x14], edi
cmp edi, dword [ebx + 0x48]
jb 0x5a2e92
pop esi
pop ebp
mov ecx, dword [esp + 0xc40]
mov eax, 1
pop edi
pop ebx
xor ecx, esp
call fcn.005f5e48
add esp, 0xc3c
ret