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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5a9313
sub esp, 0x74
mov ecx, dword [esp + 0x78]
movzx edx, byte [ecx]
test dl, dl
jne 0x5a8f2f
mov edx, dword [esp + 0x80]
cmp edx, 2
jl 0x5a8e99
mov ebx, dword [esp + 0x7c]
movzx ebp, byte [ebx + 1]
movzx esi, byte [ebx]
shl esi, 8
or ebp, esi
movzx ebp, bp
mov esi, dword [esp + 0x84]
add esi, 0xfffffffe
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add ebx, esi
add edx, 0xfffffffe
jmp 0x5a8f99
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [0x69b600]
mov dword [esp + 0x4c], eax
lea ecx, [0x7828bc]
mov dword [esp + 0x50], ecx
mov dword [esp], edx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x4c]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
cmp dl, 1
jne 0x5a9171
mov edx, dword [esp + 0x80]
cmp edx, 4
jl 0x5a90db
nop
mov eax, ecx
mov ecx, dword [esp + 0x84]
lea esi, [ecx - 4]
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov ebx, ecx
mov ecx, dword [esp + 0x7c]
mov ebp, ecx
add ecx, esi
add edx, 0xfffffffc
mov esi, ecx
movzx ecx, byte [ebp + 3]
mov edi, ecx
movzx ecx, byte [ebp + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [ebp + 1]
shl ecx, 0x10
or ecx, edi
movzx ebp, byte [ebp]
shl ebp, 0x18
or ebp, ecx
mov ecx, eax
mov eax, ebx
mov ebx, esi
mov dword [esp + 0x24], ebp
movzx esi, byte [ecx + 1]
mov edi, esi
and esi, 0x30
xchg esi, eax
shr al, 4
xchg esi, eax
inc esi
xchg esi, eax
movzx eax, al
xchg esi, eax
mov dword [esp + 0x2c], esi
cmp esi, 4
jg 0x5a9032
imul ebp, esi
cmp edx, ebp
jl 0x5a9032
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], eax
xchg edi, eax
mov byte [esp + 0x1f], al
xchg edi, eax
lea eax, [0x6b3dc0]
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x78]
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov ebx, dword [0x1eaa9f0]
test ebx, ebx
jne 0x5a900a
mov dword [edx + 4], eax
jmp 0x5a9012
lea edi, [edx + 4]
call fcn.00465d80
movzx ebx, byte [esp + 0x1f]
and ebx, 0xf
inc ebx
mov byte [esp + 0x1e], bl
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
xor edi, edi
jmp 0x5a9205
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.00465fea
mov dword [esp], edx
call fcn.00409720
mov ecx, dword [esp + 4]
lea edx, [0x69b600]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
call fcn.00409720
mov ecx, dword [esp + 4]
lea edx, [0x69b600]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp], ecx
call fcn.00409720
mov ecx, dword [esp + 4]
lea edx, [0x69b600]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ecx
lea ecx, [0x706ff3]
mov dword [esp], ecx
mov dword [esp + 4], 0x40
lea ecx, [esp + 0x5c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.004cde70
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
add esp, 0x74
ret
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
lea eax, [0x69b600]
mov dword [esp + 0x4c], eax
lea ecx, [0x7828d8]
mov dword [esp + 0x50], ecx
mov dword [esp], edx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
lea eax, [0x6fc70f]
mov dword [esp], eax
mov dword [esp + 4], 0x20
lea eax, [esp + 0x4c]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
movzx eax, byte [ecx]
lea ecx, [0x69be80]
mov dword [esp + 0x44], ecx
lea ecx, [0x934160]
lea eax, [ecx + eax*8]
mov dword [esp + 0x48], eax
lea eax, [0x6feabd]
mov dword [esp], eax
mov dword [esp + 4], 0x25
lea eax, [esp + 0x44]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x74
ret
mov ebx, dword [esp + 0x3c]
lea ebx, [ebx + edi*4 + 2]
mov word [ebx], si
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov ecx, ebx
movzx ebx, byte [esp + 0x1e]
cmp edi, ecx
jge 0x5a92b0
mov dword [esp + 0x28], edi
imul edi, eax
mov ebx, dword [esp + 0x28]
inc ebx
mov dword [esp + 0x34], ebx
imul ebx, eax
cmp ebp, ebx
jb 0x5a9309
cmp ebx, edi
jb 0x5a9300
mov ebx, ebp
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
add ebp, esi
xor edi, edi
xor edi, edi
mov dword [esp + 0x20], edi
xor edi, edi
jmp 0x5a92e5
movzx ebp, byte [esp + 0x1e]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb edi, edi
mov dword [esp + 0x30], edi
mov esi, dword [edx + 8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x3c], ebx
mov ecx, ebp
mov ebx, dword [esp + 0x20]
shr ebx, cl
and ebx, edi
mov edi, dword [esp + 0x28]
cmp edi, esi
jae 0x5a92f7
mov esi, dword [esp + 0x3c]
lea esi, [esi + edi*4]
mov word [esi], bx
mov ebx, dword [edx + 8]
mov esi, dword [edx + 4]
mov dword [esp + 0x3c], esi
mov esi, 1
shl esi, cl
mov ebp, dword [esp + 0x30]
and esi, ebp
lea ebp, [esi - 1]
mov esi, dword [esp + 0x20]
and esi, ebp
cmp edi, ebx
jb 0x5a91e3
jmp 0x5a92ee
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x74
ret
movzx esi, byte [ebp + edi]
inc edi
mov ebx, dword [esp + 0x20]
shl ebx, 8
add ebx, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x38]
cmp edi, eax
jl 0x5a92ca
jmp 0x5a9250
mov eax, edi
mov ecx, ebx
call fcn.00465e00
mov eax, edi
mov ecx, esi
call fcn.00465e00
mov eax, edi
mov ecx, ebx
call fcn.00465e60
mov ecx, ebx
mov edx, ebp
call fcn.00465e40
nop
call fcn.004649b0
jmp fcn.005a8e30