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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x48964f
sub esp, 0x64
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x489288
mov ebx, dword [esp + 0x70]
lea ebp, [ebx - 2]
cmp ebp, 0x22
ja 0x488f70
mov ebp, dword [esp + 0x68]
mov eax, ebx
mov edi, edx
mov esi, ebp
jmp 0x48909c
test ebx, ebx
jne 0x489236
mov ebp, dword [esp + 0x68]
cmp byte [ebp], 0x30
jne 0x489093
cmp edx, 3
jge 0x488f8f
xor eax, eax
jmp 0x488faf
movzx eax, byte [ebp + 1]
mov byte [esp], al
call fcn.00488940
cmp byte [esp + 4], 0x62
sete al
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
test al, al
je 0x488fd9
cmp edx, 2
jb 0x48963f
lea esi, [edx - 2]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
mov eax, 2
jmp 0x48909c
cmp edx, 3
jge 0x488fe2
xor eax, eax
jmp 0x489002
movzx eax, byte [ebp + 1]
mov byte [esp], al
call fcn.00488940
cmp byte [esp + 4], 0x6f
sete al
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
test al, al
je 0x489029
cmp edx, 2
jb 0x489630
lea esi, [edx - 2]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
mov eax, 8
jmp 0x48909c
cmp edx, 3
jge 0x489032
xor eax, eax
jmp 0x489052
movzx eax, byte [ebp + 1]
mov byte [esp], al
call fcn.00488940
cmp byte [esp + 4], 0x78
sete al
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
test al, al
je 0x489079
cmp edx, 2
jb 0x489621
lea esi, [edx - 2]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add esi, ebp
mov eax, 0x10
jmp 0x48909c
lea esi, [edx - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ebp
mov eax, 8
jmp 0x48909c
mov eax, 0xa
mov edi, edx
mov esi, ebp
mov ecx, edx
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x4890ad
mov edx, 0x20
jmp 0x4890b6
cmp edx, 0x40
ja 0x4891e8
mov dword [esp + 0x44], edi
mov dword [esp + 0x60], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
cmp eax, 0xa
jne 0x4890e7
mov dword [esp + 0x58], eax
mov eax, 0x19999999
mov dword [esp + 0x2c], eax
mov eax, 0x9999999a
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
jmp 0x489158
cmp eax, 0x10
jne 0x489105
mov dword [esp + 0x50], eax
mov eax, 0x10000000
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
jmp 0x489158
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0xffffffff
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
call fcn.00462a10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add eax, 1
adc ecx, 0
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
lea ebp, [edx - 0x20]
mov dword [esp + 0x38], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb ebx, ebx
cmp edx, 0x20
sbb esi, esi
mov dword [esp + 0x34], esi
mov edi, dword [esp + 0x38]
cmp edi, 0x20
sbb esi, esi
mov ecx, ebp
mov edx, 1
shr edx, cl
and edx, ebx
mov ecx, edi
mov ebx, 1
shl ebx, cl
and esi, ebx
mov ecx, dword [esp + 0x40]
mov ebx, 1
shl ebx, cl
mov ebp, dword [esp + 0x34]
and ebx, ebp
or edx, esi
add ebx, 0xffffffff
mov dword [esp + 0x24], ebx
adc edx, 0xffffffff
mov dword [esp + 0x30], edx
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov byte [esp + 0x1a], al
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
jmp 0x4892eb
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00488df0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.00488cb0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00488af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
inc edx
mov edi, dword [esp + 0x60]
mov dword [esp + 0x40], edx
mov byte [esp + 0x1a], bl
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
cmp edx, esi
jge 0x48957f
movzx ebx, byte [edi + edx]
cmp bl, 0x5f
jne 0x48930f
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x489313
mov ebx, 1
jmp 0x4892d6
mov edi, dword [esp + 0x70]
mov byte [esp + 0x1b], bl
add ebx, 0xffffffd0
cmp bl, 9
jbe 0x48937c
movzx eax, byte [esp + 0x1b]
mov byte [esp], al
call fcn.00488940
cmp byte [esp + 4], 0x61
jb 0x48952d
movzx eax, byte [esp + 0x1b]
mov byte [esp], al
call fcn.00488940
cmp byte [esp + 4], 0x7a
ja 0x48952d
movzx eax, byte [esp + 0x1b]
mov byte [esp], al
call fcn.00488940
movzx eax, byte [esp + 4]
lea ebx, [eax - 0x57]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x70]
cmp bl, al
jae 0x4894db
mov edi, dword [esp + 0x1c]
cmp edi, ecx
setae cl
mov esi, dword [esp + 0x20]
cmp esi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
seta dl
and ecx, ebp
or ecx, edx
test cl, cl
jne 0x489489
mov ecx, eax
mov eax, edi
mul ecx
imul esi, ecx
add edx, esi
mov ebp, ecx
sar ecx, 0x1f
imul edi, ecx
lea ecx, [edx + edi]
movzx edx, bl
add edx, eax
mov ebx, ecx
adc ecx, 0
cmp ecx, ebx
xchg esi, ebx
setb bl
xchg esi, ebx
cmp eax, edx
xchg edi, ebx
seta bl
xchg edi, ebx
cmp ecx, ebx
sete bl
and ebx, edi
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
jne 0x489437
mov ebx, dword [esp + 0x24]
cmp edx, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, dword [esp + 0x30]
cmp ecx, edi
xchg edi, ebx
sete bl
xchg edi, ebx
seta bl
and edi, esi
or ebx, edi
test bl, bl
jne 0x489437
mov eax, ebp
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x70]
movzx ebx, byte [esp + 0x1a]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
jmp 0x4892d6
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call fcn.00488bd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call fcn.00488bd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call fcn.00488af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call fcn.00488af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
movzx eax, byte [esp + 0x1a]
test al, al
je 0x4895a5
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
call fcn.00489a60
movzx eax, byte [esp + 8]
test al, al
je 0x4895cf
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x64
ret
lea eax, [0x50b9ac]
mov dword [esp], eax
mov dword [esp + 4], 9
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], eax
call fcn.00488af0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
lea ecx, [0x51f92c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x64
ret
mov eax, 2
mov ecx, 1
call fcn.00468a60
mov eax, 2
mov ecx, 1
call fcn.00468a60
mov eax, 2
mov ecx, 1
call fcn.00468a60
nop
call fcn.00467570
jmp fcn.00488f30