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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x70
push esi
mov esi, ecx
movss dword [esp + 0x10], xmm2
mov ecx, dword [0x1020f584]
push edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jg 0x100b5d7a
xorps xmm0, xmm0
comiss xmm0, dword [esp + 0x14]
jae 0x100b5d7a
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x1020f544]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov esi, eax
test esi, esi
je 0x100b5d72
mov ecx, dword fs:[0x2c]
mov edx, dword [0x1020f4b0]
mov edi, dword [ecx + edx*4]
mov ecx, dword [0x10216f44]
cmp ecx, dword [edi + 4]
jle 0x100b59bc
push 0x10216f44
call fcn.100d7b67
add esp, 4
cmp dword [0x10216f44], 0xffffffff
jne 0x100b59bc
mov eax, dword [0x10216f78]
push 0x10216f44
mov dword [0x10216fbc], eax
call fcn.100d7b16
add esp, 4
mov eax, dword [0x10216fbc]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + 0xac]
jg 0x100b5d72
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0xb0]
lea edx, [eax + ecx*4]
add edx, esi
je 0x100b5d72
mov esi, dword [esp + 8]
mov eax, dword [edx + 8]
mov ecx, dword [esi + 8]
shl ecx, 4
add ecx, dword [esi + 8]
lea eax, [eax + ecx*4]
add eax, edx
je 0x100b5d72
mov ecx, dword [0x1020dcf8]
mov dword [esp + 0x24], ecx
test ecx, ecx
je 0x100b5d72
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x28], eax
test eax, eax
je 0x100b5d72
mov ecx, dword [0x1020dcf4]
cmp dword [ecx + 0x3874], 0
je 0x100b5d72
movss xmm0, dword [eax + 0x104]
lea eax, [esp + 0x30]
push eax
movss dword [esp + 0x30], xmm0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call dword [0x1020f618]
movq xmm0, qword [esi + 0x1c]
movss xmm3, dword [esp + 0x30]
movq qword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x34]
subss xmm0, dword [esp + 0x70]
subss xmm3, dword [esp + 0x6c]
mov eax, dword [esi + 0x24]
mov dword [esp + 0x74], 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 + 0x10], xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
movss xmm1, dword [esp + 0x10]
sqrtss xmm1, xmm1
mulss xmm0, dword [0x10155d38]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x38]
subss xmm0, dword [esp + 0x74]
divss xmm0, xmm1
xorps xmm0, xmmword [0x10156240]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_atanf
mulss xmm0, dword [0x10155f00]
mov dword [esp + 0x68], 0
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x18]
comiss xmm0, dword [0x10155a64]
jb 0x100b5b7b
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [0x10155dd4]
movss dword [esp + 0x64], xmm0
movq xmm0, qword [esp + 0x60]
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x6c]
lea edx, [esp + 0x40]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x58]
call fcn.10058630
add esp, 0x10
mov dword [esp + 0x10], 0
xor esi, esi
mov eax, dword [0x10217608]
cmp eax, dword [edi + 4]
jle 0x100b5bea
push 0x10217608
call fcn.100d7b67
add esp, 4
cmp dword [0x10217608], 0xffffffff
jne 0x100b5bea
mov eax, dword [0x10216ff8]
push 0x10217608
mov dword [0x1021760c], eax
call fcn.100d7b16
add esp, 4
mov eax, dword [0x1021760c]
mov ecx, dword [esp + 0x24]
push esi
movss xmm2, dword [eax + ecx]
lea ecx, [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xf4]
call fcn.100b52a0
movss xmm2, dword [esp + 0x20]
lea edx, [esp + 0x70]
movss xmm5, dword [esp + 0x40]
lea ecx, [esp + 0x34]
movss xmm1, dword [esp + 0x24]
movss xmm0, dword [esp + 0x58]
movss xmm4, dword [esp + 0x44]
movss xmm3, dword [esp + 0x48]
mulss xmm0, xmm1
mov eax, dword [esp + 0xc]
mulss xmm5, xmm2
mulss xmm4, xmm2
addss xmm5, dword [esp + 0x4c]
mulss xmm3, xmm2
addss xmm4, dword [esp + 0x50]
push dword [eax + 0x18]
addss xmm3, dword [esp + 0x58]
addss xmm5, xmm0
movss xmm0, dword [esp + 0x60]
mulss xmm0, xmm1
push dword [eax + 8]
addss xmm4, xmm0
movss xmm0, dword [esp + 0x68]
mulss xmm0, xmm1
push dword [esp + 0x18]
addss xmm3, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm4
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x10155bc0]
addss xmm0, dword [0x10155a78]
divss xmm1, xmm0
movss xmm0, dword [esp + 0x3c]
mulss xmm5, xmm1
mulss xmm4, xmm1
mulss xmm3, xmm1
mulss xmm5, xmm0
mulss xmm4, xmm0
addss xmm5, dword [esp + 0x40]
mulss xmm3, xmm0
addss xmm4, dword [esp + 0x44]
addss xmm3, dword [esp + 0x48]
movss dword [esp + 0x7c], xmm5
movss dword [esp + 0x80], xmm4
movss dword [esp + 0x84], xmm3
call fcn.100b54c0
mov edx, dword [esp + 0x20]
add esp, 0x10
movss xmm2, dword [0x10155aa0]
test al, al
movss xmm1, dword [esp + 0x14]
lea ecx, [edx + 1]
cmove ecx, edx
mov eax, ecx
mov dword [esp + 0x10], ecx
sub eax, esi
add eax, 0xff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
comiss xmm1, xmm0
ja 0x100b5d72
inc esi
cmp esi, 0xff
jl 0x100b5bb0
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