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

Disassembly:
mov ecx, dword [0x66b1a5d0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x6699f5ce
sub esp, 0xe8
mov eax, dword [esp + 0xec]
test byte [eax], al
mov dword [esp], eax
call fcn.66982d80
mov eax, dword [esp + 4]
test eax, eax
jge 0x6699effc
mov eax, 0x186a0
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xec]
lea edx, [ecx + 0x68]
lea ebx, [ecx + 0x70]
mov dword [esp + 0xe4], ebx
lea ebp, [ecx + 0xa0]
mov dword [esp + 0xe0], ebp
lea esi, [ecx + 0xa8]
mov dword [esp + 0xdc], esi
lea edi, [ecx + 0xb0]
mov dword [esp + 0xd8], edi
lea eax, [ecx + 0x80]
mov dword [esp + 0xd4], eax
lea eax, [ecx + 0x90]
mov dword [esp + 0xd0], eax
lea eax, [ecx + 0x88]
mov dword [esp + 0xcc], eax
nop
mov dword [esp], edx
call fcn.66982f10
nop
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
call fcn.66982f10
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xe0]
mov dword [esp], edx
call fcn.66982d90
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp], edx
call fcn.66982d90
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call fcn.66982d90
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
nop
mov edx, dword [esp + 0xec]
mov dword [esp], edx
call fcn.669a05d0
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0xd4]
mov dword [esp], ebx
call fcn.66982f10
mov eax, dword [esp + 4]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
call fcn.66982f10
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x98], ecx
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x44], ebp
nop
mov esi, dword [esp + 0xcc]
mov dword [esp], esi
call fcn.66982f10
mov eax, dword [esp + 4]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
call fcn.66982f10
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
adc ebx, ebp
mov ebp, dword [esp + 0x20]
add edx, ebp
mov dword [esp + 0x54], edx
mov ebp, dword [esp + 0x34]
adc ebp, ebx
mov dword [esp + 0x58], ebp
mov ebx, dword [esp + 0x98]
mov esi, dword [esp + 0x1c]
add ebx, esi
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x48]
adc esi, edi
mov edi, dword [esp + 0x18]
add ebx, edi
mov dword [esp + 0x64], ebx
mov edi, dword [esp + 0x44]
adc esi, edi
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
add edi, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
adc edx, ebx
add edi, eax
mov dword [esp + 0x98], edi
adc edx, ecx
mov dword [esp + 0x68], edx
cmp esi, ebp
sete al
setl cl
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
cmp ebx, edi
setb dl
and eax, edx
or ecx, eax
test cl, cl
jne 0x6699f252
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
jmp 0x6699f3dc
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x5c]
mov ebx, dword [esp + 0x80]
cvtsi2sd xmm0, ebx
movsd xmm1, qword [0x66a7f470]
divsd xmm0, xmm1
movsd xmm1, qword [0x66a7f430]
addsd xmm1, xmm0
movsd qword [esp + 0xc4], xmm1
mov ebx, dword [esp + 0x74]
sub ebx, ecx
mov ecx, dword [esp + 0x7c]
sbb ecx, edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.669dc250
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xbc], xmm0
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.669dc250
movsd xmm0, qword [esp + 0xbc]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0xbc], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
call fcn.669dc250
movsd xmm0, qword [esp + 0xbc]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.669dc1b0
mov eax, dword [esp + 8]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 0x58]
mov dword [esp + 0x88], ebx
mov ebp, dword [edx + 0x5c]
mov dword [esp + 0x84], ebp
mov esi, dword [esp + 0x78]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x74]
mov dword [esp], esi
call fcn.669dc250
movsd xmm0, qword [esp + 0xc4]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.669dc1b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x88]
add edx, ebx
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x84]
adc ebx, ebp
cmp ecx, ebx
setl cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp edx, eax
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, ebp
or esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x6699f3c3
mov ebx, dword [esp + 0xc]
jmp 0x6699f3c5
mov eax, edx
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov ecx, eax
mov esi, dword [esp + 0x68]
mov eax, ebx
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x50]
cmp eax, edx
sete dl
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov edi, dword [esp + 0x30]
cmp ecx, edi
xchg edi, ebx
setb bl
xchg edi, ebx
and edx, edi
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6699f43a
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.669dc250
movsd xmm0, qword [0x66a7f438]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.669dc1b0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x54]
sub ebx, edx
mov edx, dword [esp + 0x58]
sbb esi, edx
test esi, esi
setl dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, 0x3e8
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edx, edi
test dl, dl
je 0x6699f46e
xor esi, esi
mov ebx, 0x3e8
mov edx, dword [esp + 0x30]
sub ecx, edx
mov edx, dword [esp + 0x50]
sbb eax, edx
test eax, eax
setl dl
xchg ebp, ebx
sete bl
xchg ebp, ebx
test ecx, ecx
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebp
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x6699f4a0
xor eax, eax
mov ecx, 1
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.669dc250
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xc4], xmm0
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call fcn.669dc250
movsd xmm0, qword [esp + 0xc4]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0xac], xmm0
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.669dc250
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0xc4], xmm0
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.669dc250
movsd xmm0, qword [esp + 0xc4]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0xb4], xmm0
movsd xmm1, qword [esp + 0xac]
movsd qword [esp + 0xa4], xmm1
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xec]
lea ebx, [edx + 0xf8]
add edx, 0x100
mov dword [esp + 0xe4], edx
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.66982f30
movsd xmm0, qword [esp + 0xb4]
movsd qword [esp + 0x9c], xmm0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
call fcn.66982f30
add esp, 0xe8
ret
call fcn.669e1e80
jmp fcn.6699efc0