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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x98
push esi
mov esi, ecx
movss dword [esp + 0x2c], xmm2
mov ecx, dword [0x101cc1b4]
push edi
mov edi, edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x88], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jg 0x100af6d1
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x30]
jae 0x100af6d1
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101cc174]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov esi, eax
test esi, esi
je 0x100af6c9
mov ecx, dword fs:[0x2c]
mov edx, dword [0x101cc0d8]
mov eax, dword [ecx + edx*4]
mov ecx, dword [0x101d3af8]
mov dword [esp + 0x28], eax
cmp ecx, dword [eax + 4]
jle 0x100af0f8
push 0x101d3af8
call fcn.100d2315
add esp, 4
cmp dword [0x101d3af8], 0xffffffff
jne 0x100af0f8
mov eax, dword [0x101d3b24]
push 0x101d3af8
mov dword [0x101d3b68], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3b68]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + 0xac]
jg 0x100af6c9
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0xb0]
lea edx, [eax + ecx*4]
add edx, esi
je 0x100af6c9
mov ecx, dword [edi + 8]
mov eax, dword [edx + 8]
shl ecx, 4
add ecx, dword [edi + 8]
lea eax, [eax + ecx*4]
add eax, edx
je 0x100af6c9
mov ecx, dword [0x101cba5c]
mov dword [esp + 0x74], ecx
test ecx, ecx
je 0x100af6c9
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x78], eax
test eax, eax
je 0x100af6c9
mov ecx, dword [0x101cba58]
cmp dword [ecx + 0x3874], 0
je 0x100af6c9
movss xmm0, dword [eax + 0x104]
lea eax, [esp + 0x1c]
push eax
movss dword [esp + 0x88], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
call dword [0x101cc29c]
movq xmm0, qword [edi + 0x1c]
movss xmm3, dword [esp + 0x1c]
movq qword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x20]
subss xmm0, dword [esp + 0x38]
subss xmm3, dword [esp + 0x34]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x3c], eax
movaps xmm2, xmm0
mulss xmm2, xmm0
movaps xmm1, xmm3
divss xmm0, xmm3
mulss xmm1, xmm3
movss dword [esp + 0x18], xmm3
addss xmm2, xmm1
movss dword [esp + 8], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [esp + 8]
sqrtss xmm1, xmm1
mulss xmm0, dword [0x101503d0]
movss dword [esp + 0xc], xmm0
movss dword [esp + 0x44], xmm0
movss xmm0, dword [0x10150534]
divss xmm0, xmm1
movss xmm1, dword [esp + 0x24]
subss xmm1, dword [esp + 0x3c]
mulss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x1015054c]
mov dword [esp + 0x48], 0
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [0x10150124]
jb 0x100af2bb
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x10150448]
movss dword [esp + 0x44], xmm0
movq xmm0, qword [esp + 0x40]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x4c]
lea edx, [esp + 0x54]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x6c]
call fcn.10057d00
add esp, 0x10
mov dword [esp + 0x18], 0
xor edi, edi
mov esi, dword [esp + 0x28]
mov eax, dword [0x101d4268]
cmp eax, dword [esi + 4]
jle 0x100af32e
push 0x101d4268
call fcn.100d2315
add esp, 4
cmp dword [0x101d4268], 0xffffffff
jne 0x100af32e
mov eax, dword [0x101d3ba0]
push 0x101d4268
mov dword [0x101d426c], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d426c]
mov ecx, dword [esp + 0x74]
mov esi, dword [0x101cba5c]
movss xmm0, dword [eax + ecx]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x28]
movss dword [esp + 8], xmm0
mov eax, dword [eax + 0xf4]
mov dword [esp + 0x7c], eax
mov eax, dword [0x101d3a1c]
cmp eax, dword [ecx + 4]
jle 0x100af394
push 0x101d3a1c
call fcn.100d2315
add esp, 4
cmp dword [0x101d3a1c], 0xffffffff
jne 0x100af394
mov eax, dword [0x101d3a28]
push 0x101d3a1c
mov dword [0x101d3a24], eax
call fcn.100d22cb
add esp, 4
mov eax, dword [0x101d3a24]
movzx esi, word [esi + eax]
lea eax, [edi + 1]
mov ecx, eax
mov dword [esp + 0x8c], eax
call fcn.10058480
movss xmm1, dword [0x10150278]
xorps xmm0, xmm0
call fcn.10058530
movss xmm1, dword [0x1015030c]
movss dword [esp + 0x14], xmm0
xorps xmm0, xmm0
call fcn.10058530
mov ecx, dword [0x101cc25c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
movss dword [esp + 0x80], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jle 0x100af427
movd xmm0, dword [esp + 0x7c]
lea eax, [esp + 0x10]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x10]
push eax
mulss xmm0, dword [esp + 0x10]
cvttss2si eax, xmm0
push eax
push 0
push esi
call dword [0x101cc274]
jmp 0x100af453
movss xmm1, dword [0x10150278]
xorps xmm0, xmm0
call fcn.10058530
movss xmm1, dword [0x1015030c]
movss dword [esp + 0x10], xmm0
xorps xmm0, xmm0
call fcn.10058530
movss dword [esp + 0xc], xmm0
movss xmm3, dword [esp + 8]
movss xmm0, dword [0x101502f0]
comiss xmm0, xmm3
jbe 0x100af4b9
cmp si, 0x1c
jne 0x100af4b9
movss xmm2, dword [esp + 0x10]
mov eax, 3
movss xmm1, dword [esp + 0x14]
nop dword [eax]
movaps xmm0, xmm1
dec eax
mulss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm2, xmm0
movd xmm0, eax
movaps xmm4, xmm1
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
ja 0x100af480
movss xmm1, dword [0x10150278]
movaps xmm0, xmm1
subss xmm1, xmm2
subss xmm0, xmm4
movss dword [esp + 0x10], xmm1
jmp 0x100af4c5
movss xmm1, dword [esp + 0x10]
movss xmm0, dword [esp + 0x14]
mov eax, dword [0x101d38b8]
mulss xmm0, dword [eax + 0x65b0]
mulss xmm1, dword [eax + 0x65b4]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x80]
movss dword [esp + 8], xmm1
call fcn.1012a740
movaps xmm1, xmm0
shufps xmm0, xmm1, 1
mulss xmm0, dword [esp + 0x14]
movups xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0xc]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
mulss xmm0, dword [esp + 8]
movaps xmm1, xmmword [esp + 0x90]
addss xmm1, xmm0
movups xmm0, xmmword [esp + 0x40]
mulss xmm0, dword [esp + 0x14]
movaps xmmword [esp + 0x90], xmm1
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0xc]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_sinf
mulss xmm0, dword [esp + 8]
lea edx, [esp + 0x34]
mov eax, dword [esp + 0x88]
movaps xmm1, xmmword [esp + 0x90]
movups xmm5, xmmword [esp + 0x40]
push ecx
movss xmm4, dword [esp + 0x54]
lea ecx, [esp + 0x20]
movss xmm3, dword [esp + 0x58]
addss xmm5, xmm0
movss xmm0, dword [esp + 0x6c]
movss xmm2, dword [esp + 0x5c]
mulss xmm4, xmm1
mulss xmm0, xmm5
addss xmm4, dword [esp + 0x60]
mulss xmm3, xmm1
mulss xmm2, xmm1
addss xmm3, dword [esp + 0x64]
addss xmm4, xmm0
movss xmm0, dword [esp + 0x70]
addss xmm2, dword [esp + 0x68]
mulss xmm0, xmm5
push dword [eax + 0x18]
addss xmm3, xmm0
movss xmm0, dword [esp + 0x78]
mulss xmm0, xmm5
push dword [eax + 8]
addss xmm2, xmm0
movaps xmm1, xmm3
mulss xmm1, xmm3
movaps xmm0, xmm4
mulss xmm0, xmm4
push dword [esp + 0x38]
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x10150278]
addss xmm0, dword [0x10150138]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm0, xmm4
movss xmm4, dword [esp + 0x94]
mulss xmm0, xmm4
addss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm1
mulss xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm4
mulss xmm1, xmm4
addss xmm0, dword [esp + 0x30]
addss xmm1, dword [esp + 0x34]
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm1
call fcn.100aebf0
mov ecx, dword [esp + 0x28]
add esp, 0x10
test al, al
je 0x100af671
inc ecx
mov dword [esp + 0x18], ecx
movss xmm2, dword [0x10150160]
mov eax, ecx
movss xmm1, dword [esp + 0x30]
sub eax, edi
add eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
comiss xmm1, xmm0
ja 0x100af6c9
mov edi, dword [esp + 0x8c]
cmp edi, 0xff
jl 0x100af2f0
mov eax, dword [ebp + 8]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
comiss xmm0, xmm1
movss dword [eax], xmm0
setae al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret