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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x134
mov edi, ecx
pxor xmm0, xmm0
movsd qword [esp + 0xe8], xmm0
movsd qword [esp + 0xf0], xmm0
push 0x40
call fcn.101bcde0
pop ecx
mov edx, dword [ebp + 0x38]
movsd xmm1, qword [edx + 0x10]
mov dword [esp + 0x108], eax
pxor xmm0, xmm0
comisd xmm0, xmm1
jbe 0x10077581
mov eax, dword [ebp + 0x38]
pxor xmm2, xmm2
movaps xmm0, xmm2
subsd xmm2, qword [eax + 0x18]
movsd qword [eax + 0x18], xmm2
subsd xmm0, xmm1
movsd qword [eax + 0x10], xmm0
mov eax, dword [0x102836cc]
lea edx, [eax + eax*4]
shl edx, 2
push edx
call fcn.101bcde0
pop ecx
mov dword [esp + 0x10c], eax
mov edx, dword [ebp + 0x38]
lea esi, [esp + 0xb8]
movsd xmm0, qword [edx]
mov eax, esp
movsd qword [eax], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [eax + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edx + 0x10]
movsd qword [ecx], xmm2
movsd xmm3, qword [edx + 0x18]
movsd qword [ecx + 8], xmm3
xor ebx, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], esi
call fcn.1007ca10
mov ecx, dword [ebp + 0x60]
mov ebx, dword [0x10283548]
mov dword [esp + 0x130], ecx
movsd xmm0, qword [ebx]
mov esi, esp
movsd qword [esi], xmm0
movsd xmm1, qword [ebx + 8]
movsd qword [esi + 8], xmm1
lea edx, [esp + 0x10]
mov eax, dword [0x1028354c]
movsd xmm2, qword [eax]
movsd qword [edx], xmm2
movsd xmm3, qword [eax + 8]
movsd qword [edx + 8], xmm3
lea edx, [esp + 0x20]
mov ebx, dword [ebp + 0x10]
mov dword [edx], ebx
mov esi, dword [ebp + 0x14]
mov dword [edx + 4], esi
mov eax, dword [ebp + 0x18]
mov dword [edx + 8], eax
lea eax, [esp + 0x30]
mov ebx, dword [ebp + 0x1c]
mov dword [edx + 0xc], ebx
mov edx, dword [esp + 0xb8]
mov dword [eax], edx
mov esi, dword [esp + 0xbc]
mov dword [eax + 4], esi
mov edx, dword [esp + 0xc0]
lea esi, [esp + 0x98]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0xc4]
mov dword [eax + 0xc], ebx
lea eax, [esp + 0x88]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ecx
call fcn.1007cf70
mov ebx, dword [ebp + 0x54]
mov esi, dword [ebp + 0x34]
movsd xmm3, qword [ebp + 0x2c]
movsd xmm2, qword [ebp + 0x24]
movsd qword [esp + 0xb0], xmm3
movsd qword [esp + 0xa8], xmm2
mov dword [ebx], 0
mov edx, esp
mov eax, dword [0x10283548]
mov ecx, dword [0x1028354c]
movsd xmm0, qword [ecx]
subsd xmm0, qword [eax]
movsd xmm1, qword [ecx + 8]
subsd xmm1, qword [eax + 8]
movsd qword [esp + 0xf8], xmm0
movsd qword [esp + 0x100], xmm1
mov ecx, dword [esp + 0x88]
mov dword [edx], ecx
mov eax, dword [esp + 0x8c]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x90]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x94]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x10]
mov dword [eax], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x94]
mov dword [eax + 0xc], edx
movsd qword [esp + 0x20], xmm2
movsd qword [esp + 0x28], xmm3
mov dword [esp + 0x30], esi
lea eax, [esp + 0xc8]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x38], eax
lea edx, [esp + 0x108]
mov dword [esp + 0x3c], edx
call fcn.1007c6c0
mov eax, dword [ebp + 0x64]
mov ecx, dword [0x10283548]
mov dword [esp + 0x12c], eax
movsd xmm0, qword [ecx]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + 8]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x10]
mov ecx, dword [0x1028354c]
movsd xmm2, qword [ecx]
movsd qword [edx], xmm2
movsd xmm3, qword [ecx + 8]
movsd qword [edx + 8], xmm3
lea edx, [esp + 0x30]
movsd xmm4, qword [esp + 0xf8]
movsd xmm5, qword [esp + 0x100]
movsd qword [esp + 0x20], xmm4
movsd qword [esp + 0x28], xmm5
mov ecx, dword [ebp + 0x10]
mov dword [edx], ecx
mov ecx, dword [ebp + 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0x18]
mov dword [edx + 8], ecx
pxor xmm6, xmm6
mov ecx, dword [ebp + 0x1c]
mov dword [edx + 0xc], ecx
movsd qword [esp + 0x40], xmm6
lea ecx, [esp + 0x48]
mov edx, dword [esp + 0xb8]
mov dword [ecx], edx
mov edx, dword [esp + 0xbc]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0xc0]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0xc4]
mov dword [ecx + 0xc], edx
lea ecx, [esp + 0xc8]
lea edx, [esp + 0x5c]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0xd8]
mov dword [edx], ecx
mov ecx, dword [esp + 0xdc]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0xe0]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xe4]
mov dword [edx + 0xc], ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x7c], eax
lea edx, [esp + 0xf0]
mov dword [esp + 0x80], edx
lea ecx, [esp + 0x114]
mov dword [esp + 0x84], ecx
call fcn.1007cc30
mov ecx, dword [esp + 0x88]
mov edx, esp
mov dword [edx], ecx
mov eax, dword [esp + 0x8c]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x90]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x94]
mov dword [edx + 0xc], eax
lea eax, [esp + 0x10]
mov edx, dword [esp + 0x88]
mov dword [eax], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x90]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x94]
mov dword [eax + 0xc], edx
movsd xmm0, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb0]
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x28], xmm1
mov dword [esp + 0x30], esi
lea eax, [esp + 0xc8]
mov dword [esp + 0x34], eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x38], eax
lea edx, [esp + 0x108]
mov dword [esp + 0x3c], edx
call fcn.1007c6c0
mov eax, dword [ebx]
test edi, edi
jle 0x10077d17
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x110], 1
xor edx, edx
pxor xmm0, xmm0
movsd qword [esp + 0xb0], xmm0
mov dword [esp + 0xac], edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x124], edx
mov dword [esp + 0x11c], edx
mov edx, ecx
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x110]
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0xac]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 0x118]
jmp 0x100779c4
mov dword [esp + 0x128], ebx
mov ebx, dword [esp + 0x118]
mov eax, dword [ebx]
cmp esi, edi
cmovge edi, esi
cmp edx, 1
je 0x10077a1d
cmp edx, 2
jne 0x10077a0a
mov dword [esp + 0x114], 0
xor edx, edx
xor esi, esi
cmp eax, ecx
jge 0x10077d10
mov dword [esp + 0xac], edi
mov dword [esp + 0x110], esi
mov esi, dword [esp + 0x11c]
mov dword [esp + 0x118], ebx
xor edi, edi
jmp 0x10077a67
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x124]
jmp 0x10077cb7
mov dword [esp + 0x118], ebx
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x114], 0
xor edx, edx
cmp eax, ecx
jge 0x10077e9f
cmp ebx, 1
je 0x10077e9f
mov dword [esp + 0x128], ebx
mov dword [esp + 0xac], edi
mov dword [esp + 0x110], esi
mov esi, dword [esp + 0x11c]
xor edi, edi
inc esi
cmp esi, ecx
jge 0x10077e74
mov ebx, edi
test esi, esi
jne 0x10077a90
mov edi, dword [esp + 0xac]
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0x110]
jmp 0x1007799d
mov edi, dword [esp + 0xac]
mov dword [esp + 0x11c], esi
mov esi, dword [esp + 0x110]
cvtsi2sd xmm2, dword [esp + 0x11c]
cvtsi2sd xmm0, ebx
mov eax, dword [ebp + 0x38]
movsd xmm3, qword [eax + 0x10]
mulsd xmm3, xmm2
movsd xmm1, qword [eax]
mulsd xmm1, xmm0
movsd xmm5, qword [eax + 0x18]
addsd xmm3, xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0xb8], xmm3
mulsd xmm0, xmm1
comisd xmm1, xmm5
jbe 0x10077af4
movaps xmm3, xmm5
mulsd xmm3, xmm2
addsd xmm3, xmm0
jmp 0x10077b16
movaps xmm3, xmm5
divsd xmm3, xmm1
cvttsd2si eax, xmm3
cvtsi2sd xmm4, eax
movaps xmm3, xmm5
mulsd xmm4, xmm1
subsd xmm3, xmm4
mulsd xmm3, xmm2
addsd xmm3, xmm0
pxor xmm0, xmm0
comisd xmm5, xmm0
jbe 0x10077b5f
cmp dword [esp + 0x11c], 0
jle 0x10077b5f
test ebx, ebx
jne 0x10077b4b
mulsd xmm5, xmm2
divsd xmm5, xmm1
cvttsd2si eax, xmm5
cvtsi2sd xmm0, eax
mulsd xmm0, xmm1
movsd qword [esp + 0xb0], xmm0
subsd xmm3, qword [esp + 0xb0]
movsd qword [esp + 0xc0], xmm3
jmp 0x10077b68
movsd qword [esp + 0xc0], xmm3
mov eax, dword [0x10283548]
movsd xmm0, qword [eax]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [edx + 8], xmm1
lea eax, [esp + 0x10]
mov ecx, dword [0x1028354c]
movsd xmm2, qword [ecx]
movsd qword [eax], xmm2
movsd xmm3, qword [ecx + 8]
movsd qword [eax + 8], xmm3
lea ecx, [esp + 0x30]
movsd xmm4, qword [esp + 0xf8]
movsd xmm5, qword [esp + 0x100]
movsd qword [esp + 0x20], xmm4
movsd qword [esp + 0x28], xmm5
mov edx, dword [ebp + 0x10]
mov dword [ecx], edx
mov eax, dword [ebp + 0x14]
mov dword [ecx + 4], eax
mov edx, dword [ebp + 0x18]
mov dword [ecx + 8], edx
mov eax, dword [ebp + 0x1c]
mov dword [ecx + 0xc], eax
lea edx, [esp + 0x48]
pxor xmm6, xmm6
movsd qword [esp + 0x40], xmm6
mov ecx, dword [esp + 0xb8]
mov dword [edx], ecx
mov eax, dword [esp + 0xbc]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xc0]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xc4]
mov dword [edx + 0xc], eax
lea eax, [esp + 0x5c]
lea edx, [esp + 0xc8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xd8]
mov dword [eax], edx
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xe0]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0xe4]
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x12c]
lea eax, [eax + edi - 1]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea edx, [esp + 0xe8]
mov dword [esp + 0x7c], edx
lea ecx, [esp + 0xf0]
mov dword [esp + 0x80], ecx
lea eax, [esp + 0x114]
mov dword [esp + 0x84], eax
call fcn.1007cc30
mov edx, dword [esp + 0x114]
test edx, edx
jne 0x10077ced
mov eax, dword [esp + 0x118]
mov eax, dword [eax]
inc esi
cmp esi, edi
cmovge edi, esi
cmp eax, dword [esp + 0x120]
jge 0x10077e74
inc ebx
cmp ebx, dword [esp + 0x120]
jge 0x10077e51
cmp dword [esp + 0x11c], 0
jne 0x10077aa5
test ebx, ebx
jne 0x10077aa5
jmp 0x1007799d
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x124], ebx
mov ebx, dword [esp + 0x128]
cmp edx, 1
je 0x10077e87
jmp 0x100779b4
mov esi, dword [esp + 0xa8]
cvtsi2sd xmm1, eax
mov ecx, dword [ebp + 0x5c]
test ecx, ecx
mov edx, dword [ebp + 0x58]
movsd xmm2, qword [ebp + 0x3c]
mulsd xmm1, xmm2
movsd xmm3, qword [esp + 0xe8]
movsd xmm4, qword [esp + 0xf0]
movaps xmm0, xmm4
mulsd xmm0, xmm3
divsd xmm1, xmm0
movsd qword [edx], xmm1
je 0x10077d78
mov eax, dword [ebp + 0x38]
movsd xmm1, qword [eax]
mulsd xmm1, qword [eax + 0x18]
movsd xmm0, qword [eax + 8]
mulsd xmm0, qword [eax + 0x10]
subsd xmm1, xmm0
andps xmm1, xmmword [0x101e4980]
divsd xmm2, xmm1
movsd qword [ecx], xmm2
mov ecx, dword [ebp + 0x68]
mov edi, dword [esp + 0xc8]
mov edx, esp
mov dword [edx], edi
mov eax, dword [esp + 0xcc]
mov dword [edx + 4], eax
mov edi, dword [esp + 0xd0]
mov dword [edx + 8], edi
mov eax, dword [esp + 0xd4]
mov dword [edx + 0xc], eax
lea eax, [esp + 0x10]
mov edx, dword [esp + 0x88]
mov dword [eax], edx
mov edx, dword [esp + 0x8c]
mov dword [eax + 4], edx
mov edi, dword [esp + 0x90]
mov dword [eax + 8], edi
mov edx, dword [esp + 0x94]
mov dword [eax + 0xc], edx
movsd qword [esp + 0x20], xmm3
movsd qword [esp + 0x28], xmm4
mov dword [esp + 0x30], esi
xor esi, esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
call fcn.1007c6c0
cmp dword [ebx], 0
jle 0x10077e2d
cmp dword [esp + 0x10c], 0
je 0x10077e0e
push dword [esp + 0x10c]
call fcn.101bceaa
pop ecx
mov eax, dword [esp + 0x108]
test eax, eax
je 0x10077e20
push eax
call fcn.101bceaa
pop ecx
add esp, 0x134
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x10c], 0
je 0x10077e44
push dword [esp + 0x10c]
call fcn.101bceaa
pop ecx
add esp, 0x134
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x120]
mov dword [esp + 0xac], edi
mov dword [esp + 0x110], esi
xor edi, edi
mov esi, dword [esp + 0x11c]
jmp 0x10077a67
mov esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x118]
jmp 0x10077d17
mov eax, dword [esp + 0x118]
mov eax, dword [eax]
cmp esi, edi
cmovge edi, esi
mov ebx, 1
jmp 0x10077a2b
mov esi, dword [esp + 0xa8]
mov ebx, dword [esp + 0x118]
jmp 0x10077d17