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

Disassembly:
mov rax, rsp
movss dword [rax + 0x20], xmm3
movss dword [rax + 0x18], xmm2
push rbx
push rbp
push r13
push r14
push r15
sub rsp, 0x150
mov r13, qword [rdx + 0x140]
mov r15, rdx
movsx ebp, byte [rdx + 0x8d]
mov rbx, rcx
movsx r14d, byte [rdx + 0x8e]
movaps xmmword [rax - 0x68], xmm8
movaps xmm8, xmm2
movaps xmmword [rax - 0x78], xmm9
addss xmm8, xmm3
movss xmm9, dword [rdx + 0x90]
movaps xmmword [rax - 0xa8], xmm12
movaps xmm12, xmm3
movaps xmmword [rax - 0xb8], xmm13
movaps xmm13, xmm2
movaps xmmword [rax - 0xc8], xmm14
mulss xmm8, dword [0x140135ad0]
mov dword [rsp + 0x188], ebp
movss dword [rsp + 0x6c], xmm9
mov dword [rsp + 0x60], r14d
movss dword [rsp + 0x68], xmm8
movaps xmm14, xmm8
mulss xmm14, dword [rdx + 0x64]
mov qword [rsp + 0x70], r13
test r13, r13
je 0x1400c6170
mov qword [rax + 8], rsi
mov qword [rax - 0x30], rdi
mov qword [rax - 0x38], r12
xor r12d, r12d
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xd8], xmm15
xorps xmm15, xmm15
nop dword [rax]
nop word [rax + rax]
cmp dword [rbx + 0x2c], 1
movaps xmm6, xmm12
mov dword [rbx + 0x28], r12d
movaps xmm7, xmm13
mov rax, qword [r13]
mulss xmm6, dword [rax + 4]
mulss xmm7, dword [rax]
jge 0x1400c5abe
mov rcx, qword [rbx + 0x20]
mov edx, 0x800
mov dword [rbx + 0x2c], 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400c5ada
movsxd rax, dword [rbx + 0x28]
shl rax, 5
add rax, qword [rbx + 0x20]
movss dword [rax], xmm7
movss dword [rax + 4], xmm6
mov byte [rax + 0x1c], 1
inc dword [rbx + 0x28]
mov eax, dword [r13 + 8]
mov esi, r12d
dec eax
test eax, eax
jle 0x1400c5b8b
mov rdi, r12
nop
mov rax, qword [r13]
movaps xmm7, xmm12
mov dword [rsp + 0x50], 1
movaps xmm6, xmm13
mov dword [rsp + 0x48], r12d
movaps xmm5, xmm12
movaps xmm4, xmm13
movaps xmm0, xmm12
mulss xmm7, dword [rdi + rax + 0x1c]
movaps xmm3, xmm13
mov rcx, rbx
mulss xmm6, dword [rdi + rax + 0x18]
movaps xmm2, xmm12
mulss xmm5, dword [rdi + rax + 0x14]
movaps xmm1, xmm13
mulss xmm4, dword [rdi + rax + 0x10]
mulss xmm0, dword [rdi + rax + 0xc]
mulss xmm3, dword [rdi + rax + 8]
mulss xmm2, dword [rdi + rax + 4]
mulss xmm1, dword [rdi + rax]
movss dword [rsp + 0x40], xmm7
movss dword [rsp + 0x38], xmm6
movss dword [rsp + 0x30], xmm5
movss dword [rsp + 0x28], xmm4
movss dword [rsp + 0x20], xmm0
call fcn.1400c5410
mov eax, dword [r13 + 8]
lea rdi, [rdi + 0x18]
dec eax
add esi, 3
cmp esi, eax
jl 0x1400c5af0
mov ecx, dword [rbx + 0x28]
cmp ecx, 2
jl 0x1400c611b
mov r8, qword [rbx + 0x20]
lea edx, [rcx - 1]
movss xmm2, dword [rbx + 0xc]
movsx edi, byte [r13 + 0xc]
movsxd rax, edx
movss xmm0, dword [r8]
movss xmm1, dword [r8 + 4]
shl rax, 5
mulss xmm2, xmm2
subss xmm1, dword [rax + r8 + 4]
subss xmm0, dword [rax + r8]
mov eax, r12d
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
seta al
test eax, eax
je 0x1400c5bee
mov dword [rbx + 0x28], edx
mov edi, 1
mov ecx, edx
cmp byte [r15 + 0x8c], 0
jle 0x1400c61a3
mov esi, 1
mov r14d, r12d
mov dword [rsp + 0x64], esi
movaps xmm11, xmm15
test edi, edi
je 0x1400c5c66
mov edx, dword [rbx + 0x2c]
lea eax, [rcx + 1]
movups xmm6, xmmword [r8]
movups xmm7, xmmword [r8 + 0x10]
cmp eax, edx
jle 0x1400c5c51
lea eax, [rdx + rdx]
test edx, edx
jg 0x1400c5c2f
mov eax, 0x40
movsxd rdx, eax
mov rcx, r8
shl rdx, 5
mov dword [rbx + 0x2c], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
mov r8, rax
test rax, rax
je 0x1400c5c66
mov ecx, dword [rbx + 0x28]
movsxd rax, ecx
shl rax, 5
movups xmmword [rax + r8], xmm6
movups xmmword [rax + r8 + 0x10], xmm7
inc dword [rbx + 0x28]
movsxd rax, dword [rbx + 0x28]
lea r12, [rbx + 0x30]
cmp eax, dword [rbx + 0x3c]
jle 0x1400c5c93
mov rcx, qword [r12]
mov rdx, rax
shl rdx, 5
mov dword [rbx + 0x3c], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [r12], rax
test rax, rax
je 0x1400c5cad
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [r12]
movsxd r8, eax
shl r8, 5
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rbx + 0x28]
mov dword [rbx + 0x38], eax
mov rax, qword [r12]
mov dword [rbx + 0x28], 0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
xor eax, eax
movups xmm6, xmm0
movups xmm7, xmm1
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rsp + 0x88], xmm1
cmp dword [rbx + 0x2c], esi
jge 0x1400c5cfb
mov rcx, qword [rbx + 0x20]
mov edx, 0x800
mov dword [rbx + 0x2c], 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400c5d12
mov eax, dword [rbx + 0x28]
movsxd rcx, eax
mov rax, qword [rbx + 0x20]
shl rcx, 5
movups xmmword [rcx + rax], xmm6
movups xmmword [rcx + rax + 0x10], xmm7
inc dword [rbx + 0x28]
movsx r9, byte [r15 + 0x8c]
xor r8d, r8d
movaps xmm6, xmm15
mov rdi, r9
mov rcx, r9
cmp r9, 4
jl 0x1400c5d6c
lea rdx, [r9 - 4]
shr rdx, 2
lea rax, [r15 + 0x70]
inc rdx
lea r8, [rdx*4]
nop dword [rax]
nop dword [rax + rax]
addss xmm6, dword [rax - 4]
addss xmm6, dword [rax]
addss xmm6, dword [rax + 4]
addss xmm6, dword [rax + 8]
add rax, 0x10
sub rdx, rsi
jne 0x1400c5d50
cmp r8, rcx
jge 0x1400c5d89
lea rax, [r15 + 0x6c]
sub rcx, r8
lea rax, [rax + r8*4]
addss xmm6, dword [rax]
add rax, 4
sub rcx, rsi
jne 0x1400c5d7c
test sil, r9b
je 0x1400c5d92
addss xmm6, xmm6
movss xmm0, dword [r15 + 0x68]
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
comiss xmm15, xmm0
jbe 0x1400c5daa
addss xmm0, xmm6
movss xmm1, dword [r15 + 0x6c]
comiss xmm0, xmm1
jbe 0x1400c5dda
nop word [rax + rax]
lea eax, [r14 + 1]
cdq
subss xmm0, xmm1
idiv edi
movsxd r14, edx
movss xmm1, dword [r15 + r14*4 + 0x6c]
comiss xmm0, xmm1
ja 0x1400c5dc0
mov ebp, esi
movsxd rax, r14d
movss xmm6, dword [r15 + rax*4 + 0x6c]
subss xmm6, xmm0
mulss xmm6, xmm8
cmp dword [rbx + 0x38], esi
jle 0x1400c60df
movss xmm9, dword [rsp + 0x7c]
mov esi, 0x20
movss xmm10, dword [rsp + 0x78]
mov r13d, ebp
movss xmm12, dword [rsp + 0x68]
movss xmm13, dword [rsp + 0x6c]
nop dword [rax]
mov rdi, qword [r12]
movss xmm7, dword [rsi + rdi]
movss xmm8, dword [rsi + rdi + 4]
subss xmm7, xmm10
subss xmm8, xmm9
movaps xmm0, xmm7
mulss xmm0, xmm7
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400c5e5f
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400c5e67
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
addss xmm1, xmm11
comiss xmm1, xmm6
jbe 0x1400c6023
movsxd rdx, dword [rbx + 0x28]
subss xmm6, xmm11
divss xmm6, xmm0
movaps xmm0, xmm6
mulss xmm6, xmm8
mulss xmm0, xmm7
addss xmm6, xmm9
addss xmm0, xmm10
movaps xmm9, xmm6
movaps xmm10, xmm0
test edx, edx
jle 0x1400c5eec
mov r8, qword [rbx + 0x20]
xor eax, eax
movss xmm2, dword [rbx + 0xc]
mov rcx, rdx
shl rcx, 5
movaps xmm1, xmm6
mulss xmm2, xmm2
subss xmm1, dword [rcx + r8 - 0x1c]
subss xmm0, dword [rcx + r8 - 0x20]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm2, xmm1
seta al
test eax, eax
je 0x1400c5eec
or byte [rcx + r8 - 4], 1
jmp 0x1400c5f40
mov ecx, dword [rbx + 0x2c]
lea eax, [rdx + 1]
cmp eax, ecx
jle 0x1400c5f23
test ecx, ecx
jle 0x1400c5efe
add ecx, ecx
jmp 0x1400c5f03
mov ecx, 0x40
movsxd rdx, ecx
mov dword [rbx + 0x2c], ecx
mov rcx, qword [rbx + 0x20]
shl rdx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400c5f40
mov edx, dword [rbx + 0x28]
movsxd rax, edx
shl rax, 5
add rax, qword [rbx + 0x20]
movss dword [rax], xmm10
movss dword [rax + 4], xmm9
mov byte [rax + 0x1c], 1
inc dword [rbx + 0x28]
cmp dword [rbx + 0x28], 1
jle 0x1400c5f87
test r13d, r13d
je 0x1400c5f87
mov edi, dword [rsp + 0x188]
movaps xmm1, xmm13
mov r8d, edi
mov rcx, rbx
call fcn.1400cb6f0
mov eax, dword [rsp + 0x60]
xor r9d, r9d
mov r8d, dword [rbx + 0x28]
mov rcx, rbx
mov rdx, qword [rbx + 0x20]
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
call fcn.1400c4550
movsx ecx, byte [r15 + 0x8c]
xor eax, eax
test r13d, r13d
movss dword [rsp + 0x78], xmm10
movaps xmm6, xmm12
movss dword [rsp + 0x7c], xmm9
sete al
mov byte [rsp + 0x94], 1
mov r13d, eax
movaps xmm11, xmm15
lea eax, [r14 + 1]
cdq
idiv ecx
cmp dword [rbx + 0x2c], 1
movsxd r14, edx
mulss xmm6, dword [r15 + r14*4 + 0x6c]
mov dword [rbx + 0x28], 0
jge 0x1400c5ff9
mov rcx, qword [rbx + 0x20]
mov edx, 0x800
mov dword [rbx + 0x2c], 0x40
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400c60a6
movsxd rcx, dword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
movups xmm0, xmmword [rsp + 0x78]
shl rcx, 5
movups xmm1, xmmword [rsp + 0x88]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
inc dword [rbx + 0x28]
jmp 0x1400c60a6
movups xmm0, xmmword [rsi + rdi]
mov eax, dword [rbx + 0x28]
mov ecx, dword [rbx + 0x2c]
movaps xmm11, xmm1
movups xmm1, xmmword [rsi + rdi + 0x10]
inc eax
movups xmm7, xmm0
movups xmm8, xmm1
movups xmmword [rsp + 0x88], xmm1
movups xmmword [rsp + 0x78], xmm0
cmp eax, ecx
jle 0x1400c6079
lea eax, [rcx + rcx]
test ecx, ecx
jg 0x1400c605c
mov eax, 0x40
mov rcx, qword [rbx + 0x20]
movsxd rdx, eax
shl rdx, 5
mov dword [rbx + 0x2c], eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbx + 0x20], rax
test rax, rax
je 0x1400c6092
movsxd rcx, dword [rbx + 0x28]
mov rax, qword [rbx + 0x20]
shl rcx, 5
movups xmmword [rcx + rax], xmm7
movups xmmword [rcx + rax + 0x10], xmm8
inc dword [rbx + 0x28]
movss xmm9, dword [rsp + 0x7c]
inc ebp
movss xmm10, dword [rsp + 0x78]
add rsi, 0x20
cmp ebp, dword [rbx + 0x38]
jl 0x1400c5e20
movss xmm12, dword [rsp + 0x198]
movss xmm13, dword [rsp + 0x190]
movss xmm8, dword [rsp + 0x68]
movss xmm9, dword [rsp + 0x6c]
mov dword [rsp + 0x64], r13d
mov esi, dword [rsp + 0x64]
mov r13, qword [rsp + 0x70]
mov r8d, dword [rbx + 0x28]
mov r14d, dword [rsp + 0x60]
mov ebp, dword [rsp + 0x188]
cmp r8d, 1
jle 0x1400c6118
test esi, esi
je 0x1400c6118
mov rdx, qword [rbx + 0x20]
xor r9d, r9d
movss dword [rsp + 0x30], xmm14
mov rcx, rbx
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebp
call fcn.1400c4550
xor r12d, r12d
mov r13, qword [r13 + 0x20]
mov qword [rsp + 0x70], r13
test r13, r13
jne 0x1400c5a80
movaps xmm15, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x120]
movaps xmm6, xmmword [rsp + 0x130]
mov r12, qword [rsp + 0x140]
mov rdi, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x180]
lea r11, [rsp + 0x150]
movaps xmm8, xmmword [r11 - 0x40]
movaps xmm9, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x80]
movaps xmm13, xmmword [r11 - 0x90]
movaps xmm14, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop rbp
pop rbx
ret
mov r8d, ebp
movaps xmm1, xmm9
mov rcx, rbx
call fcn.1400cb6f0
mov r8d, dword [rbx + 0x28]
mov r9d, edi
mov rdx, qword [rbx + 0x20]
mov rcx, rbx
movss dword [rsp + 0x30], xmm14
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ebp
call fcn.1400c4550
jmp 0x1400c611b