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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x59fd96
sub esp, 0x60
mov edx, dword [esp + 0x68]
test edx, edx
jbe 0x59fd8c
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx]
lea ebp, [ebp + ebp*4]
cmp edx, 1
jbe 0x59fd80
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 0x59fa96
mov edi, 1
jmp 0x59fadf
mov ecx, ebp
mov esi, eax
xor edi, edi
jmp 0x59fab8
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 0x59fa9e
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 0x59fb1d
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 0x59fbe4
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 0x59fb87
or edx, 0xffffff80
jmp 0x59fb89
mov edx, eax
mov eax, dword [esp + 0x44]
inc eax
mov ebp, dword [esp + 0x48]
cmp ebp, eax
jae 0x59fafe
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, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
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 0x59fafe
mov eax, dword [esp + 0x44]
mov ebp, 2
jmp 0x59fbfe
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
cmp edx, ebp
jle 0x59fc58
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 0x59fc33
mov edx, 1
jmp 0x59fc55
mov dword [esp + 0x40], eax
mov edx, esi
mov ebp, ebx
xor edx, edx
mov dword [esp + 0x28], edx
mov edx, esi
jmp 0x59fc7a
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
dec edx
jmp 0x59fca6
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 0x59fc5c
jmp 0x59fc45
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 0x59fbef
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 0x59fd1c
or ebp, 0xffffff80
jmp 0x59fd1e
mov ebp, ebx
inc eax
mov ebx, dword [esp + 0x24]
cmp ebx, eax
jb 0x59fd30
mov edi, dword [esp + 0x5c]
jmp 0x59fc95
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, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
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 0x59fc95
mov eax, 1
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.0059fa30