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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x66a10b
sub esp, 0x88
lea eax, [0x6e3ce0]
mov dword [esp], eax
call fcn.0040b7f0
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
xor ebx, ebx
xor ebp, ebp
jmp 0x6699e1
lea ebx, [ecx + eax]
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x8c]
mov eax, edi
mov ebp, edx
mov edx, esi
cmp ecx, ebx
jle 0x669f5b
jb 0x66a103
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x28], ebp
sub ecx, ebx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0048d3b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x98]
cmp edx, eax
jle 0x669d36
jbe 0x66a0fc
mov ebx, dword [esp + 0x94]
lea ebp, [ebx + eax*8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
test esi, esi
jne 0x669a56
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x28]
jmp 0x6699ca
mov dword [esp + 0x34], esi
mov dword [esp + 0x64], ebp
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x669b61
nop
nop
mov edi, dword [esp + 0x68]
mov ebx, dword [edi]
test ebx, ebx
je 0x669a7f
cmp ebx, edi
je 0x669a98
jmp 0x66a0e4
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x669a8d
mov dword [edi], edi
jmp 0x669a98
mov ebx, eax
mov eax, edi
call fcn.00463350
mov eax, ebx
mov ebx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x58], edx
sub edx, ebx
mov ebp, dword [esp + 0x90]
cmp ebp, edx
jle 0x669b4f
mov dword [esp + 0x44], ebx
lea eax, [0x6cd7a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x58]
lea ecx, [ebp + ecx*2]
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], ecx
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x68]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov ebx, dword [esp + 0x44]
cmp edx, ebx
jl 0x669af1
mov edx, ebx
cmp ecx, eax
je 0x669b15
mov dword [esp + 0x74], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00463d10
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x68]
mov dword [edi + 8], ebx
mov edx, dword [esp + 0x4c]
mov dword [edi + 0xc], edx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x669b2e
mov dword [edi + 4], eax
jmp 0x669b3c
lea edx, [edi + 4]
mov ecx, edi
mov edi, edx
call fcn.00463350
mov edi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x64]
mov edi, ebx
mov ebx, dword [esp + 0x3c]
cmp eax, ebx
ja 0x66a0dd
sub ebx, eax
mov dword [esp + 0x30], ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
mov ebx, dword [esp + 0x8c]
lea edx, [ebx + eax]
nop
mov eax, dword [esp + 0x68]
mov ebx, dword [eax]
test ebx, ebx
je 0x669b9a
cmp ebx, eax
je 0x669bb3
jmp 0x66a0c5
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x669ba8
mov dword [eax], eax
jmp 0x669bb3
mov ebx, edi
mov edi, eax
call fcn.00463350
mov edi, ebx
mov ebx, dword [eax + 8]
mov edi, dword [esp + 0x30]
lea ecx, [ebx + edi]
mov dword [esp + 0x58], ecx
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 4]
cmp ebp, ecx
jae 0x669c05
mov dword [esp + 0x60], edx
mov dword [esp + 0x54], ebx
lea eax, [0x6cd7a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.0044baf0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x70], esi
lea eax, [esi + ebx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
call fcn.00463d10
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x68]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0xc], eax
mov eax, dword [0x9b1930]
lea ecx, [edi + 4]
test eax, eax
jne 0x669c48
mov edx, dword [esp + 0x70]
mov dword [edi + 4], edx
jmp 0x669c57
mov eax, dword [esp + 0x70]
mov edx, edi
mov edi, ecx
call fcn.00463350
mov edi, edx
nop
nop
mov edx, dword [edi]
test edx, edx
je 0x669c68
cmp edx, edi
je 0x669c7d
jmp 0x66a0ad
mov edx, dword [0x9b1930]
test edx, edx
jne 0x669c76
mov dword [edi], edi
jmp 0x669c7d
mov eax, edi
call fcn.00463350
mov dword [esp + 0x6c], ecx
mov eax, dword [edi + 8]
mov edx, dword [esp + 0x34]
lea ebx, [edx + eax]
mov dword [esp + 0x58], ebx
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 4]
cmp ebp, ebx
jae 0x669ccb
mov dword [esp + 0x54], eax
lea ecx, [0x6cd7a0]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0044baf0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x70], esi
add eax, esi
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00463d10
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x68]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax]
mov ebx, dword [0x9b1930]
test ebx, ebx
jne 0x669d1c
mov ebx, dword [esp + 0x70]
mov dword [edi + 4], ebx
jmp 0x6699ca
mov ebx, edi
mov edi, dword [esp + 0x6c]
mov ebp, eax
mov eax, dword [esp + 0x70]
call fcn.00463350
mov eax, ebp
mov edi, ebx
jmp 0x6699ca
movzx ebx, byte [esp + 0xa0]
test bl, bl
je 0x669d4b
mov ebp, dword [esp + 0x28]
jmp 0x669f4c
lea ebp, [eax - 0xfdd0]
cmp ebp, 0x1f
jbe 0x669d6a
lea ebp, [eax - 0xfff0]
cmp ebp, 0xf
jbe 0x669d6a
mov ebp, dword [esp + 0x28]
jmp 0x669f4c
mov dword [esp + 0x38], eax
mov ebp, dword [esp + 0x28]
test ebp, ebp
jne 0x669e5e
nop
nop
mov edi, dword [esp + 0x68]
mov esi, dword [edi]
test esi, esi
je 0x669d8f
cmp esi, edi
je 0x669da8
jmp 0x66a095
mov esi, dword [0x9b1930]
test esi, esi
jne 0x669d9d
mov dword [edi], edi
jmp 0x669da8
mov esi, eax
mov eax, edi
call fcn.00463350
mov eax, esi
mov esi, dword [edi + 8]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x58], ebx
sub ebx, esi
mov edx, dword [esp + 0x90]
cmp edx, ebx
jle 0x669e69
mov dword [esp + 0x40], esi
lea eax, [0x6cd7a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x58]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x48], ecx
mov dword [esp + 8], ecx
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov ebp, dword [esp + 0x40]
cmp ebx, ebp
jl 0x669e00
mov ebx, ebp
cmp edx, eax
je 0x669e24
mov dword [esp + 0x74], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00463d10
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x68]
mov ebp, dword [esp + 0x40]
mov dword [ecx + 8], ebp
mov edx, dword [esp + 0x48]
mov dword [ecx + 0xc], edx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x669e3d
mov dword [ecx + 4], eax
jmp 0x669e45
lea edi, [ecx + 4]
call fcn.00463350
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x90]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x68]
jmp 0x669e69
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
cmp ebp, ebx
ja 0x66a08c
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
sub ebx, ebp
mov ecx, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov edx, dword [esp + 0x8c]
lea ebx, [edx + ebp]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004091d0
mov eax, dword [esp + 8]
lea ecx, [0x6cd520]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004090c0
mov eax, dword [esp + 4]
lea ecx, [0x6ccce0]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x79d858]
mov dword [esp], eax
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
lea ebx, [0x71861f]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 8
lea ebp, [esp + 0x78]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 2
call fcn.004d0210
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x2c]
lea ebp, [ecx + eax]
mov edx, dword [esp + 0x98]
movzx ebx, byte [esp + 0xa0]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x68]
mov edx, ebp
jmp 0x6699ca
test ebp, ebp
je 0x66a058
cmp ecx, ebp
jb 0x66a085
sub ecx, ebp
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ebp, ecx
lea ecx, [ebp + edx]
nop
mov edx, dword [eax]
test edx, edx
je 0x669f8a
cmp edx, eax
je 0x669f9f
jmp 0x66a06d
mov edx, dword [0x9b1930]
test edx, edx
jne 0x669f98
mov dword [eax], eax
jmp 0x669f9f
mov edi, eax
call fcn.00463350
mov edx, dword [eax + 8]
lea ebp, [ebx + edx]
mov dword [esp + 0x58], ebp
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 4]
cmp esi, ebp
jae 0x669ff1
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x5c], ecx
lea eax, [0x6cd7a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.0044baf0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], esi
mov dword [esp + 0x70], edi
lea eax, [edi + edx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00463d10
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x54]
mov dword [ecx + 0xc], edx
mov edx, dword [0x9b1930]
test edx, edx
jne 0x66a031
mov edx, dword [esp + 0x70]
mov dword [ecx + 4], edx
jmp 0x66a043
lea edi, [ecx + 4]
mov ecx, eax
mov eax, dword [esp + 0x70]
call fcn.00463350
mov edx, eax
mov eax, ecx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], eax
add esp, 0x88
ret
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], ecx
add esp, 0x88
ret
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79cbfc]
mov dword [esp + 4], eax
call fcn.00437060
mov eax, ebp
call fcn.00463430
mov eax, ebp
mov ecx, ebx
call fcn.00463430
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79cbfc]
mov dword [esp + 4], eax
call fcn.00437060
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79cbfc]
mov dword [esp + 4], eax
call fcn.00437060
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79cbfc]
mov dword [esp + 4], eax
call fcn.00437060
mov ecx, ebx
call fcn.00463430
lea eax, [0x6cd520]
mov dword [esp], eax
lea eax, [0x79cbfc]
mov dword [esp + 4], eax
call fcn.00437060
mov ecx, edx
call fcn.004633d0
mov eax, ebx
call fcn.00463430
nop
call fcn.00461f40
jmp fcn.00669980