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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x1006b040]
xor eax, esp
mov dword [esp + 0xc0], eax
mov eax, dword [0x3845ce7c]
movss xmm0, dword [0x10066d8c]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x3845c9a8]
push ebx
push esi
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
push edi
or edi, 0xffffffff
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], edi
movss dword [esp + 0x14], xmm0
call dword [eax + 0xf4]
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov esi, eax
push 4
push esi
mov dword [esp + 0x2c], esi
call ebx
test eax, eax
jne 0x10007873
test esi, esi
je 0x10007873
xor edi, edi
cmp dword [esi + 0x18c], edi
jbe 0x1000785b
mov eax, dword [esi + 0x184]
push 4
mov esi, dword [eax + edi*4]
push esi
call ebx
test eax, eax
jne 0x10007831
test esi, esi
je 0x10007831
mov ebx, dword [esi + 0x10]
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10007659
test ebx, ebx
je 0x10007659
mov eax, 1
jmp 0x1000765b
xor eax, eax
mov ebx, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x10007831
push 4
push 0x38410350
call ebx
test eax, eax
jne 0x10007831
mov ecx, dword [0x3841036c]
lea edx, [esp + 0x70]
push 1
push edx
push 8
mov eax, dword [ecx]
push dword [esi + 0x10]
call dword [eax + 0x40]
cmp dword [esi + 0x40], 0
jne 0x10007831
cmp dword [esp + 0x18], 1
jne 0x1000772d
mov ecx, dword [0x38410350]
mov eax, 0x3845ce7c
xorps xmm0, xmm0
mov eax, dword [eax]
movlpd qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], 0
movlpd qword [esp + 0x4c], xmm0
movlpd qword [esp + 0x54], xmm0
movlpd qword [esp + 0x5c], xmm0
movlpd qword [esp + 0x64], xmm0
mov dword [esp + 0x6c], 0
mov eax, dword [eax + 0x13c]
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x34], xmm0
mov eax, dword [eax + 0x18]
movq xmm0, qword [esp + 0x70]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
movq qword [esp + 0x40], xmm0
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x38]
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x38]
push ecx
call eax
add esp, 8
test al, al
jne 0x10007831
movq xmm0, qword [esp + 0x70]
sub esp, 0xc
mov eax, dword [esp + 0x84]
mov ecx, esp
sub esp, 0xc
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x13c]
movq xmm0, qword [eax + 0x10]
mov eax, dword [eax + 0x18]
movq qword [ecx], xmm0
movd xmm0, dword [esp + 0x38]
cvtdq2ps xmm0, xmm0
mov dword [ecx + 8], eax
call fcn.10007430
add esp, 0x18
test eax, eax
je 0x10007831
lea edx, [esp + 0x28]
lea ecx, [esp + 0x70]
call fcn.10005b40
test al, al
je 0x10007831
mov eax, dword [0x100e1918]
xorps xmm0, xmm0
movss xmm2, dword [esp + 0x28]
shr eax, 1
movss xmm1, dword [esp + 0x2c]
mov dword [esp + 0x30], 0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10067120]
mov eax, dword [0x100e191c]
shr eax, 1
cvtpd2ps xmm0, xmm0
subss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
mulss xmm2, xmm2
addsd xmm0, qword [eax*8 + 0x10067120]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000780f
sqrtsd xmm0, xmm0
jmp 0x10007814
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x10007831
mov eax, edi
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x10], eax
jmp 0x10007835
mov eax, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
inc edi
cmp edi, dword [esi + 0x18c]
jb 0x10007620
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.10051626
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.10051626
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xcc]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10051626
mov esp, ebp
pop ebp
ret