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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf4
cmp byte [0x101f5a1c], 0
push ebx
push esi
push edi
je 0x1001d55c
mov ecx, dword [0x101bf77c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101f55e0]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
cmp byte [0x101bc89c], 0
jne 0x1001d25e
cmp byte [0x101f0f58], 0
jne 0x1001d25e
mov ebx, dword [0x101f0f6c]
mov esi, dword [0x101f0f70]
cmp ebx, esi
je 0x1001d55c
mov edi, dword [0x101f565c]
test edi, edi
je 0x1001d55c
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1001caf6
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov esi, dword [0x101f0f70]
mov ebx, dword [0x101f0f6c]
mov dword [0x101f5658], eax
cmp dword [edi + eax], 0
jle 0x1001d55c
mov ecx, esi
mov dword [esp + 0x18], 0
sub ecx, ebx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d55c
movss xmm0, dword [0x101b6388]
xor edi, edi
movss xmm3, dword [0x101b65d0]
xor ecx, ecx
movss dword [esp + 0x3c], xmm0
nop
sub esi, ebx
mov eax, 0x88888889
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, ecx
jbe 0x1001d568
mov ecx, dword [edi + ebx + 0x34]
mov eax, 0x66666667
mov esi, dword [edi + ebx + 0x30]
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm1, dword [0x101be798]
movss xmm2, dword [0x101be79c]
subss xmm2, dword [esi + 0x20]
subss xmm1, dword [esi + 0x1c]
movss xmm0, dword [0x101be7a0]
subss xmm0, dword [esi + 0x24]
mov dword [esp + 0xe0], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x1c], xmm2
sqrtss xmm0, dword [esp + 0x1c]
movss dword [esp + 0xe0], xmm0
movss xmm0, dword [esp + 0xe0]
comiss xmm0, xmm3
ja 0x1001d21b
mov ecx, dword [0x101f0f70]
mov eax, 0x88888889
mov esi, dword [0x101f0f6c]
sub ecx, esi
imul ecx
mov dword [esp + 0x28], 0
add edx, ecx
mov dword [esp + 0x24], 0
sar edx, 5
mov eax, edx
mov dword [esp + 0x20], 0
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jbe 0x1001d568
mov ecx, dword [edi + esi + 0x34]
mov eax, 0x66666667
mov ebx, dword [edi + esi + 0x30]
sub ecx, ebx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm1, dword [ebx + 0x20]
lea edx, [esp + 0x20]
movss xmm2, dword [ebx + 0x24]
movss xmm0, dword [ebx + 0x1c]
mov ecx, dword [0x101f5890]
movss dword [esp + 0xb4], xmm0
movss dword [esp + 0xb8], xmm1
movss dword [esp + 0xbc], xmm2
mov eax, dword [ecx]
push edx
lea edx, [esp + 0xb8]
push edx
mov eax, dword [eax + 0x34]
call eax
cmp eax, 1
je 0x1001ce66
mov ecx, dword [0x101f0f70]
mov eax, 0x88888889
mov ebx, dword [0x101f0f6c]
sub ecx, ebx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jbe 0x1001d568
mov ecx, dword [edi + ebx + 0x34]
mov eax, 0x66666667
mov esi, dword [edi + ebx + 0x30]
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm1, dword [0x101be798]
movss xmm2, dword [0x101be79c]
subss xmm2, dword [esi + 0x20]
subss xmm1, dword [esi + 0x1c]
movss xmm0, dword [0x101be7a0]
subss xmm0, dword [esi + 0x24]
mov dword [esp + 0xf0], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x1c], xmm2
sqrtss xmm0, dword [esp + 0x1c]
movss dword [esp + 0xf0], xmm0
movss xmm2, dword [esp + 0x24]
lea eax, [esp + 0x40]
movss xmm0, dword [esp + 0x3c]
addss xmm2, dword [0x101b6468]
comiss xmm0, dword [esp + 0xf0]
push ecx
push eax
push ecx
movaps xmm0, xmmword [0x101b68b0]
movss xmm3, dword [0x101b6494]
movss xmm1, dword [esp + 0x2c]
movups xmmword [esp + 0x4c], xmm0
call fcn.100aed10
mov ecx, dword [0x101f0f70]
mov eax, 0x88888889
mov esi, dword [0x101f0f6c]
sub ecx, esi
movaps xmm0, xmmword [0x101b68b0]
imul ecx
movups xmmword [esp + 0x40], xmm0
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jbe 0x1001d568
cmp dword [edi + esi + 0x14], 0xf
lea edx, [edi + esi]
jbe 0x1001cdc8
mov edx, dword [edx]
mov ecx, edx
mov dword [esp + 0x60], 0
xorps xmm0, xmm0
mov dword [esp + 0x64], 0
movaps xmmword [esp + 0x50], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001cde5
sub ecx, esi
push ecx
push edx
lea ecx, [esp + 0x58]
call fcn.10002920
movss xmm2, dword [esp + 0x24]
lea eax, [esp + 0x40]
subss xmm2, dword [0x101b64dc]
movss xmm3, dword [0x101b64c8]
movss xmm1, dword [esp + 0x20]
push 0
push 1
push eax
push 1
lea eax, [esp + 0x60]
push eax
push dword [0x101f59a8]
call fcn.100ae720
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe 0x1001ce66
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001ce5c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d258
push ecx
push edx
call fcn.1010e562
add esp, 8
mov ecx, dword [0x101f0f70]
mov eax, 0x88888889
mov ebx, dword [0x101f0f6c]
sub ecx, ebx
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jbe 0x1001d568
mov ecx, dword [edi + ebx + 0x34]
mov eax, 0x66666667
mov esi, dword [edi + ebx + 0x30]
sub ecx, esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm1, dword [0x101be798]
movss xmm2, dword [0x101be79c]
subss xmm2, dword [esi + 0x20]
subss xmm1, dword [esi + 0x1c]
movss xmm0, dword [0x101be7a0]
subss xmm0, dword [esi + 0x24]
mov dword [esp + 0xa4], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x1c], xmm2
sqrtss xmm0, dword [esp + 0x1c]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [0x101bc370]
comiss xmm0, dword [esp + 0xa4]
jbe 0x1001d213
mov ecx, dword [0x101f565c]
lea eax, [esp + 0xc0]
push eax
call fcn.10003730
mov ecx, dword [0x101f0f70]
mov eax, 0x88888889
mov esi, dword [0x101f0f6c]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x18]
jbe 0x1001d568
mov ecx, dword [edi + esi + 0x34]
mov eax, 0x66666667
mov ebx, dword [edi + esi + 0x30]
sub ecx, ebx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm0, dword [ebx]
mulss xmm0, dword [0x101b62e8]
movss dword [esp + 0x38], xmm0
call fcn.10009260
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [ebx + 4]
mulss xmm0, dword [0x101b62e8]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
movss dword [esp + 0x7c], xmm0
call fcn.10009260
mulss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [0x101b6534]
addss xmm0, dword [esp + 0xc0]
movss dword [esp + 0xcc], xmm0
movss xmm0, dword [esp + 0x7c]
call fcn.10009270
mulss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [0x101b6534]
addss xmm0, dword [esp + 0xc4]
movss dword [esp + 0xd0], xmm0
movss xmm0, dword [esp + 0x38]
call fcn.10009270
mulss xmm0, dword [0x101b669c]
lea edx, [esp + 0x2c]
mov ecx, dword [0x101f5890]
push edx
lea edx, [esp + 0xd0]
addss xmm0, dword [esp + 0xcc]
mov eax, dword [ecx]
push edx
movss dword [esp + 0xdc], xmm0
mov eax, dword [eax + 0x34]
call eax
cmp eax, 1
je 0x1001d213
movss xmm3, dword [0x101b65fc]
lea eax, [esp + 0x80]
movss xmm2, dword [0x101b64c8]
xorps xmm0, xmm0
push 0
push 0
push eax
push ecx
mov ecx, dword [0x101f59a8]
lea eax, [esp + 0xe8]
movaps xmmword [esp + 0x90], xmm0
mov dword [esp], 0
push eax
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 8
mov dword [esp + 0x94], 0x206d6961
mov dword [esp + 0x98], 0x65726568
mov byte [esp + 0x9c], 0
call fcn.10064d90
mov ecx, dword [esp + 0x94]
cmp ecx, 0xf
jbe 0x1001d114
mov edx, dword [esp + 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001d10a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d258
push ecx
push edx
call fcn.1010e562
add esp, 8
movaps xmm0, xmmword [0x101b68b0]
lea eax, [esp + 0x40]
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esp + 0x2c]
addss xmm1, dword [0x101b64a4]
movss xmm3, dword [0x101b64c8]
movups xmmword [esp + 0x40], xmm0
mov dword [esp + 0x90], 0
xorps xmm0, xmm0
mov dword [esp + 0x94], 0xf
movaps xmmword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0xdc]
mulss xmm0, dword [esp + 0x3c]
push 0
push 1
push eax
push 0
lea eax, [esp + 0x60]
mov byte [esp + 0x90], 0
push eax
push dword [0x101f59a8]
subss xmm2, xmm0
mov dword [esp + 0x7c], 0xf
mov dword [esp + 0x78], 8
mov dword [esp + 0x68], 0x206d6961
mov dword [esp + 0x6c], 0x65726568
mov byte [esp + 0x70], 0
call fcn.100ae720
mov ecx, dword [esp + 0x64]
cmp ecx, 0xf
jbe 0x1001d1e7
mov edx, dword [esp + 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1001d1dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1001d258
push ecx
push edx
call fcn.1010e562
add esp, 8
movaps xmm0, xmmword [0x101b68b0]
lea eax, [esp + 0x40]
movss xmm3, dword [0x101b648c]
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esp + 0x2c]
push ecx
push eax
push ecx
movups xmmword [esp + 0x4c], xmm0
call fcn.100aed10
movss xmm3, dword [0x101b65d0]
mov esi, dword [0x101f0f70]
mov eax, 0x88888889
mov ebx, dword [0x101f0f6c]
mov ecx, esi
inc dword [esp + 0x18]
sub ecx, ebx
imul ecx
add edi, 0x3c
add edx, ecx
mov ecx, dword [esp + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jb 0x1001cb40
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, dword [0x101f0f60]
mov eax, 0x66666667
sub ecx, dword [0x101f0f5c]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jbe 0x1001d55c
mov ecx, dword [0x101bf77c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1001d55c
mov edi, dword [0x101f565c]
test edi, edi
je 0x1001d55c
mov eax, dword [0x101f5658]
test eax, eax
jne 0x1001d2de
mov edx, 0xe80c2f78
mov ecx, 0x1014a9e5
call fcn.10003700
mov edx, 0xc10bf213
mov ecx, 0x1014a90d
mov esi, eax
call fcn.10003700
mov edx, esi
mov ecx, eax
call fcn.100aa660
mov dword [0x101f5658], eax
cmp dword [edi + eax], 0
jle 0x1001d55c
mov edi, dword [0x101f0f60]
mov eax, 0x66666667
mov ebx, dword [0x101f0f5c]
mov ecx, edi
sub ecx, ebx
mov esi, 1
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x1001d55c
nop word [eax + eax]
sub edi, ebx
mov dword [esp + 0x34], 0
mov eax, 0x66666667
mov dword [esp + 0x30], 0
imul edi
mov dword [esp + 0x2c], 0
sar edx, 4
mov eax, edx
mov dword [esp + 0x28], 0
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
cmp eax, esi
jbe 0x1001d563
mov ecx, dword [0x101f5890]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
lea eax, [esp + 0x2c]
push eax
lea eax, [esi + esi*4]
lea eax, [eax*8 + 0x1c]
add eax, ebx
push eax
call edx
cmp eax, 1
je 0x1001d532
mov ecx, dword [0x101f0f60]
lea edi, [esi - 1]
mov ebx, dword [0x101f0f5c]
mov eax, 0x66666667
sub ecx, ebx
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x1001d563
mov ecx, dword [0x101f5890]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
lea eax, [esp + 0x20]
push eax
lea eax, [edi + edi*4]
lea eax, [eax*8 + 0x1c]
add eax, ebx
push eax
call edx
cmp eax, 1
je 0x1001d532
cmp byte [0x101bc384], 0
je 0x1001d532
movaps xmm0, xmmword [0x101b68b0]
lea eax, [esp + 0x40]
movss xmm3, dword [esp + 0x20]
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esp + 0x2c]
push ecx
mov dword [esp], 0x3f000000
push eax
movups xmmword [esp + 0x48], xmm0
push ecx
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm0
call fcn.100ae600
cmp esi, 1
jne 0x1001d532
cvttss2si eax, dword [esp + 0x30]
mov ecx, dword [0x101f56f0]
push 0xf
push 0
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [esp + 0x38]
push eax
mov eax, dword [edx + 0x19c]
call eax
mov ecx, dword [0x101f0f60]
mov eax, 0x66666667
mov edi, dword [0x101f0f5c]
sub ecx, edi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1001d563
movss xmm1, dword [0x101be798]
movss xmm2, dword [0x101be79c]
subss xmm2, dword [edi + 0x20]
subss xmm1, dword [edi + 0x1c]
movss xmm0, dword [0x101be7a0]
subss xmm0, dword [edi + 0x24]
mov dword [esp + 0xa4], 0
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x38], xmm2
sqrtss xmm0, dword [esp + 0x38]
movss dword [esp + 0xa4], xmm0
mov ecx, dword [0x101f0f60]
mov eax, 0x66666667
mov edi, dword [0x101f0f5c]
sub ecx, edi
movss xmm0, dword [0x101b6388]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
comiss xmm0, dword [esp + 0xa4]
movaps xmm0, xmmword [0x101b68b0]
add eax, edx
je 0x1001d563
sub esp, 0x10
mov eax, esp
sub esp, 0x10
mov ecx, esp
movups xmmword [eax], xmm0
mov eax, dword [edi + 0x24]
movq xmm0, qword [edi + 0x1c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.1001b730
mov edi, dword [0x101f0f60]
mov eax, 0x66666667
mov ebx, dword [0x101f0f5c]
mov ecx, edi
sub ecx, ebx
inc esi
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x1001d320
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10019b20
call fcn.10019b20
int3