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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x70
mov ecx, dword [0x10531940]
mov byte [0x10531ba0], 1
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x10531944]
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 0x1001a645
mov ecx, dword [0x10531a98]
cmp dword [ecx + esi], 0
jle 0x1001a645
mov ecx, dword [0x10531940]
mov edx, dword [ecx]
mov eax, dword [edx + 0x138]
call eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x1001a645
mov edi, dword [ebp + 8]
mov ecx, 1
mov dword [0x10531bb0], ecx
mov eax, 0xe
test byte [edi + 0x30], cl
cmovne ecx, eax
mov eax, dword [0x10531a9c]
mov dword [0x10531bb0], ecx
test byte [eax + esi], 1
jne 0x1001a366
cmp byte [0x1052f3e0], 0
je 0x1001a359
mov eax, dword [0x10531aa0]
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 0x1001a2fc
sqrtsd xmm0, xmm0
jmp 0x1001a301
call fcn.10047870
mov eax, dword [0x10531948]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
sub esp, 8
movss xmm0, dword [0x1006c438]
mulss xmm1, dword [eax + 0x20]
divss xmm0, xmm1
movss dword [esp + 0x14], xmm0
fld dword [esp + 0x14]
fstp qword [esp]
call fcn.1004c800
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
add esp, 8
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x1006c388]
cvttss2si ecx, xmm0
jmp 0x1001a5b4
cvttss2si ecx, dword [0x1052f3e8]
jmp 0x1001a5b4
mov eax, dword [0x10531aa0]
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 0x1001a3a8
sqrtsd xmm0, xmm0
jmp 0x1001a3ad
call fcn.10047870
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x1006c3f0]
ja 0x1001a3d0
push edi
call fcn.1003fca0
add esp, 4
test al, al
je 0x1001a5ae
cmp byte [0x1052f3e1], 0
cvttss2si ecx, dword [0x1052f3e4]
mov dword [0x10531bb0], ecx
je 0x1001a5b4
mov dword [esp + 8], esi
call fcn.1003fa20
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.10017b50
push 0x10
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x10]
call fcn.10017b50
xor edx, edx
mov dword [esp + 8], edx
mov ecx, dword [0x10531944]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1001a59c
mov ecx, dword [0x10531ab8]
cmp byte [ecx + edi], 0
jne 0x1001a59c
mov ecx, dword [0x10531a98]
cmp dword [ecx + edi], 0
jle 0x1001a59c
mov ecx, dword [0x10531ab0]
mov eax, dword [ecx + edi]
cmp eax, dword [ecx + esi]
je 0x1001a59c
mov edx, dword [0x10531aac]
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 [0x1006c438]
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, 0x1051ad18
call fcn.1000a020
mov edx, dword [0x10531aac]
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 [0x1006c438]
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, 0x1051ad18
call fcn.1000a020
cmp esi, dword [eax]
cmovl esi, dword [eax]
test esi, esi
jg 0x1001a5e2
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 8]
inc edx
mov dword [esp + 8], edx
cmp edx, 0x40
jl 0x1001a441
mov ecx, dword [0x10531bb0]
mov dl, byte [0x10531ba2]
mov edi, 1
lea esi, [edi + 0xd]
test dl, dl
je 0x1001a5d2
cmp byte [0x10531ba4], 0
mov ecx, edi
cmovne ecx, esi
cmp byte [0x10531bae], 0
je 0x1001a5e9
mov ecx, 0xe
jmp 0x1001a5fb
mov ecx, 0xe
jmp 0x1001a5b4
lea eax, [ecx - 1]
cmp eax, 0xd
jbe 0x1001a5fb
cmp ecx, 1
mov eax, esi
cmovl eax, edi
mov ecx, eax
mov eax, dword [esp + 0x14]
cmp ecx, 0xe
mov dword [0x10531bb0], ecx
cmovg ecx, esi
mov eax, dword [eax + 0x2c]
cmp eax, ecx
jge 0x1001a637
test eax, eax
jle 0x1001a623
cmp byte [0x10531ba1], 0
je 0x1001a623
test dl, dl
je 0x1001a637
mov byte [0x10531ba0], 0
mov byte [0x10531bae], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x10531ba1], 0
mov byte [0x10531ba0], 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret