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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6652f1
add esp, 0xffffff80
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x664bd9
mov edx, dword [esp + 0x84]
cmp byte [edx], 0x5b
jne 0x664be0
nop
lea ebx, [ecx - 1]
jmp 0x664df2
mov edx, dword [esp + 0x84]
lea ebx, [ecx - 1]
jmp 0x664be6
dec ebx
test ebx, ebx
jl 0x664bfd
cmp ecx, ebx
jbe 0x664dea
lea ebp, [ebx + edx]
cmp byte [ebp], 0x3a
jne 0x664be5
jmp 0x664c02
mov ebx, 0xffffffff
cmp ebx, 0xffffffff
je 0x664c65
cmp ecx, ebx
jb 0x664de3
mov eax, ecx
sub ecx, ebx
mov ebp, dword [esp + 0x8c]
mov esi, ebp
sub ebp, ebx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebx, ebp
add ebx, edx
test ecx, ecx
je 0x664d02
cmp byte [ebx], 0x3a
jne 0x664d09
lea ebp, [edi - 1]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, ebx
lea esi, [ecx - 1]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
jmp 0x664db7
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.006654d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test eax, eax
je 0x664cd3
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
sub esp, 0xffffff80
ret
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
sub esp, 0xffffff80
ret
mov ecx, eax
jmp 0x664c65
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00409120
mov eax, dword [esp + 0xc]
lea ecx, [0x72d140]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x771849]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a4ab0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
sub esp, 0xffffff80
ret
inc eax
mov edx, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x88]
mov eax, dword [esp + 0x50]
cmp eax, esi
jge 0x664dd0
movzx edx, byte [eax + ebp]
add edx, 0xffffffd0
cmp dl, 9
jbe 0x664da4
jmp 0x664d09
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
jmp 0x664d02
mov eax, ebx
call fcn.00456ba0
mov eax, ebx
call fcn.00456b40
dec ebx
test ebx, ebx
jl 0x664e09
cmp ecx, ebx
jbe 0x6652e9
lea ebp, [ebx + edx]
cmp byte [ebp], 0x5d
jne 0x664df1
jmp 0x664e0e
mov ebx, 0xffffffff
test ebx, ebx
jl 0x664e7f
lea eax, [ebx + 1]
cmp ecx, eax
jb 0x6652e4
mov ebp, dword [esp + 0x8c]
mov esi, ebp
sub ebp, ebx
mov dword [esp + 0x50], ebp
sub ecx, ebx
mov dword [esp + 0x4c], ecx
lea edi, [ebp - 1]
mov dword [esp + 0x44], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add eax, edx
cmp ecx, 1
je 0x664ed9
cmp byte [eax], 0x3a
jne 0x66520f
lea edi, [ebp - 2]
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
add edi, eax
lea ebp, [ecx - 2]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x54]
jmp 0x6652c1
lea eax, [0x73cfa0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x76e0cb]
mov dword [eax], ecx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
lea ecx, [0x7caa44]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
sub esp, 0xffffff80
ret
mov dword [esp + 0x28], ebx
mov word [esp + 0x25], 0x3225
mov byte [esp + 0x27], 0x35
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
lea eax, [esp + 0x25]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
call fcn.0046f760
mov ecx, dword [esp + 0x18]
test ecx, ecx
jl 0x6651f2
mov edx, dword [esp + 0x8c]
cmp edx, ecx
jb 0x66520a
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.006654d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x6651bf
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
cmp ecx, eax
jb 0x665205
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ebx
mov edx, dword [esp + 0x8c]
sub edx, eax
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov ebp, dword [esp + 0x84]
add edx, ebp
mov dword [esp], edx
sub ecx, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
call fcn.006654d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x66518c
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x50]
mov ecx, eax
neg eax
sar eax, 0x1f
mov edx, dword [esp + 0x28]
and edx, eax
mov eax, dword [esp + 0x84]
add eax, edx
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
call fcn.006654d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
test eax, eax
jne 0x665159
mov eax, dword [esp + 0x30]
lea ecx, [eax + ebx]
mov edx, dword [esp + 0x34]
cmp edx, ecx
jb 0x665053
mov edx, dword [esp + 0x68]
jmp 0x665093
mov dword [esp + 0x64], ebp
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x64]
mov edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x74], edx
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00457450
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x6650c6
mov ebp, dword [esp + 0x6c]
jmp 0x6650fc
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], edx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x70]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
sub esp, 0xffffff80
ret
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
sub esp, 0xffffff80
ret
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
sub esp, 0xffffff80
ret
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
sub esp, 0xffffff80
ret
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
jmp 0x664c65
call fcn.00456ba0
call fcn.00456b80
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp], eax
lea eax, [ecx - 1]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.00409120
mov eax, dword [esp + 0xc]
lea ecx, [0x72d140]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
lea eax, [0x771849]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a4ab0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
sub esp, 0xffffff80
ret
inc ecx
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
cmp ecx, ebp
jge 0x664ed9
movzx esi, byte [ecx + edi]
add esi, 0xffffffd0
xchg esi, eax
cmp al, 9
xchg esi, eax
jbe 0x6652b1
mov ecx, dword [esp + 0x4c]
jmp 0x66520f
call fcn.00456ba0
mov eax, ebx
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00664ba0