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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x170
mov rbp, qword [rsp + 0x1e8]
mov r14, rcx
mov rcx, qword [0x1400e6b50]
mov rbx, r9
mov rsi, qword [rsp + 0x1e0]
mov r12, rdx
movaps xmmword [rax - 0x58], xmm7
movaps xmm7, xmm2
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x98], xmm11
lea rax, str.1_32_4_1_c
mov qword [rsp + 0x30], 0x41b58ab3
mov qword [rsp + 0x38], rax
lea rax, [fcn.140060960]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x30]
shr rax, 3
mov qword [rsp + 0xa8], rcx
mov dword [rax + rcx], 0xf1f1f1f1
mov dword [rax + rcx + 4], 0xf3f3f3f8
mov byte [rax + rcx + 8], 0xf3
test rbp, rbp
jne 0x140060a0e
mov rbp, 0xffffffffffffffff
inc rbp
cmp byte [rsi + rbp], 0
jne 0x140060a02
add rbp, rsi
mov rcx, rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
cvttss2si eax, dword [rbx]
lea rcx, [rbx + 4]
movd xmm11, eax
cvtdq2ps xmm11, xmm11
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov rdi, qword [rsp + 0x1d8]
cvttss2si eax, dword [rbx + 4]
lea r15, [rdi + 0xc]
mov rcx, r15
movd xmm8, eax
cvtdq2ps xmm8, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
comiss xmm8, dword [r15]
ja 0x140061334
mov qword [rsp + 0x1c8], r13
lea rcx, [r14 + 0x14]
movaps xmmword [rsp + 0x160], xmm6
movaps xmmword [rsp + 0x130], xmm9
movaps xmmword [rsp + 0x120], xmm10
movaps xmm10, xmm11
movaps xmmword [rsp + 0x100], xmm12
movss dword [rsp + 0x84], xmm11
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm9, dword [r14 + 0x14]
lea r13, [rdi + 4]
movss xmm12, dword [rsp + 0x1f0]
xorps xmm0, xmm0
divss xmm7, xmm9
mov rcx, r13
comiss xmm12, xmm0
mulss xmm9, xmm7
seta bl
movss dword [rsp + 0x1c0], xmm7
mov byte [rsp + 0x78], bl
movaps xmm6, xmm9
movss dword [rsp + 0x90], xmm9
addss xmm6, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm0, dword [r13]
comiss xmm0, xmm6
jbe 0x140060ba5
nop dword [rax]
cmp rsi, rbp
jae 0x140060ba5
mov r8, rbp
mov edx, 0xa
sub r8, rsi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memchr
test bl, bl
je 0x140060b74
test rax, rax
movss dword [rsp + 0x20], xmm12
mov r9, rbp
mov r8, rsi
cmovne r9, rax
movaps xmm1, xmm7
mov rcx, r14
call fcn.140060260
mov rsi, rax
cmp rax, rbp
jae 0x140060b62
mov rcx, rsi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load1
movzx eax, byte [rsi]
cmp al, 0x20
je 0x140060b5a
cmp al, 9
jne 0x140060b62
inc rsi
cmp rsi, rbp
jb 0x140060b47
mov rcx, rsi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load1
cmp byte [rsi], 0xa
jne 0x140060b80
inc rsi
jmp 0x140060b80
lea rsi, [rax + 1]
test rax, rax
jne 0x140060b80
mov rsi, rbp
addss xmm8, xmm9
movaps xmm6, xmm9
mov rcx, r13
addss xmm6, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm0, dword [r13]
comiss xmm0, xmm6
ja 0x140060b00
mov rax, rbp
sub rax, rsi
cmp rax, 0x2710
jle 0x140060c11
test bl, bl
jne 0x140060c11
mov rcx, r15
mov rbx, rsi
movaps xmm6, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm10, dword [r15]
comiss xmm10, xmm8
jbe 0x140060c04
cmp rbx, rbp
jae 0x140060c04
mov r8, rbp
mov edx, 0xa
sub r8, rbx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140060bf6
inc rbx
jmp 0x140060bf9
mov rbx, rbp
addss xmm6, xmm9
comiss xmm10, xmm6
ja 0x140060bd1
movss xmm10, dword [rsp + 0x84]
mov rbp, rbx
cmp rsi, rbp
je 0x140061309
mov edi, ebp
lea rcx, [r12 + 0x10]
sub edi, esi
lea ebx, [rdi + rdi*2]
add ebx, ebx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov eax, dword [r12 + 0x10]
lea r8d, [rdi*4]
add eax, ebx
mov edx, ebx
mov rcx, r12
mov dword [rsp + 0x94], eax
call fcn.140053580
lea rbx, [r12 + 0x48]
mov rcx, rbx
mov qword [rsp + 0xb0], rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov rax, qword [rbx]
lea rbx, [r12 + 0x50]
mov rcx, rbx
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb8], rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov rax, qword [rbx]
lea rbx, [r12 + 0x34]
mov rcx, rbx
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xc0], rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov eax, dword [rbx]
xor r12d, r12d
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x1d0]
or eax, 0xffffff
mov dword [rsp + 0x8c], eax
cmp rsi, rbp
jae 0x140061230
movaps xmmword [rsp + 0xf0], xmm13
movaps xmmword [rsp + 0xe0], xmm14
movaps xmmword [rsp + 0xd0], xmm15
mov rcx, qword [rsp + 0xa8]
lea rax, [rsp + 0x50]
shr rax, 3
cmp byte [rsp + 0x78], 0
mov byte [rax + rcx], 4
je 0x140060d78
test r12, r12
jne 0x140060d2e
movaps xmm1, xmm11
movaps xmm0, xmm12
subss xmm1, xmm10
mov r9, rbp
mov r8, rsi
mov rcx, r14
subss xmm0, xmm1
movaps xmm1, xmm7
movss dword [rsp + 0x20], xmm0
call fcn.140060260
mov r12, rax
cmp rsi, r12
jb 0x140060d78
xor r12d, r12d
addss xmm8, xmm9
movaps xmm11, xmm10
cmp rsi, rbp
jae 0x140060d5f
mov rcx, rsi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load1
movzx eax, byte [rsi]
cmp al, 0x20
je 0x140060d57
cmp al, 9
jne 0x140060d5f
inc rsi
cmp rsi, rbp
jb 0x140060d44
mov rcx, rsi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load1
cmp byte [rsi], 0xa
jne 0x1400611e5
inc rsi
jmp 0x1400611e5
mov rcx, rsi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load1
movsx edx, byte [rsi]
mov dword [rsp + 0x50], edx
cmp edx, 0x80
jae 0x140060d94
inc rsi
jmp 0x140060dae
mov r8, rbp
lea rcx, [rsp + 0x50]
mov rdx, rsi
call fcn.140014140
mov edx, dword [rsp + 0x50]
movsxd rcx, eax
add rsi, rcx
cmp edx, 0x20
jae 0x140060de1
cmp edx, 0xa
jne 0x140060dd8
mov rcx, r15
addss xmm8, xmm9
movaps xmm11, xmm10
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
comiss xmm8, dword [r15]
ja 0x140061215
jmp 0x1400611e5
cmp edx, 0xd
je 0x1400611e5
mov rcx, r14
call fcn.140060020
mov r14, rax
test rax, rax
je 0x1400611dd
lea rcx, [rax + 4]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movaps xmm0, xmm7
mov rcx, r14
mulss xmm0, dword [r14 + 4]
movss dword [rsp + 0x80], xmm0
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov eax, dword [r14]
mov dword [rsp + 0x88], eax
test al, 2
je 0x1400611d3
lea rcx, [r14 + 8]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movaps xmm10, xmm7
lea rcx, [r14 + 0x10]
mulss xmm10, dword [r14 + 8]
addss xmm10, xmm11
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movaps xmm6, xmm7
lea rcx, [r14 + 0xc]
mulss xmm6, dword [r14 + 0x10]
addss xmm6, xmm11
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movaps xmm9, xmm7
lea rcx, [r14 + 0x14]
mulss xmm9, dword [r14 + 0xc]
addss xmm9, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
mov rdi, qword [rsp + 0x1d8]
mulss xmm7, dword [r14 + 0x14]
mov rbx, rdi
lea rcx, [rdi + 8]
addss xmm7, xmm8
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm0, dword [rdi + 8]
comiss xmm0, xmm10
jb 0x1400611d3
mov rcx, rdi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
comiss xmm6, dword [rdi]
jb 0x1400611d3
lea rcx, [r14 + 0x18]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm14, dword [r14 + 0x18]
lea rcx, [r14 + 0x1c]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm15, dword [r14 + 0x1c]
lea rcx, [r14 + 0x20]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm12, dword [r14 + 0x20]
lea rcx, [r14 + 0x24]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
cmp byte [rsp + 0x1f8], 0
movss xmm13, dword [r14 + 0x24]
je 0x140061007
movss xmm3, dword [rdi]
comiss xmm3, xmm10
jbe 0x140060f42
movss xmm1, dword [0x1400cd290]
movaps xmm0, xmm6
subss xmm0, xmm10
movaps xmm2, xmm6
subss xmm2, xmm3
movaps xmm10, xmm3
divss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm14
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm14, xmm1
mov rcx, r13
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm3, dword [r13]
comiss xmm3, xmm9
jbe 0x140060f8b
movss xmm1, dword [0x1400cd290]
movaps xmm0, xmm7
subss xmm0, xmm9
movaps xmm2, xmm7
subss xmm2, xmm3
movaps xmm9, xmm3
divss xmm2, xmm0
movaps xmm0, xmm13
subss xmm0, xmm15
subss xmm1, xmm2
mulss xmm1, xmm0
addss xmm15, xmm1
movss xmm2, dword [rbx + 8]
comiss xmm6, xmm2
jbe 0x140060fc0
movaps xmm0, xmm12
subss xmm6, xmm10
movaps xmm1, xmm2
subss xmm0, xmm14
subss xmm1, xmm10
divss xmm1, xmm6
movaps xmm6, xmm2
movaps xmm12, xmm1
mulss xmm12, xmm0
addss xmm12, xmm14
mov rcx, r15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movss xmm2, dword [r15]
comiss xmm7, xmm2
jbe 0x140060ffd
movaps xmm0, xmm13
subss xmm7, xmm9
movaps xmm1, xmm2
subss xmm0, xmm15
subss xmm1, xmm9
divss xmm1, xmm7
movaps xmm7, xmm2
movaps xmm13, xmm1
mulss xmm13, xmm0
addss xmm13, xmm15
comiss xmm9, xmm7
jae 0x1400611d3
test byte [rsp + 0x88], 1
mov r14, qword [rsp + 0xa0]
mov edi, dword [rsp + 0x1d0]
mov rcx, r14
cmovne edi, dword [rsp + 0x8c]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 4]
movss dword [r14], xmm10
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x10]
movss dword [r14 + 4], xmm9
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 8]
mov dword [r14 + 0x10], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0xc]
movss dword [r14 + 8], xmm14
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x14]
movss dword [r14 + 0xc], xmm15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x18]
movss dword [r14 + 0x14], xmm6
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x24]
movss dword [r14 + 0x18], xmm9
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x1c]
mov dword [r14 + 0x24], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x20]
movss dword [r14 + 0x1c], xmm12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x28]
movss dword [r14 + 0x20], xmm15
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x2c]
movss dword [r14 + 0x28], xmm6
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x38]
movss dword [r14 + 0x2c], xmm7
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x30]
mov dword [r14 + 0x38], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x34]
movss dword [r14 + 0x30], xmm12
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x3c]
movss dword [r14 + 0x34], xmm13
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x40]
movss dword [r14 + 0x3c], xmm10
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x4c]
movss dword [r14 + 0x40], xmm7
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x44]
mov dword [r14 + 0x4c], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [r14 + 0x48]
movss dword [r14 + 0x44], xmm14
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
movss dword [r14 + 0x48], xmm13
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
mov eax, dword [rsp + 0x7c]
lea rcx, [rbx + 2]
mov word [rbx], ax
lea edi, [rax + 1]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
mov word [rbx + 2], di
lea rcx, [rbx + 4]
movzx edi, word [rsp + 0x7c]
add di, 2
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
lea rcx, [rbx + 6]
mov word [rbx + 4], di
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
mov eax, dword [rsp + 0x7c]
lea rcx, [rbx + 8]
mov word [rbx + 6], ax
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
mov word [rbx + 8], di
lea rcx, [rbx + 0xa]
movzx edi, word [rsp + 0x7c]
add di, 3
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store2
add dword [rsp + 0x7c], 4
add r14, 0x50
add qword [rsp + 0x98], 0xc
mov qword [rsp + 0xa0], r14
mov word [rbx + 0xa], di
addss xmm11, dword [rsp + 0x80]
mov r14, qword [rsp + 0x1b0]
movss xmm7, dword [rsp + 0x1c0]
movss xmm9, dword [rsp + 0x90]
movss xmm10, dword [rsp + 0x84]
movss xmm12, dword [rsp + 0x1f0]
cmp rsi, rbp
jb 0x140060ce2
movaps xmm14, xmmword [rsp + 0xe0]
movaps xmm13, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0xd0]
mov rsi, qword [rsp + 0x1b8]
lea rcx, [rsi + 0x28]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov rbp, qword [rsp + 0xa0]
lea rcx, [rsi + 0x20]
movabs rax, 0xcccccccccccccccd
mov rdi, rbp
sub rdi, qword [rsi + 0x28]
sar rdi, 2
imul rdi, rax
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
lea rcx, [rsi + 0x18]
mov dword [rsi + 0x20], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
mov r14, qword [rsp + 0x98]
lea rcx, [rsi + 0x10]
mov rdi, r14
sub rdi, qword [rsi + 0x18]
sar rdi, 1
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov rcx, rsi
mov dword [rsi + 0x10], edi
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
movsxd rax, dword [rsi]
lea rcx, [rsi + 8]
imul rbx, rax, 0x38
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load8
add rbx, qword [rsi + 8]
sub edi, dword [rsp + 0x94]
lea rcx, [rbx - 0x18]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_load4
lea rcx, [rbx - 0x18]
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
add dword [rbx - 0x18], edi
mov rbx, qword [rsp + 0xb0]
mov rcx, rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
mov qword [rbx], rbp
mov rbx, qword [rsp + 0xb8]
mov rcx, rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store8
mov qword [rbx], r14
mov rbx, qword [rsp + 0xc0]
mov rcx, rbx
call sub.clang_rt.asan_dynamic_x86_64.dll___asan_store4
mov eax, dword [rsp + 0x7c]
mov dword [rbx], eax
movaps xmm10, xmmword [rsp + 0x120]
movaps xmm9, xmmword [rsp + 0x130]
movaps xmm6, xmmword [rsp + 0x160]
mov r13, qword [rsp + 0x1c8]
movaps xmm12, xmmword [rsp + 0x100]
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x30], 0x45e0360e
shr rcx, 3
mov edx, 9
add rcx, qword [rsp + 0xa8]
lea r11, [rsp + 0x170]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
jmp sub.clang_rt.asan_dynamic_x86_64.dll___asan_set_shadow_00