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

Disassembly:
sub esp, 0x28
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
push ebx
push ebp
push esi
mov ebp, ecx
xor ecx, ecx
push edi
mov dword [esp + 0x1c], ebp
xor esi, esi
nop dword [eax]
cmp byte [edx + 0x48], 0
je 0x706a9d
cmp byte [edx + 0x68], 0
je 0x706ab5
test esi, esi
mov eax, edx
mov ecx, edx
cmovne eax, esi
mov esi, eax
mov eax, dword [esp + 0x44]
jmp 0x706aac
test esi, esi
je 0x706aaa
cmp byte [edx + 0xb8], 0
jne 0x706ac0
xor ecx, ecx
cmp edx, eax
je 0x706ac4
mov edx, dword [edx + 0x78]
jmp 0x706a80
test ecx, ecx
cmovne eax, ecx
mov dword [esp + 0x44], eax
jmp 0x706ac4
mov dword [esp + 0x44], ecx
mov ebx, esi
test esi, esi
jne 0x706ad6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc
movsd xmm4, qword [esi + 0xa0]
xorps xmm2, xmm2
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x74]
movsd xmm3, qword [esi + 0x40]
movsd qword [esp + 0x30], xmm4
movsd qword [esp + 0x20], xmm2
mov dword [esp + 0x18], edx
test eax, eax
je 0x706b2f
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
movsd xmm1, qword [ecx + 0xa8]
movsd xmm0, qword [ecx + 0xa0]
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jae 0x706b35
mov eax, dword [eax + 4]
test eax, eax
jne 0x706b00
xor eax, eax
mov dword [esp + 0x14], eax
movsd xmm0, qword [esi + 0x60]
mov edi, dword [esp + 0x3c]
comisd xmm0, xmm3
seta byte [esp + 0x40]
test edx, edx
je 0x706d48
movsd xmm0, qword [edx + 0xa8]
ucomisd xmm0, xmm4
lahf
test ah, 0x44
jp 0x706d48
movsd xmm0, qword [edx + 0xa0]
lea eax, [esp + 0x20]
sub esp, 0x10
subsd xmm0, xmm4
mov ecx, ebp
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm4
push eax
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.007107e0
test al, al
je 0x706d45
mov eax, dword [esp + 0x18]
movsd xmm1, qword [esp + 0x28]
comisd xmm1, xmmword [eax + 0xa0]
jbe 0x706d45
movsd xmm0, qword [esp + 0x30]
xorps xmm2, xmm2
comisd xmm0, xmm1
jbe 0x706d48
mov eax, dword [eax + 0x70]
test eax, eax
je 0x706d48
movsd xmm3, qword [esp + 0x20]
mov esi, dword [eax]
movsd xmm1, qword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jae 0x706c05
mov eax, dword [eax + 4]
test eax, eax
jne 0x706bd5
jmp 0x706d48
mov ecx, ebp
mov dword [esp + 0x14], esi
call fcn.00701510
movsd xmm2, qword [esp + 0x28]
lea ecx, [ebp + 4]
push ecx
push dword [esp + 0x1c]
mov ebx, eax
mov ecx, ebx
call fcn.00701fd0
push dword [ebp]
mov ecx, ebx
call fcn.00707d50
push dword [ebp]
mov ecx, dword [esp + 0x1c]
call fcn.00707d50
cmp byte [ebx + 0x48], 0
movsd xmm0, qword [0x7f1b10]
jne 0x706c50
movsd qword [ebx + 0x40], xmm0
mov byte [ebx + 0x48], 1
cmp byte [ebx + 0x68], 0
jne 0x706c5f
movsd qword [ebx + 0x60], xmm0
mov eax, dword [esp + 0x18]
mov byte [ebx + 0x68], 1
cmp byte [eax + 0x68], 0
jne 0x706c72
movsd qword [eax + 0x60], xmm0
movsd xmm1, qword [esp + 0x20]
mov byte [eax + 0x68], 1
comisd xmm1, xmmword [esi + 0xa0]
jbe 0x706d45
movsd xmm0, qword [esi + 0xa8]
comisd xmm0, xmm1
jbe 0x706d45
mov ecx, edi
call fcn.00701510
movsd xmm2, qword [esp + 0x20]
lea ecx, [edi + 4]
push ecx
push esi
mov ecx, eax
mov dword [esp + 0x20], eax
call fcn.00701fd0
push dword [edi]
mov ecx, dword [esp + 0x1c]
call fcn.00707d50
push dword [edi]
mov ecx, esi
call fcn.00707d50
cmp byte [esp + 0x40], 0
movsd xmm0, qword [0x7f1b10]
je 0x706d14
cmp byte [esi + 0x68], 0
jne 0x706ce7
movsd qword [esi + 0x60], xmm0
mov eax, dword [esp + 0x18]
mov byte [esi + 0x68], 1
cmp byte [eax + 0x48], 0
jne 0x706cfa
movsd qword [eax + 0x40], xmm0
mov byte [eax + 0x48], 1
cmp byte [eax + 0x68], 0
jne 0x706d09
movsd qword [eax + 0x60], xmm0
mov byte [eax + 0x68], 1
mov ecx, eax
xorps xmm2, xmm2
jmp 0x706d4c
cmp byte [esi + 0x48], 0
jne 0x706d1f
movsd qword [esi + 0x40], xmm0
mov byte [esi + 0x48], 1
cmp byte [esi + 0x68], 0
jne 0x706d2e
movsd qword [esi + 0x60], xmm0
mov eax, dword [esp + 0x18]
mov byte [esi + 0x68], 1
cmp byte [eax + 0x48], 0
jne 0x706d41
movsd qword [eax + 0x40], xmm0
mov byte [eax + 0x48], 1
xorps xmm2, xmm2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x70]
movsd xmm3, qword [edx + 0x60]
test eax, eax
je 0x706d8b
nop dword [eax]
mov esi, dword [eax]
movsd xmm1, qword [esi + 0xa8]
movsd xmm0, qword [esi + 0xa0]
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jae 0x706d8d
mov eax, dword [eax + 4]
test eax, eax
jne 0x706d60
xor esi, esi
cmp byte [esp + 0x40], 0
mov eax, ecx
cmovne eax, esi
cmovne esi, ecx
push esi
push edx
push ebx
mov ecx, ebp
mov dword [esp + 0x20], eax
call fcn.00710b60
push ebx
push dword [esp + 0x18]
mov ecx, edi
mov byte [esp + 0x1b], al
push esi
call fcn.00710b60
or byte [esp + 0x13], al
mov eax, dword [esp + 0x44]
cmp ebx, eax
je 0x706e07
mov edx, dword [ebx + 0x78]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x18], eax
test edx, edx
je 0x706dfd
mov edi, eax
cmp edx, edi
je 0x706df5
mov ecx, dword [edx + 0x78]
dec dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x78], eax
mov dword [ebp + 0x20], edx
mov byte [edx + 0xbc], 1
mov edx, ecx
test ecx, ecx
jne 0x706dd5
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x18]
test eax, eax
je 0x706e04
mov dword [eax + 0x74], ebx
mov dword [ebx + 0x78], eax
mov eax, dword [esp + 0x14]
cmp esi, eax
je 0x706e52
mov edx, dword [esi + 0x78]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x3c], eax
test edx, edx
je 0x706e48
mov ebp, eax
nop
cmp edx, ebp
je 0x706e40
mov ecx, dword [edx + 0x78]
dec dword [edi + 0x24]
mov eax, dword [edi + 0x20]
mov dword [edx + 0x78], eax
mov dword [edi + 0x20], edx
mov byte [edx + 0xbc], 1
mov edx, ecx
test ecx, ecx
jne 0x706e20
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x706e4f
mov dword [eax + 0x74], esi
mov dword [esi + 0x78], eax
mov ecx, dword [esp + 0x44]
movsd xmm0, qword [ecx + 0xa8]
mov ecx, ebx
movsd qword [ebx + 0xa8], xmm0
mov eax, dword [ebp]
push eax
mov word [ebx + 0xba], 0
call fcn.00707d50
movsd xmm0, qword [ebx + 0xa0]
lea ecx, [ebx + 0x30]
sub esp, 8
movsd qword [esp], xmm0
push dword [edi]
push ebx
push dword [ebp]
call fcn.00705cb0
movsd xmm0, qword [ebx + 0xa8]
lea eax, [ebx + 0x20]
sub esp, 8
lea ecx, [ebx + 0x50]
movsd qword [esp], xmm0
push dword [edi]
push eax
push dword [ebp]
call fcn.00705cb0
movsd xmm6, qword [ebx + 0x40]
xorps xmm1, xmm1
movsd xmm4, qword [0x7f1790]
subsd xmm1, xmm6
movsd xmm3, qword [ebx + 0x60]
movaps xmm0, xmm4
subsd xmm0, xmm6
xorps xmm2, xmm2
movaps xmm5, xmm6
mulsd xmm1, xmm0
comisd xmm2, xmm1
jb 0x706f3c
xorps xmm1, xmm1
movaps xmm0, xmm4
subsd xmm1, xmm3
subsd xmm0, xmm3
mulsd xmm1, xmm0
comisd xmm2, xmm1
jb 0x706f3c
cmp byte [esp + 0x40], 0
jne 0x706f0e
movaps xmm5, xmm3
movaps xmm3, xmm6
movsd qword [esi + 0xa0], xmm5
mov ecx, esi
movsd qword [esi + 0xa8], xmm3
mov eax, dword [edi]
push eax
mov word [esi + 0xba], 0
call fcn.00707d50
movsd xmm4, qword [0x7f1790]
xorps xmm2, xmm2
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0x44], ecx
test eax, eax
je 0x706f56
mov dword [eax + 0x78], ecx
test ecx, ecx
je 0x706f64
mov dword [ecx + 0x74], eax
jmp 0x706f64
mov dword [ebp + 0x18], ecx
test ecx, ecx
je 0x706f64
mov dword [ecx + 0x74], 0
subsd xmm4, qword [ebx + 0x40]
xorps xmm1, xmm1
subsd xmm1, qword [ebx + 0x40]
mulsd xmm1, xmm4
comisd xmm2, xmm1
setae al
dec dword [ebp + 0x24]
test al, al
jne 0x706f95
mov eax, dword [ebp + 0x20]
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x20], ebx
mov byte [ebx + 0xbc], 1
jmp 0x706f9e
mov eax, dword [ebp + 0x1c]
mov dword [ebx + 0x78], eax
mov dword [ebp + 0x1c], ebx
mov edx, dword [esi + 0x74]
mov eax, dword [esi + 0x78]
test edx, edx
je 0x706fb4
mov dword [edx + 0x78], eax
test eax, eax
je 0x706fc2
mov dword [eax + 0x74], edx
jmp 0x706fc2
mov dword [edi + 0x18], eax
test eax, eax
je 0x706fc2
mov dword [eax + 0x74], 0
dec dword [edi + 0x24]
cmp byte [esp + 0x13], 0
mov eax, dword [edi + 0x1c]
mov dword [esi + 0x78], eax
mov dword [edi + 0x1c], esi
je 0x706fe7
mov ecx, ebp
call fcn.00710b00
mov ecx, edi
call fcn.00710b00
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x706ff4
cmp byte [ecx + 0xbc], 0
je 0x706ff6
xor ecx, ecx
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x28
ret 0xc