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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x5a4a5e
sub esp, 0xe0
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.00465fe9
lea edi, [esp + 0x74]
call fcn.00465fe9
mov ecx, dword [esp + 0xe8]
cmp ecx, 4
jl 0x5a4773
mov edx, dword [esp + 0xe4]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edx]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x74], bx
lea ebx, [ecx - 2]
cmp ebx, 1
jbe 0x5a4a51
movzx ebx, byte [edx + 3]
movzx ebp, byte [edx + 2]
shl ebp, 8
or ebx, ebp
movzx ebx, bx
test ebx, ebx
je 0x5a4742
cmp ecx, ebx
jl 0x5a4679
mov ebp, dword [esp + 0xec]
mov esi, ebp
sub ebp, ebx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
add ebp, edx
mov dword [esp + 0x78], ebp
mov ebp, ecx
sub ecx, ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edi
jmp 0x5a474b
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x706703]
mov dword [esp], eax
mov dword [esp + 4], 0x3c
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
lea edi, [esp + 0xf4]
lea esi, [esp + 0x74]
call fcn.004664ba
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x118], eax
add esp, 0xe0
ret
mov ebp, ecx
mov esi, dword [esp + 0xec]
movzx ebx, word [esp + 0x74]
and ebx, 0xfff
mov dword [esp + 0x54], ebx
mov ecx, dword [esp + 0xf0]
xor edi, edi
mov eax, 4
mov dword [esp + 0x4c], eax
xor eax, eax
jmp 0x5a483f
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [0x70634d]
mov dword [esp], eax
mov dword [esp + 4], 0x3b
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
lea edi, [esp + 0xf4]
lea esi, [esp + 0x74]
call fcn.004664ba
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x118], eax
add esp, 0xe0
ret
mov eax, dword [esp + 0x50]
lea edi, [eax + 1]
mov esi, dword [esp + 0xec]
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe4]
mov ebp, dword [esp + 0xe8]
xor eax, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xe4]
cmp edi, ebx
jge 0x5a4a10
mov ebx, dword [esp + 0x4c]
cmp ebp, ebx
jb 0x5a4a48
mov dword [esp + 0x50], edi
lea edi, [esp + 0xb8]
call fcn.00465fe6
sub esi, ebx
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
add esi, edx
mov dword [esp], esi
sub ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0xc], ebp
call fcn.005a7630
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
lea edi, [esp + 0xb8]
lea esi, [esp + 0x10]
call fcn.0046649c
lea edi, [esp + 0x90]
lea esi, [esp + 0xb8]
call fcn.0046649c
test edx, edx
jne 0x5a4983
mov ecx, dword [esp + 0x88]
inc ecx
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x8c]
cmp ebx, ecx
jae 0x5a4926
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6c4600]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
lea ecx, [ecx + ecx*4]
lea edi, [edx + ecx*8 - 0x28]
mov ecx, dword [0x1eaa9f0]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x44]
add edx, ebx
test ecx, ecx
jne 0x5a4959
lea esi, [esp + 0x90]
call fcn.0046649c
jmp 0x5a480b
mov dword [esp + 0x48], edx
lea eax, [0x6c4600]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
call fcn.004115f0
mov edx, dword [esp + 0x48]
jmp 0x5a480b
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
test ebx, ebx
je 0x5a499a
mov ebx, dword [ebx + 4]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebp
lea eax, [0x6fbcbb]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
lea edi, [esp + 0xf4]
lea esi, [esp + 0x74]
call fcn.004664ba
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x118], eax
add esp, 0xe0
ret
lea edi, [esp + 0xf4]
lea esi, [esp + 0x74]
call fcn.004664ba
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
add esp, 0xe0
ret
mov eax, ebx
mov ecx, ebp
call fcn.00465e60
mov eax, 1
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005a45c0