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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x66b954
sub esp, 0x84
mov eax, dword [esp + 0x88]
cmp byte [eax + 0x49], 0xff
je 0x66b1bf
lea eax, [0x8cf300]
mov dword [esp], eax
call fcn.0046bc70
mov eax, dword [esp + 8]
lea ecx, [0x68c680]
cmp dword [esp + 4], ecx
je 0x66b151
lea eax, [0x6aa100]
mov dword [esp], eax
call fcn.0040bd30
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xac]
cmp ecx, edx
jg 0x66b16e
ja 0x66b94e
mov dword [eax + 0x28], ecx
jmp 0x66b1b8
lea eax, [0x698320]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044b070
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xac]
mov edi, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x66b1a8
mov dword [edi + 0x24], eax
jmp 0x66b1b6
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.004642e0
mov edi, ecx
mov eax, edi
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x66b1f0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x84
ret
mov dword [ebp + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x66b203
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jb 0x66b1e7
jmp 0x66b945
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x66b25b
nop
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x66b22f
mov ecx, dword [esp + 0x90]
mov dword [eax + 0x18], ecx
jmp 0x66b242
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.004642e0
mov eax, ecx
mov byte [eax + 0x1c], 0
mov dword [eax + 0x20], 0
lea ecx, [eax + 0x14]
lea edx, [0x73d538]
jmp 0x66b2db
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x66b29e
nop
mov edx, dword [esp + 0x98]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x9c]
mov dword [eax + 8], edx
mov edx, dword [0x8f52e0]
test edx, edx
jne 0x66b289
mov dword [eax], ecx
jmp 0x66b294
mov edi, eax
mov eax, ecx
call fcn.004642e0
mov eax, edi
lea edx, [0x73d514]
mov ecx, eax
jmp 0x66b2db
nop
mov ecx, dword [esp + 0xa4]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x8f52e0]
test ecx, ecx
jne 0x66b2bf
mov ecx, dword [esp + 0xa0]
mov dword [eax + 0xc], ecx
jmp 0x66b2d2
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.004642e0
mov eax, ecx
lea ecx, [eax + 0xc]
lea edx, [0x73d55c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], edx
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
cmp eax, 0xffffffff
jne 0x66b314
mov edx, 0xffffffff
xor ebx, ebx
jmp 0x66b347
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa8]
lea esi, [ebp + ecx]
mov dword [esp + 4], esi
call edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0xa8]
test ebp, ebp
jne 0x66b363
mov esi, eax
mov edi, 0xffffffff
jmp 0x66b398
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], ebp
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x34]
mov edi, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x40], edi
mov edx, dword [esp + 0x88]
mov ebx, dword [edx + 0xc]
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edi, esi
jbe 0x66b93c
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
lea edi, [esi + esi*8]
test ebp, ebp
je 0x66b3c9
xor ebx, ebx
jmp 0x66b402
mov ecx, dword [ebx + edi*4 + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.0066a070
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x3c]
test bl, bl
je 0x66b444
mov ebx, dword [edx + 0x28]
test ebx, ebx
jne 0x66b411
xor ebx, ebx
jmp 0x66b446
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0x38]
mov ebx, eax
mov eax, dword [esp + 0x3c]
jmp 0x66b446
xor ebx, ebx
test bl, bl
jne 0x66b457
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
jmp 0x66b518
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], edx
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x66b53d
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0xa8]
add ecx, esi
mov dword [esp + 0x58], ecx
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0x58]
lea edi, [esi + eax]
mov dword [esp + 4], edi
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 4], esi
call ebx
mov eax, dword [esp + 0x88]
mov esi, dword [eax + 0x3c]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
jmp 0x66b674
xor eax, eax
test al, al
je 0x66b61d
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xb4]
lea ebx, [edx + ecx]
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xb8]
cmp esi, ebx
jb 0x66b56f
mov edi, dword [esp + 0xb0]
jmp 0x66b5c1
mov dword [esp + 0x80], ebp
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x698320]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0x80]
mov edi, eax
mov esi, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x80], edi
lea eax, [edi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.00464c70
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.0066b010
mov eax, dword [esp + 0x80]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc4], eax
add esp, 0x84
ret
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.0066b010
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x84
ret
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
mov ecx, edi
mov eax, dword [esp + 0x5c]
mov edi, ebx
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x34], ebx
mov edx, dword [edx + 0xc]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp esi, edx
jae 0x66b933
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ecx
lea edx, [esi + esi*8]
lea esi, [ebx + edx*4]
mov dword [esp + 0x7c], esi
mov esi, dword [ebx + edx*4 + 4]
mov dword [esp + 0x50], esi
lea esi, [ebx + edx*4]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 5
xchg esi, eax
ja 0x66b79b
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edi
xchg esi, eax
cmp al, 2
xchg esi, eax
ja 0x66b746
xchg esi, eax
cmp al, 1
xchg esi, eax
jbe 0x66b709
mov edx, dword [ebx + edx*4 + 8]
mov ebx, dword [esp + 0x78]
mov esi, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x24]
cmp edx, esi
jge 0x66b6e8
jae 0x66b92a
mov dword [ebx + edx*4], ebp
mov esi, dword [esp + 0x50]
mov ebx, edi
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x66b651
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.0066bf70
mov esi, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x66b651
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x66b8a9
mov ecx, dword [ebx + edx*4 + 8]
mov dword [esp + 4], edi
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.0066a070
movzx eax, byte [esp + 0xc]
test al, al
je 0x66b8a2
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x66b651
xchg esi, eax
cmp al, 7
xchg esi, eax
ja 0x66b7f6
xchg esi, eax
cmp al, 6
xchg esi, eax
jne 0x66b7ca
mov esi, dword [esp + 0x50]
mov ebx, edi
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x28]
jmp 0x66b651
lea eax, [ebx + edx*4]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00664600
cmp dword [esp + 8], 0xffffffff
je 0x66b8e3
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x58]
jmp 0x66b841
xchg esi, eax
cmp al, 8
xchg esi, eax
jne 0x66b81a
mov esi, dword [ebx + edx*4 + 0x10]
mov edx, dword [ebx + edx*4 + 0xc]
test esi, esi
jbe 0x66b917
mov ebx, dword [esp + 0x30]
cmp dword [edx], ebx
je 0x66b841
jmp 0x66b8ea
xchg esi, eax
cmp al, 9
xchg esi, eax
jne 0x66b827
mov ebx, dword [esp + 0x30]
jmp 0x66b841
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jne 0x66b8ff
mov edx, dword [esp + 0x30]
cmp edx, 0xa
je 0x66b8f8
mov ebx, edx
test ecx, ecx
je 0x66b8f1
lea edx, [ebp + ecx]
mov ebp, dword [esp + 0x34]
cmp ebp, 0xffffffff
jne 0x66b85e
mov eax, ebp
mov ecx, dword [esp + 0x28]
jmp 0x66b895
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov ebp, dword [esp + 0x28]
lea esi, [edx + ebp]
mov dword [esp + 4], esi
call ecx
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov ebp, ebx
mov ecx, eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x28]
jmp 0x66b651
xor eax, eax
jmp 0x66b53f
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x66b8dc
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 0x28]
mov esi, dword [edx + 0x24]
test ebx, ebx
je 0x66b8d2
mov dword [esi], 0
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x24]
cmp ecx, 1
jbe 0x66b920
mov dword [ebx + 4], ebp
mov eax, 1
jmp 0x66b53f
xor eax, eax
jmp 0x66b53f
xor eax, eax
jmp 0x66b53f
xor eax, eax
jmp 0x66b53f
xor eax, eax
jmp 0x66b53f
xor eax, eax
jmp 0x66b53f
lea eax, [0x698ba0]
mov dword [esp], eax
lea eax, [0x73b9a0]
mov dword [esp + 4], eax
call fcn.00436320
xor eax, eax
mov ecx, eax
call fcn.00464360
mov eax, 1
call fcn.00464360
mov eax, edx
mov ecx, esi
call fcn.00464370
mov eax, esi
mov ecx, edx
call fcn.00464360
mov eax, esi
mov ecx, edi
call fcn.00464360
mov eax, ecx
mov ecx, ebx
call fcn.00464360
call fcn.004643a0
nop
call fcn.00462ed0
jmp fcn.0066b0f0