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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x5a5282
sub esp, 0x94
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x5a4b7f
nop
movzx edx, byte [0x8c1150]
test dl, dl
je 0x5a4b47
mov edx, dword [esp + 0xc8]
mov dword [0x8c1154], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x5a4b31
mov edx, dword [esp + 0xcc]
mov dword [0x8c1158], edx
jmp 0x5a4b4e
lea edi, [0x8c1158]
mov eax, dword [esp + 0xcc]
call fcn.00463080
mov edx, eax
jmp 0x5a4b4e
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x5a4b77
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5a4b85
or ebx, 0x80
jmp 0x5a4b85
xor ebx, ebx
xor ecx, ecx
xor edx, edx
jmp 0x5a4b85
xor edx, edx
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], ebx
mov ebp, ebx
and ebx, 0x1f
mov dword [esp + 0x30], ebx
cmp ebx, 0x17
jne 0x5a4ba4
mov esi, dword [edx + 4]
jmp 0x5a4bc8
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0048b1c0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
mov eax, ebp
mov ebp, dword [esp + 0x9c]
add esi, dword [ebp]
mov dword [ebp], esi
mov edi, ebp
mov ebp, dword [esp + 0xa0]
cmp ebp, esi
jl 0x5a4bf1
cmp ebx, 0x17
mov esi, 0
jmp 0x5a4c91
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x98]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 8
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x6ac0c0]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
lea ecx, [0x7399cc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0x94
ret
mov eax, dword [esp + 0x2c]
lea esi, [eax + 1]
mov ebx, dword [esp + 0x30]
cmp ebx, 0x17
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x2c], esi
jne 0x5a4c9c
mov ebx, dword [edx + 4]
jmp 0x5a4cce
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0048b1c0
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x9c]
cmp esi, ebx
jge 0x5a4ec8
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.0048ae20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0048afd0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0xb4]
mov dword [esp], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call eax
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x5a4e68
test al, al
je 0x5a4c69
lea edi, [esp + 0x7c]
xor eax, eax
call fcn.0046331a
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
call fcn.004091e0
mov ecx, dword [esp + 8]
lea edx, [0x68e4c0]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 4], ecx
call fcn.004091e0
mov ecx, dword [esp + 8]
lea edx, [0x68e4c0]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], ecx
lea ecx, [0x6d17f8]
mov dword [esp], ecx
mov dword [esp + 4], 0x22
lea ecx, [esp + 0x7c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004c50d0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
lea ecx, [0x6ac0c0]
mov dword [esp], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 4], ecx
call fcn.00408f90
mov ecx, dword [esp + 8]
lea edx, [0x7399cc]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], ecx
add esp, 0x94
ret
mov eax, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x6ac0c0]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
lea ecx, [0x7399cc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0x94
ret
mov ecx, dword [esp + 0xc0]
test ecx, ecx
je 0x5a4f57
nop
movzx edx, byte [0x8c1150]
test dl, dl
je 0x5a4f21
mov edx, dword [esp + 0xc0]
mov dword [0x8c1154], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x5a4f09
mov eax, dword [esp + 0xc4]
mov dword [0x8c1158], eax
jmp 0x5a4f28
mov eax, dword [esp + 0xc4]
mov edx, edi
lea edi, [0x8c1158]
call fcn.00463080
mov edi, edx
jmp 0x5a4f28
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x5a4f4f
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5a4f5d
or edx, 0x80
jmp 0x5a4f5d
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x5a4f5d
xor eax, eax
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], eax
mov ebx, edx
and edx, 0x1f
mov dword [esp + 0x30], edx
cmp edx, 0x17
jne 0x5a4f7c
mov esi, dword [eax + 4]
jmp 0x5a4fae
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0048b1c0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
add esi, dword [edi]
mov dword [edi], esi
cmp ebp, esi
jl 0x5a4fc5
cmp edx, 0x17
mov ebp, 0
mov esi, 1
jmp 0x5a503b
mov eax, dword [esp + 0x98]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], 8
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x6ac0c0]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
lea ecx, [0x7399cc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0x94
ret
mov edi, dword [esp + 0x28]
lea ebp, [edi + 1]
mov edx, dword [esp + 0x30]
cmp edx, 0x17
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov esi, eax
mov eax, edi
mov dword [esp + 0x28], ebp
jne 0x5a5046
mov edi, dword [eax + 4]
jmp 0x5a5079
xchg esi, eax
mov byte [esp + 0x1f], al
xchg esi, eax
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0048b1c0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
movzx esi, byte [esp + 0x1f]
cmp ebp, edi
jge 0x5a5161
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0048ae20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0048afd0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xb4]
mov dword [esp], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call eax
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x5a5101
test al, al
je 0x5a501d
jmp 0x5a5163
mov eax, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x6ac0c0]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
lea ecx, [0x7399cc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0x94
ret
mov eax, esi
test al, al
je 0x5a5184
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0x94
ret
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
call fcn.004091e0
mov eax, dword [esp + 8]
lea ecx, [0x68e4c0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.004091e0
mov eax, dword [esp + 8]
lea ecx, [0x68e4c0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x6d3db7]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c50d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x98]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], 2
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x6ac0c0]
mov dword [esp], eax
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
lea ecx, [0x7399cc]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
add esp, 0x94
ret
call fcn.00461c70
jmp fcn.005a4ad0