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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5a5d86
sub esp, 0x60
mov edx, dword [esp + 0x68]
test edx, edx
jbe 0x5a5d7c
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx]
lea ebp, [ebp + ebp*4]
cmp edx, 1
jbe 0x5a5d70
shl ebp, 3
add ebp, dword [ebx + 4]
mov dword [esp + 0x50], ebp
mov eax, ebp
sar ebp, 0x1f
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x5a5a86
mov edi, 1
jmp 0x5a5acf
mov ecx, ebp
mov esi, eax
xor edi, edi
jmp 0x5a5aa8
shr eax, 7
mov edx, ebp
shl edx, 0x19
or eax, edx
sar ebp, 7
inc edi
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x50]
test ebp, ebp
setg bl
sete dl
test eax, eax
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, edx
or ebx, esi
test bl, bl
jne 0x5a5a8e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ebp, ecx
mov dword [esp + 0x30], ebp
lea esi, [edi - 1]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
jmp 0x5a5b0d
mov byte [eax + edi - 1], dl
dec esi
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ecx, ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x30]
test esi, esi
jl 0x5a5bd4
mov dword [esp + 0x48], ecx
lea ebx, [esi + esi*2]
lea edx, [esi + ebx*2 - 0x20]
mov dword [esp + 0x4c], edx
neg edx
mov ecx, edx
shl ebp, cl
lea ebx, [esi + ebx*2]
mov ecx, ebx
shr eax, cl
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
xor ecx, 0xffffffff
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
cmp edx, 0x20
sbb edx, edx
and edx, ebp
or eax, edx
mov edx, dword [esp + 0x4c]
cmp edx, 0x20
sbb ebx, ebx
not ebx
or ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebp, dword [esp + 0x30]
mov ebx, ebp
sar ebp, cl
and ebp, edx
or eax, ebp
mov edx, eax
and eax, 0x7f
test esi, esi
je 0x5a5b77
or edx, 0xffffff80
jmp 0x5a5b79
mov edx, eax
mov eax, dword [esp + 0x44]
inc eax
mov ebp, dword [esp + 0x48]
cmp ebp, eax
jae 0x5a5aee
mov dword [esp + 0x38], esi
mov byte [esp + 0x23], dl
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov ebp, ecx
jmp 0x5a5aee
mov eax, dword [esp + 0x44]
mov ebp, 2
jmp 0x5a5bee
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
cmp edx, ebp
jle 0x5a5c48
mov dword [esp + 0x3c], ebp
mov esi, dword [ebx + ebp*4]
mov dword [esp + 0x50], esi
sar esi, 0x1f
mov dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x50]
test ebx, ebx
sete dl
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x5a5c23
mov edx, 1
jmp 0x5a5c45
mov dword [esp + 0x40], eax
mov edx, esi
mov ebp, ebx
xor edx, edx
mov dword [esp + 0x28], edx
mov edx, esi
jmp 0x5a5c6a
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
dec edx
jmp 0x5a5c96
add esp, 0x60
ret
shr ebx, 7
mov eax, esi
shl eax, 0x19
or ebx, eax
sar esi, 7
mov eax, dword [esp + 0x28]
inc eax
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x28], eax
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
setg dl
test ebx, ebx
seta al
and eax, ebp
or edx, eax
test dl, dl
jne 0x5a5c4c
jmp 0x5a5c35
xchg ebp, ebx
mov byte [eax + edi - 1], bl
xchg ebp, ebx
dec edx
mov ebp, dword [esp + 0x50]
mov ecx, ebx
mov ebx, ebp
test edx, edx
jl 0x5a5bdf
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], edi
lea ebp, [edx + edx*2]
lea edi, [edx + ebp*2 - 0x20]
mov dword [esp + 0x4c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ecx, edi
shl esi, cl
lea ebp, [edx + ebp*2]
mov ecx, ebp
shr ebx, cl
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
xor ecx, 0xffffffff
cmp edi, 0x20
sbb edi, edi
and esi, edi
cmp ebp, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, esi
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x20
sbb esi, esi
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebp
mov ebp, ecx
mov ecx, esi
mov edi, dword [esp + 0x2c]
mov esi, edi
sar edi, cl
and edi, ebp
or ebx, edi
mov ebp, ebx
and ebx, 0x7f
test edx, edx
je 0x5a5d0c
or ebp, 0xffffff80
jmp 0x5a5d0e
mov ebp, ebx
inc eax
mov ebx, dword [esp + 0x24]
cmp ebx, eax
jb 0x5a5d20
mov edi, dword [esp + 0x5c]
jmp 0x5a5c85
mov dword [esp + 0x34], edx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
movzx ebp, byte [esp + 0x22]
mov esi, dword [esp + 0x2c]
mov ebx, ecx
jmp 0x5a5c85
mov eax, 1
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
nop
call fcn.00467050
jmp fcn.005a5a20