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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x658a518a
sub esp, 0x60
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov byte [esp + 8], 0x2f
call fcn.65803770
mov ecx, dword [esp + 0xc]
test ecx, ecx
jl 0x658a4e38
mov edx, dword [esp + 0x68]
cmp edx, ecx
jb 0x658a5184
lea eax, [ecx + 1]
cmp edx, eax
jb 0x658a517d
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.658a4600
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
sub eax, ecx
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
mov ebp, dword [esp + 0x44]
and ebp, eax
mov eax, dword [esp + 0x64]
add ebp, eax
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test esi, esi
je 0x658a4de2
mov ecx, 4
jmp 0x658a4e13
mov dword [esp + 0x44], ebx
mov dword [esp + 0x54], ebp
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.658a4870
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x54]
mov ecx, 0x10
mov dword [esp + 0x30], edi
mov dword [esp + 0x58], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
jmp 0x658a4ecd
lea eax, [0x658db700]
mov dword [esp], eax
call fcn.6580c1a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x658e786f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x659aef10]
test ecx, ecx
jne 0x658a4e73
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x658a4e83
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6585e730
mov eax, ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x659162e4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc edx
mov edi, dword [esp + 0x30]
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
cmp edx, ebx
jge 0x658a4f2f
jae 0x658a5174
movzx edi, byte [ebp + edx]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x658a4f2b
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x658a4f25
mov esi, dword [esp + 0x28]
lea esi, [esi + esi*4]
add edi, 0xffffffd0
xchg edi, eax
movzx eax, al
xchg edi, eax
lea esi, [edi + esi*2]
cmp esi, 0xffffff
jl 0x658a4eb8
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x30]
mov edx, 0xffffff
xor ebp, ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x58]
jmp 0x658a4f57
mov edi, dword [esp + 0x30]
jmp 0x658a4f2f
mov edi, dword [esp + 0x30]
test edx, edx
jne 0x658a4f41
xor edx, edx
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x3c], edx
xor edx, edx
jmp 0x658a4f57
mov edx, dword [esp + 0x28]
mov ebp, 1
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x3c], ebp
mov ebp, 1
test esi, esi
je 0x658a4fbe
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x658a4fbe
mov ebp, dword [esp + 0x3c]
cmp ebp, ebx
jne 0x658a4fbe
test edx, edx
jl 0x658a4fbe
shl ecx, 3
cmp edx, ecx
jg 0x658a4fbe
mov dword [esp + 0x44], edx
cmp ecx, 0x20
je 0x658a4f8e
cmp ecx, 0x80
je 0x658a4f8e
xor ecx, ecx
xor eax, eax
jmp 0x658a5089
lea eax, [0x658d86e0]
mov dword [esp], eax
sar ecx, 3
mov dword [esp + 0x2c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.658489c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x44]
xor ebx, ebx
jmp 0x658a503f
lea eax, [0x658db700]
mov dword [esp], eax
call fcn.6580c1a0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xc
lea ecx, [0x658e786f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x659aef10]
test ecx, ecx
jne 0x658a4ff9
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], ecx
jmp 0x658a5009
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.6585e730
mov eax, ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x659162e4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x60
ret
inc ebx
cmp ebx, ecx
jge 0x658a5081
cmp edx, 8
jb 0x658a5059
cmp ebx, ecx
jae 0x658a516d
mov byte [eax + ebx], 0xff
add edx, 0xfffffff8
jmp 0x658a503e
cmp ebx, ecx
jae 0x658a5166
mov ebp, ecx
mov ecx, edx
mov esi, 0xffffffff
xchg esi, eax
shr al, cl
xchg esi, eax
xchg esi, ebx
not ebx
xchg esi, ebx
xchg esi, ecx
mov byte [eax + ebx], cl
xchg esi, ecx
mov ecx, ebp
xor edx, edx
jmp 0x658a503e
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.658a3360
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x40], edx
lea ebx, [0x658db6a0]
mov dword [esp], ebx
call fcn.6580c1a0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [edi + 8], eax
mov eax, dword [0x659aef10]
test eax, eax
jne 0x658a50fb
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
jmp 0x658a5104
mov eax, dword [esp + 0x5c]
call fcn.6585e730
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], ecx
mov ecx, dword [0x659aef10]
test ecx, ecx
jne 0x658a5121
mov eax, dword [esp + 0x50]
mov dword [edi + 0xc], eax
jmp 0x658a5133
lea ecx, [edi + 0xc]
mov eax, dword [esp + 0x50]
mov edx, edi
mov edi, ecx
call fcn.6585e730
mov edi, edx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
add esp, 0x60
ret
mov eax, ebx
call fcn.6585e7b0
mov eax, ebx
call fcn.6585e7b0
mov eax, edx
mov ecx, ebx
call fcn.6585e7b0
mov ecx, edx
call fcn.6585e810
call fcn.6585e7d0
nop
call fcn.6585d300
jmp fcn.658a4d40