Function at 0x652730
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 0x652a04
sub esp, 0x40
movzx edx, byte [esp + 0x6c]
test dl, dl
je 0x652757
mov eax, 6
jmp 0x65275c
mov eax, 4
mov ecx, eax
mov ebx, 1
shl ebx, cl
lea ebp, [eax - 0x20]
mov ecx, ebp
mov esi, 1
shl esi, cl
neg ecx
mov edi, 1
shr edi, cl
cmp al, 0x20
sbb eax, eax
and ebx, eax
cmp cl, 0x20
sbb eax, eax
and edi, eax
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and esi, ebp
or edi, esi
mov ebp, ebx
add ebx, 0xffffffff
mov esi, edi
adc edi, 0xffffffff
mov edx, dword [esp + 0x68]
cmp edx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
setb cl
mov edx, dword [esp + 0x64]
cmp ebx, edx
seta al
and edi, eax
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x65285e
mov eax, dword [esp + 0x48]
lea edi, [eax + 1]
mov ecx, esi
mov esi, dword [esp + 0x4c]
cmp esi, edi
jb 0x6527e7
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
jmp 0x65283f
mov dword [esp + 0x20], ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov esi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
mov byte [edi + edx - 1], bl
mov ebx, dword [esp + 0x64]
sub ebx, ebp
mov ebp, dword [esp + 0x68]
sbb ebp, ecx
add ebx, 1
adc ebp, 0
jmp 0x652953
mov eax, dword [esp + 0x48]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x4c]
cmp ebp, ebx
jb 0x652873
mov ecx, dword [esp + 0x44]
jmp 0x6528b1
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x64]
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x48]
mov byte [ebx + ecx - 1], dl
movzx edx, byte [esp + 0x60]
test dl, dl
je 0x6528c5
mov edx, 0x10
jmp 0x6528d7
movzx edx, byte [esp + 0x6c]
test dl, dl
je 0x6528d5
mov edx, 0x40
jmp 0x6528d7
xor edx, edx
cmp eax, ebx
jae 0x652924
movzx esi, byte [ecx + eax]
or esi, edx
xchg esi, ebx
mov byte [ecx + eax], bl
xchg esi, ebx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00652a10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x40
ret
mov ecx, ebx
call fcn.00468ed0
mov eax, ebx
shr eax, 7
mov ecx, dword [esp + 0x28]
mov edi, ecx
shl ecx, 0x19
and ebx, 0x7f
or ebx, 0x80
mov byte [ebp + edx - 1], bl
or ecx, eax
shr edi, 7
mov ebx, ecx
mov eax, ebp
mov ebp, edi
mov edi, eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
test ebp, ebp
seta cl
sete al
cmp ebx, 0x80
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, eax
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6529b8
lea ebp, [edi + 1]
cmp esi, ebp
jae 0x65292b
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
jmp 0x65292b
lea ebp, [edi + 1]
cmp esi, ebp
jae 0x6529f1
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x6f4820]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov byte [ebp + edx - 1], bl
mov eax, dword [esp + 0x48]
mov ebx, ebp
mov ecx, edx
mov ebp, esi
jmp 0x6528b5
call fcn.00467a60
jmp fcn.00652730