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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x70
mov ecx, dword [0x1030fa10]
mov byte [0x1030fc64], 1
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1030fa14]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov esi, eax
mov dword [esp + 0xc], esi
test esi, esi
je 0x1001b57d
mov ecx, dword [0x1030fb68]
cmp dword [ecx + esi], 0
jle 0x1001b57d
mov ecx, dword [0x1030fa10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x138]
call eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x1001b57d
mov ecx, dword [0x1030fb6c]
mov dword [0x1030fc70], 1
test byte [ecx + esi], 1
jne 0x1001b292
cmp byte [0x103099c1], 0
je 0x1001b285
mov eax, dword [0x1030fb70]
movq xmm0, qword [eax + esi]
movq qword [esp + 0x24], xmm0
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esp + 0x24]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1001b228
sqrtsd xmm0, xmm0
jmp 0x1001b22d
call fcn.1006abd0
mov eax, dword [0x1030fa18]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
sub esp, 8
movss xmm0, dword [0x101187d0]
mulss xmm1, dword [eax + 0x20]
divss xmm0, xmm1
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp qword [esp]
call fcn.1006d810
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
add esp, 8
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x101186f8]
cvttss2si ecx, xmm0
jmp 0x1001b4f0
cvttss2si ecx, dword [0x103099c8]
jmp 0x1001b4f0
mov eax, dword [0x1030fb70]
movq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
movq qword [esp + 0x24], xmm0
movss xmm1, dword [esp + 0x24]
movss xmm0, dword [esp + 0x28]
mulss xmm1, xmm1
mov dword [esp + 0x2c], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1001b2d4
sqrtsd xmm0, xmm0
jmp 0x1001b2d9
call fcn.1006abd0
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x10118790]
ja 0x1001b2fe
push dword [ebp + 8]
call fcn.1003c090
add esp, 4
test al, al
je 0x1001b4ea
cmp byte [0x103099c2], 0
cvttss2si ecx, dword [0x103099c4]
mov dword [0x1030fc70], ecx
je 0x1001b4f0
mov dword [esp + 8], esi
call fcn.1003be30
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
push ecx
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
mov eax, dword [eax + 0x34]
movss dword [esp], xmm0
push 0x7ff00
push 0x80
push 0
call eax
push 0x12
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10019140
push 0x10
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10019140
xor edx, edx
mov dword [esp + 8], edx
nop
mov ecx, dword [0x1030fa14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1001b4d8
mov ecx, dword [0x1030fb88]
cmp byte [ecx + edi], 0
jne 0x1001b4d8
mov ecx, dword [0x1030fb68]
cmp dword [ecx + edi], 0
jle 0x1001b4d8
mov ecx, dword [0x1030fb80]
mov eax, dword [ecx + edi]
cmp eax, dword [ecx + esi]
je 0x1001b4d8
cmp dword [edi + 0x25b], 0
jne 0x1001b4d8
mov edx, dword [0x1030fb7c]
push 1
push esi
push edi
movq xmm0, qword [edx + edi]
sub esp, 0xc
mov eax, dword [edx + edi + 8]
mov ecx, esp
movq qword [esp + 0x30], xmm0
sub esp, 0xc
movss xmm2, dword [esp + 0x3c]
xorps xmm0, xmm0
movss xmm1, dword [esp + 0x40]
addss xmm2, xmm0
mov dword [esp + 0x44], eax
addss xmm1, xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [0x101187d0]
mov eax, dword [edx + esi + 8]
unpcklps xmm2, xmm1
movss dword [esp + 0x5c], xmm0
movq xmm0, qword [edx + esi]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x5c]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
lea eax, [esp + 0x78]
push eax
mov ecx, 0x102f941b
call fcn.1000e990
mov edx, dword [0x1030fb7c]
push 1
mov esi, dword [eax]
movq xmm0, qword [edx + edi]
mov eax, dword [edx + edi + 8]
movq qword [esp + 0x28], xmm0
xorps xmm0, xmm0
movss xmm2, dword [esp + 0x28]
movss xmm1, dword [esp + 0x2c]
addss xmm2, xmm0
mov dword [esp + 0x30], eax
addss xmm1, xmm0
mov eax, dword [esp + 0x10]
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x101187d0]
push eax
push edi
sub esp, 0xc
unpcklps xmm2, xmm1
mov ecx, esp
sub esp, 0xc
movss dword [esp + 0x6c], xmm0
movq xmm0, qword [edx + eax]
mov eax, dword [edx + eax + 8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [esp + 0x6c]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
lea eax, [esp + 0x78]
push eax
mov ecx, 0x102f941b
call fcn.1000e990
cmp esi, dword [eax]
cmovl esi, dword [eax]
test esi, esi
jg 0x1001b51b
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
inc edx
mov dword [esp + 8], edx
cmp edx, 0x40
jl 0x1001b370
mov ecx, dword [0x1030fc70]
mov dl, byte [0x1030fc66]
mov edi, 1
lea esi, [edi + 0xd]
test dl, dl
je 0x1001b50e
cmp byte [0x1030fc67], 0
mov ecx, edi
cmovne ecx, esi
cmp byte [0x1030fc6c], 0
je 0x1001b522
mov ecx, esi
jmp 0x1001b534
mov ecx, 0xe
jmp 0x1001b4f0
lea eax, [ecx - 1]
cmp eax, 0xd
jbe 0x1001b534
cmp ecx, 1
mov eax, esi
cmovl eax, edi
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, esi
mov dword [0x1030fc70], ecx
cmovg ecx, esi
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jge 0x1001b56f
test eax, eax
jle 0x1001b55b
cmp byte [0x1030fc65], 0
je 0x1001b55b
test dl, dl
je 0x1001b56f
mov byte [0x1030fc64], 0
mov byte [0x1030fc6c], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x1030fc65], 0
mov byte [0x1030fc64], 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret