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

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x288
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movaps xmmword [rax - 0xd8], xmm14
movaps xmmword [rax - 0xe8], xmm15
mov rax, qword [0x140424b58]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r15, r9
mov qword [rbp + 0xc0], r9
mov r14, r8
mov qword [rbp - 0x20], r8
mov r13, rdx
mov qword [rsp + 0x50], rdx
mov qword [rbp - 0x38], rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor esi, esi
mov qword [rsp + 0x70], rsi
lea edx, [rsi + 3]
lea rcx, [rsp + 0x60]
call fcn.1400283e0
movaps xmm0, xmmword [0x140354540]
movaps xmmword [rbp + 0x40], xmm0
movaps xmm1, xmmword [0x140354550]
movaps xmmword [rbp + 0x50], xmm1
movaps xmm0, xmmword [0x140354570]
movaps xmmword [rbp + 0x60], xmm0
movaps xmm1, xmmword [0x140354580]
movaps xmmword [rbp + 0x70], xmm1
mov edi, esi
mov dword [rsp + 0x30], esi
mov rbx, qword [rsp + 0x68]
cmp dword [r13 + 0x10], esi
jbe 0x140023d97
mov eax, esi
mov ecx, eax
mov rax, qword [r13 + 0x18]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
add rdx, 0x48
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140023d30
mov rdx, qword [rdx]
mov r8, qword [r15 + 0x30]
lea rcx, [r15 + 0x20]
cmp qword [r15 + 0x38], 0x10
jb 0x140023d43
mov rcx, qword [r15 + 0x20]
cmp r8, rax
jne 0x140023d85
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140023d85
cmp rbx, qword [rsp + 0x70]
je 0x140023d6a
mov dword [rbx], edi
mov rbx, qword [rsp + 0x68]
add rbx, 4
mov qword [rsp + 0x68], rbx
jmp 0x140023d85
lea r8, [rsp + 0x30]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140021930
mov rbx, qword [rsp + 0x68]
mov edi, dword [rsp + 0x30]
inc edi
mov dword [rsp + 0x30], edi
mov eax, edi
cmp edi, dword [r13 + 0x10]
jb 0x140023d10
mov r12d, 1
xorps xmm15, xmm15
movss dword [rbp - 0x50], xmm15
movss xmm8, dword [0x140354530]
mov rdi, qword [rsp + 0x60]
cmp rdi, rbx
je 0x140024297
mov rcx, qword [r13 + 0x18]
mov eax, dword [rdi]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x30]
add rax, 0x98
mov qword [rbp - 0x10], rax
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x90], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0xa0], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0xb0], xmm1
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
lea rcx, [rbp + 0x80]
call fcn.140027100
movss xmm9, dword [r15 + 0xe8]
movss dword [rbp - 0x4c], xmm9
movss xmm10, dword [r15 + 0xec]
movss dword [rbp - 0x48], xmm10
movss xmm11, dword [r15 + 0xf0]
movss dword [rsp + 0x48], xmm11
sub rbx, rdi
sar rbx, 2
mov dword [r14 + 0x460], ebx
mov eax, 4
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov qword [r14 + 0x468], rax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
sar rax, 2
test rax, rax
je 0x140024297
mov qword [rbp - 0x30], rsi
movss xmm12, dword [rbp + 0xac]
movss xmm13, dword [rbp + 0xa8]
movss xmm14, dword [rbp + 0xa4]
movss xmm0, dword [rbp + 0xa0]
movss dword [rbp - 0x44], xmm0
movss xmm1, dword [rbp + 0x9c]
movss dword [rbp - 0x40], xmm1
movss xmm2, dword [rbp + 0x98]
movss dword [rbp - 0x3c], xmm2
movss xmm3, dword [rbp + 0x94]
movss dword [rsp + 0x78], xmm3
movss xmm0, dword [rbp + 0x90]
movss dword [rsp + 0x7c], xmm0
movss xmm2, dword [rbp + 0x8c]
movss dword [rsp + 0x34], xmm2
movss xmm1, dword [rbp + 0x88]
movss dword [rsp + 0x38], xmm1
movss xmm0, dword [rbp + 0x84]
movss dword [rsp + 0x3c], xmm0
movss xmm3, dword [rbp + 0x80]
movss dword [rsp + 0x30], xmm3
movss xmm4, dword [rbp + 0x38]
movss dword [rbp - 0x54], xmm4
movss xmm4, dword [rbp + 0x34]
movss dword [rbp - 0x64], xmm4
movss xmm4, dword [rbp + 0x30]
movss dword [rbp - 0x74], xmm4
movss xmm4, dword [rbp + 0x28]
movss dword [rbp - 0x58], xmm4
movss xmm4, dword [rbp + 0x24]
movss dword [rbp - 0x68], xmm4
movss xmm4, dword [rbp + 0x20]
movss dword [rbp - 0x78], xmm4
movss xmm4, dword [rbp + 0x18]
movss dword [rbp - 0x5c], xmm4
movss xmm4, dword [rbp + 0x14]
movss dword [rbp - 0x6c], xmm4
movss xmm4, dword [rbp + 0x10]
movss dword [rbp - 0x7c], xmm4
movss xmm4, dword [rbp + 8]
movss dword [rbp - 0x60], xmm4
movss xmm4, dword [rbp + 4]
movss dword [rbp - 0x70], xmm4
movss xmm4, dword [rbp]
movss dword [rbp - 0x80], xmm4
mov r15d, esi
nop dword [rax]
mov eax, dword [rcx + rsi*4]
mov dword [rsp + 0x44], eax
mov ecx, eax
mov rax, qword [r13 + 0x18]
mov rdi, qword [rax + rcx*8]
cmp qword [rdi + 0x38], 0
jne 0x14002425c
mov rdx, qword [rdi + 0x10]
mov eax, dword [rdi + 4]
lea rcx, [rax + rax*2]
lea rbx, [rdx + rcx*4]
mov rcx, qword [rdi + 0x18]
cmp rdx, rbx
je 0x140024194
movss xmm8, dword [rbp - 0x44]
movss xmm11, dword [rbp - 0x40]
movss xmm10, dword [rbp - 0x3c]
movss xmm15, dword [rsp + 0x78]
movss xmm9, dword [rsp + 0x7c]
nop dword [rax + rax]
movss xmm5, dword [rdx + 4]
movss xmm4, dword [rdx]
movss xmm6, dword [rdx + 8]
movaps xmm7, xmm3
mulss xmm7, xmm4
mulss xmm0, xmm5
addss xmm7, xmm0
mulss xmm1, xmm6
addss xmm7, xmm1
addss xmm7, xmm2
movaps xmm3, xmm9
mulss xmm3, xmm4
movaps xmm0, xmm15
mulss xmm0, xmm5
addss xmm3, xmm0
movaps xmm1, xmm10
mulss xmm1, xmm6
addss xmm3, xmm1
addss xmm3, xmm11
movaps xmm2, xmm8
mulss xmm2, xmm4
movaps xmm0, xmm14
mulss xmm0, xmm5
addss xmm2, xmm0
movaps xmm1, xmm13
mulss xmm1, xmm6
addss xmm2, xmm1
addss xmm2, xmm12
movss dword [rbp - 0x28], xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm3
movsd qword [rdx], xmm0
mov eax, dword [rbp - 0x28]
mov dword [rdx + 8], eax
movss xmm5, dword [rcx + 4]
movss xmm4, dword [rcx]
movss xmm6, dword [rcx + 8]
movss xmm7, dword [rbp - 0x80]
mulss xmm7, xmm4
movss xmm0, dword [rbp - 0x7c]
mulss xmm0, xmm5
addss xmm7, xmm0
movss xmm1, dword [rbp - 0x78]
mulss xmm1, xmm6
addss xmm7, xmm1
addss xmm7, dword [rbp - 0x74]
movss xmm3, dword [rbp - 0x70]
mulss xmm3, xmm4
movss xmm0, dword [rbp - 0x6c]
mulss xmm0, xmm5
addss xmm3, xmm0
movss xmm1, dword [rbp - 0x68]
mulss xmm1, xmm6
addss xmm3, xmm1
addss xmm3, dword [rbp - 0x64]
movss xmm2, dword [rbp - 0x60]
mulss xmm2, xmm4
movss xmm0, dword [rbp - 0x5c]
mulss xmm0, xmm5
addss xmm2, xmm0
movss xmm1, dword [rbp - 0x58]
mulss xmm1, xmm6
addss xmm2, xmm1
addss xmm2, dword [rbp - 0x54]
movss dword [rbp + 0x88], xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm3
movsd qword [rcx], xmm0
mov eax, dword [rbp + 0x88]
mov dword [rcx + 8], eax
add rdx, 0xc
add rcx, 0xc
cmp rdx, rbx
movss xmm2, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x3c]
movss xmm3, dword [rsp + 0x30]
jne 0x140024020
movss xmm15, dword [rbp - 0x50]
movss xmm8, dword [0x140354530]
movss xmm9, dword [rbp - 0x4c]
movss xmm10, dword [rbp - 0x48]
movss xmm11, dword [rsp + 0x48]
mov rcx, qword [rbp - 0x10]
call fcn.1400268e0
comiss xmm15, xmm0
jbe 0x1400241eb
mov rcx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x10]
cmp rax, rbx
je 0x1400241d7
movss xmm0, dword [rax]
mulss xmm0, xmm8
movss dword [rax], xmm0
movss xmm1, dword [rcx]
mulss xmm1, xmm8
movss dword [rcx], xmm1
add rax, 0xc
lea rcx, [rcx + 0xc]
cmp rax, rbx
jne 0x1400241b0
call fcn.1400f2ee0
lea rdx, str.3DS:_Flipping_mesh_X_Axis
mov rcx, rax
call fcn.1400f2ef0
ucomiss xmm9, xmm15
jp 0x140024203
jne 0x140024203
ucomiss xmm10, xmm15
jp 0x140024203
jne 0x140024203
ucomiss xmm11, xmm15
jp 0x140024203
je 0x140024244
mov rax, qword [rdi + 0x10]
cmp rax, rbx
je 0x140024244
nop dword [rax]
movss xmm0, dword [rax]
subss xmm0, xmm9
movss dword [rax], xmm0
movss xmm1, dword [rax + 4]
subss xmm1, xmm10
movss dword [rax + 4], xmm1
movss xmm0, dword [rax + 8]
subss xmm0, xmm11
movss dword [rax + 8], xmm0
add rax, 0xc
cmp rax, rbx
jne 0x140024210
movss xmm2, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x3c]
movss xmm3, dword [rsp + 0x30]
mov qword [rdi + 0x38], r12
mov rax, qword [r14 + 0x468]
mov ecx, dword [rsp + 0x44]
mov dword [rax + rsi*4], ecx
inc r15d
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
sar rax, 2
mov esi, r15d
cmp rsi, rax
jb 0x140023fc0
xor esi, esi
mov r15, qword [rbp + 0xc0]
mov r9d, dword [r15 + 0x40]
cmp r9d, r12d
jle 0x14002452d
lea r10, [rbp + 0xc0]
mov r8d, 0x3b9aca00
xor r11b, r11b
mov eax, r9d
cdq
idiv r8d
test r11b, r11b
jne 0x1400242ca
test eax, eax
jne 0x1400242ca
cmp r8d, 1
jne 0x1400242e6
mov r11b, 1
lea ecx, [rax + 0x30]
mov byte [r10], cl
inc r10
inc r12d
imul eax, r8d
sub r9d, eax
cmp r8d, 1
je 0x140024304
mov eax, 0x66666667
imul r8d
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
cmp r12d, 0xc
jb 0x1400242b4
mov byte [r10], 0
lea rcx, [r15 + 0x20]
mov r12, qword [rcx + 0x10]
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, r12
cmp rax, 6
jb 0x14002533d
mov qword [rsp + 0x48], rcx
cmp qword [rcx + 0x18], 0x10
jb 0x14002433e
mov rax, qword [rcx]
mov qword [rsp + 0x48], rax
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], rsi
lea rax, [r12 + 6]
mov ebx, 0xf
lea rdi, [rbp + 0x80]
cmp rax, rbx
jbe 0x1400243e9
mov rbx, rax
or rbx, 0xf
cmp rbx, rdx
jbe 0x1400243a3
mov rbx, rdx
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14032af80
test rax, rax
je 0x14002451f
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
lea rax, [r12 + 6]
jmp 0x1400243e2
mov ecx, 0x16
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400243cb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140025343
jmp 0x14002437f
test rcx, rcx
je 0x1400243df
call fcn.14032af80
mov rdi, rax
lea rax, [r12 + 6]
jmp 0x1400243e2
mov rdi, rsi
mov qword [rbp + 0x80], rdi
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rbx
mov r8, r12
mov rdx, qword [rsp + 0x48]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [str._inst_]
mov dword [rdi + r12], eax
movzx eax, word [0x140354470]
mov word [rdi + r12 + 4], ax
mov byte [rdi + r12 + 6], 0
lea rax, [rbp + 0xc0]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140024432
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x98]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x14002448d
lea rax, [rcx + rdi]
mov qword [rbp + 0x90], rax
lea rbx, [rbp + 0x80]
cmp rdx, 0x10
cmovae rbx, qword [rbp + 0x80]
add rbx, rcx
mov r8, rdi
lea rdx, [rbp + 0xc0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rdi], 0
jmp 0x1400244ab
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0xc0]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x80]
call fcn.140021e20
mov r8, qword [rbp + 0x90]
cmp r8, 0x3ff
ja 0x1400244e7
mov qword [r14], r8
lea rdx, [rbp + 0x80]
cmp qword [rbp + 0x98], 0x10
cmovae rdx, qword [rbp + 0x80]
lea rcx, [r14 + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14]
mov byte [r14 + rax + 8], 0
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x14002455e
inc rdx
mov rcx, qword [rbp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140024526
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140024526
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a68e0
jmp 0x14002455e
mov r8, qword [r15 + 0x30]
cmp r8, 0x3ff
ja 0x14002455e
mov qword [r14], r8
lea rdx, [r15 + 0x20]
cmp qword [r15 + 0x38], 0x10
jb 0x14002454c
mov rdx, qword [r15 + 0x20]
lea rcx, [r14 + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r14]
mov byte [r14 + rax + 8], 0
lea r12, [r15 + 0x70]
mov r8, qword [r12 + 8]
mov rcx, qword [r12]
mov rdx, r8
sub rdx, rcx
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rax, rbx
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
movss xmm13, dword [0x140354214]
movss xmm11, dword [0x14035451c]
add rdx, rax
je 0x14002477b
cmp rcx, r8
je 0x1400245c8
nop dword [rax]
movss xmm0, dword [rcx + 8]
mulss xmm0, xmm8
movss dword [rcx + 8], xmm0
add rcx, 0x18
cmp rcx, r8
jne 0x1400245b0
mov rax, qword [r12]
movss xmm5, dword [rax + 0x14]
movaps xmm4, xmm5
mulss xmm4, xmm5
movss xmm8, dword [rax + 0x10]
movaps xmm9, xmm8
mulss xmm9, xmm8
movaps xmm0, xmm9
addss xmm0, xmm4
addss xmm0, xmm0
movaps xmm11, xmm13
subss xmm11, xmm0
movss xmm3, dword [rax + 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm8
movss xmm14, dword [rax + 8]
movaps xmm12, xmm14
mulss xmm12, xmm5
movaps xmm10, xmm0
subss xmm10, xmm12
addss xmm10, xmm10
movaps xmm13, xmm3
mulss xmm13, xmm5
movaps xmm1, xmm14
mulss xmm1, xmm8
movaps xmm7, xmm1
addss xmm7, xmm13
addss xmm7, xmm7
addss xmm12, xmm0
addss xmm12, xmm12
movaps xmm2, xmm3
mulss xmm2, xmm3
movaps xmm0, xmm2
addss xmm0, xmm4
addss xmm0, xmm0
movss xmm6, dword [0x140354214]
subss xmm6, xmm0
mulss xmm8, xmm5
mulss xmm14, xmm3
movaps xmm4, xmm8
subss xmm4, xmm14
addss xmm4, xmm4
subss xmm13, xmm1
addss xmm13, xmm13
addss xmm14, xmm8
addss xmm14, xmm14
addss xmm2, xmm9
addss xmm2, xmm2
movss xmm3, dword [0x140354214]
subss xmm3, xmm2
mov dword [rbp + 0x8c], 0
mov dword [rbp + 0x9c], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0xac], xmm0
mov dword [rbp + 0xbc], 0x3f800000
movups xmm0, xmmword [rbp + 0x80]
movss xmm0, xmm11
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm10
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm7
shufps xmm0, xmm0, 0xc9
movups xmmword [rbp + 0x80], xmm0
movups xmmword [r14 + 0x408], xmm0
movups xmm1, xmmword [rbp + 0x90]
movss xmm1, xmm12
shufps xmm1, xmm1, 0xe1
movss xmm1, xmm6
shufps xmm1, xmm1, 0xc6
movss xmm1, xmm4
shufps xmm1, xmm1, 0xc9
movups xmmword [r14 + 0x418], xmm1
movups xmm0, xmmword [rbp + 0xa0]
movss xmm0, xmm13
shufps xmm0, xmm0, 0xe1
movss xmm0, xmm14
shufps xmm0, xmm0, 0xc6
movss xmm0, xmm3
shufps xmm0, xmm0, 0xc9
movups xmmword [r14 + 0x428], xmm0
movups xmm0, xmmword [rbp + 0xb0]
movups xmmword [r14 + 0x438], xmm0
movss xmm11, dword [0x14035451c]
movss xmm13, dword [0x140354214]
jmp 0x14002481e
mov rcx, qword [r15 + 0xd0]
mov rax, qword [r15 + 0xd8]
sub rax, rcx
cmp rax, 0x10
jb 0x14002481e
movss xmm6, dword [rcx + 8]
xorps xmm6, xmmword [0x140354230]
mulss xmm6, xmm11
movaps xmm1, xmmword [0x140354540]
movaps xmm2, xmmword [0x140354550]
movaps xmm3, xmmword [0x140354570]
movaps xmm4, xmmword [0x140354580]
movups xmmword [r14 + 0x408], xmm1
movups xmmword [r14 + 0x418], xmm2
movups xmmword [r14 + 0x428], xmm3
movups xmmword [r14 + 0x438], xmm4
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movss dword [r14 + 0x41c], xmm0
movss dword [r14 + 0x408], xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movss dword [r14 + 0x418], xmm0
xorps xmm0, xmmword [0x140354230]
movss dword [r14 + 0x40c], xmm0
mov r8, qword [r15 + 0xa0]
mov rcx, qword [r15 + 0xa8]
sub rcx, r8
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140024921
movss xmm0, dword [r8 + 8]
mulss xmm0, dword [r14 + 0x408]
movss dword [r14 + 0x408], xmm0
movss xmm1, dword [r8 + 8]
mulss xmm1, dword [r14 + 0x418]
movss dword [r14 + 0x418], xmm1
movss xmm0, dword [r8 + 8]
mulss xmm0, dword [r14 + 0x428]
movss dword [r14 + 0x428], xmm0
movss xmm0, dword [r14 + 0x40c]
mulss xmm0, dword [r8 + 0xc]
movss dword [r14 + 0x40c], xmm0
movss xmm1, dword [r14 + 0x41c]
mulss xmm1, dword [r8 + 0xc]
movss dword [r14 + 0x41c], xmm1
movss xmm0, dword [r14 + 0x42c]
mulss xmm0, dword [r8 + 0xc]
movss dword [r14 + 0x42c], xmm0
movss xmm0, dword [r8 + 0x10]
mulss xmm0, dword [r14 + 0x410]
movss dword [r14 + 0x410], xmm0
movss xmm1, dword [r8 + 0x10]
mulss xmm1, dword [r14 + 0x420]
movss dword [r14 + 0x420], xmm1
movss xmm0, dword [r8 + 0x10]
mulss xmm0, dword [r14 + 0x430]
movss dword [r14 + 0x430], xmm0
mov r8, qword [r15 + 0x90]
mov r9, qword [r15 + 0x88]
mov rcx, r8
sub rcx, r9
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14002499a
movss xmm0, dword [r9 + 8]
addss xmm0, dword [r14 + 0x414]
movss dword [r14 + 0x414], xmm0
movss xmm1, dword [r9 + 0xc]
addss xmm1, dword [r14 + 0x424]
movss dword [r14 + 0x424], xmm1
movss xmm0, dword [r9 + 0x10]
addss xmm0, dword [r14 + 0x434]
movss dword [r14 + 0x434], xmm0
mov r8, qword [r15 + 0x90]
sub r8, qword [r15 + 0x88]
mov rax, rbx
imul r8
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x140024a4e
mov rcx, qword [r12 + 8]
sub rcx, qword [r12]
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x140024a4e
mov rcx, qword [r15 + 0xa8]
sub rcx, qword [r15 + 0xa0]
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
ja 0x140024a4e
mov rax, qword [r15 + 0xd8]
sub rax, qword [r15 + 0xd0]
sar rax, 4
cmp rax, 1
ja 0x140024a4e
mov rcx, qword [r15 + 0xc0]
sub rcx, qword [r15 + 0xb8]
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 1
jbe 0x1400251dc
mov rax, qword [r13 + 0x38]
mov rcx, qword [rax]
mov qword [rbp + 0xc0], rcx
mov rax, qword [r15 + 0xd8]
sub rax, qword [r15 + 0xd0]
sar rax, 4
cmp rax, 1
jbe 0x140024c90
call fcn.1400f2ee0
lea rdx, str.3DS:_Converting_camera_roll_track_...
mov rcx, rax
call fcn.1400f2ea0
mov r9, qword [r15 + 0xd8]
sub r9, qword [r15 + 0xd0]
sar r9, 4
mov r8, qword [r12 + 8]
mov r11, qword [r12]
mov rcx, r8
sub rcx, r11
mov rax, rbx
imul rcx
mov r10, rdx
sar r10, 2
mov rax, r10
shr rax, 0x3f
add r10, rax
cmp r9, r10
jae 0x140024ad8
lea rax, [r9 + r9*2]
lea rcx, [r11 + rax*8]
mov qword [r12 + 8], rcx
jmp 0x140024b45
jbe 0x140024b45
mov rcx, qword [r12 + 0x10]
sub rcx, r11
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jbe 0x140024b0d
lea r8, [rsp + 0x40]
mov rdx, r9
mov rcx, r12
call fcn.140021fb0
jmp 0x140024b45
sub r9, r10
je 0x140024b40
lea rax, [r8 + 0x10]
nop word [rax + rax]
mov qword [r8], rsi
mov qword [rax - 8], 0x3f800000
mov qword [rax], 0
add r8, 0x18
lea rax, [rax + 0x18]
sub r9, 1
jne 0x140024b20
mov qword [r12 + 8], r8
mov rax, qword [r15 + 0xd8]
sub rax, qword [r15 + 0xd0]
sar rax, 4
test rax, rax
je 0x140024c90
mov r12, rsi
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm8, xmm0
movaps xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm9, xmm0
movss xmm10, dword [0x140354520]
mov r13d, esi
nop dword [rax]
lea rdi, [r12 + r12*2]
mov rbx, qword [r15 + 0x70]
shl r12, 4
add r12, qword [r15 + 0xd0]
mov rax, qword [r12]
mov qword [rbx + rdi*8], rax
movss xmm6, dword [r12 + 8]
mulss xmm6, xmm11
mulss xmm6, xmm10
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm3, xmm0
movaps xmm6, xmm9
mulss xmm6, xmm9
movaps xmm4, xmm8
mulss xmm4, xmm8
movaps xmm5, xmm6
mulss xmm5, xmm7
movaps xmm1, xmm4
mulss xmm1, xmm3
subss xmm5, xmm1
movaps xmm2, xmm0
mulss xmm2, xmm8
mulss xmm2, xmm9
movaps xmm0, xmm7
mulss xmm0, xmm9
mulss xmm0, xmm8
addss xmm2, xmm0
movaps xmm1, xmm3
mulss xmm1, xmm9
mulss xmm1, xmm8
movaps xmm0, xmm7
mulss xmm0, xmm8
mulss xmm0, xmm9
subss xmm1, xmm0
mulss xmm6, xmm3
mulss xmm4, xmm7
addss xmm6, xmm4
shufps xmm5, xmm5, 0
movss xmm5, xmm2
shufps xmm5, xmm5, 0x27
movss xmm5, xmm1
shufps xmm5, xmm5, 0x39
movss xmm5, xmm6
movups xmmword [rbp + 0x80], xmm5
movups xmmword [rbx + rdi*8 + 8], xmm5
inc r13d
mov rax, qword [r15 + 0xd8]
sub rax, qword [r15 + 0xd0]
sar rax, 4
mov r12d, r13d
cmp r12, rax
jb 0x140024b90
mov r14, qword [rbp - 0x20]
mov r13, qword [rsp + 0x50]
lea r12, [r15 + 0x70]
mov edi, esi
cmp dword [r13 + 0x60], 0
jbe 0x140024cf1
nop dword [rax]
mov ecx, edi
mov rax, qword [r13 + 0x68]
mov rbx, qword [rax + rcx*8]
mov r8, qword [rbx]
cmp r8, qword [r14]
jne 0x140024ce9
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140024ce9
mov dword [rbp + 0x88], 0x3f800000
movaps xmm0, xmm15
unpcklps xmm0, xmm15
movsd qword [rbx + 0x420], xmm0
mov eax, dword [rbp + 0x88]
mov dword [rbx + 0x428], eax
inc edi
cmp edi, dword [r13 + 0x60]
jb 0x140024ca0
mov edi, esi
cmp dword [r13 + 0x50], 0
jbe 0x140024d51
nop word [rax + rax]
mov ecx, edi
mov rax, qword [r13 + 0x58]
mov rbx, qword [rax + rcx*8]
mov r8, qword [rbx]
cmp r8, qword [r14]
jne 0x140024d49
lea rdx, [r14 + 8]
lea rcx, [rbx + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140024d49
mov dword [rbp + 0x88], 0x3f800000
movaps xmm0, xmm15
unpcklps xmm0, xmm15
movsd qword [rbx + 0x418], xmm0
mov eax, dword [rbp + 0x88]
mov dword [rbx + 0x420], eax
inc edi
cmp edi, dword [r13 + 0x50]
jb 0x140024d00
mov ecx, 0x440
call fcn.14032af80
mov rbx, rax
mov qword [rsp + 0x50], rax
mov qword [rax], rsi
mov byte [rax + 8], 0
mov dword [rax + 0x408], esi
mov qword [rax + 0x410], rsi
mov dword [rax + 0x418], esi
mov qword [rax + 0x420], rsi
mov dword [rax + 0x428], esi
mov qword [rax + 0x430], rsi
mov qword [rax + 0x438], 0
mov rdx, qword [rbp + 0xc0]
mov ecx, dword [rdx + 0x418]
mov rax, qword [rdx + 0x420]
mov qword [rax + rcx*8], rbx
inc dword [rdx + 0x418]
lea rdx, [r15 + 0x20]
mov r8, qword [rdx + 0x10]
cmp r8, 0x3ff
ja 0x140024de9
mov qword [rbx], r8
cmp qword [rdx + 0x18], 0x10
jb 0x140024dd8
mov rdx, qword [rdx]
lea rcx, [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbx]
mov byte [rax + rbx + 8], 0
mov rcx, qword [r15 + 0x90]
sub rcx, qword [r15 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140024e8c
mov edi, edx
mov dword [rbx + 0x408], edi
mov eax, 0x18
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov r9, rax
mov qword [rsp + 0x50], rax
test rdi, rdi
je 0x140024e68
lea rcx, [rax + 0x10]
nop dword [rax + rax]
mov qword [rcx - 0x10], rsi
mov qword [rcx - 8], 0
mov dword [rcx], esi
lea rcx, [rcx + 0x18]
sub rdi, 1
jne 0x140024e50
mov qword [rbx + 0x410], r9
mov eax, dword [rbx + 0x408]
lea r8, [rax + rax*2]
shl r8, 3
mov rdx, qword [r15 + 0x88]
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r12 + 8]
sub rcx, qword [r12]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14002513c
mov edi, edx
mov dword [rbx + 0x418], edi
mov eax, 0x18
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov qword [rsp + 0x50], rax
test rdi, rdi
je 0x140024f0d
lea rcx, [rax + 0x10]
nop word [rax + rax]
mov qword [rcx - 0x10], rsi
mov qword [rcx - 8], 0x3f800000
mov qword [rcx], 0
lea rcx, [rcx + 0x18]
sub rdi, 1
jne 0x140024ef0
mov qword [rbx + 0x420], rax
movaps xmm0, xmmword [0x140354540]
movups xmmword [rbp + 0x80], xmm0
mov r12d, esi
cmp dword [rbx + 0x418], 0
jbe 0x14002513c
movss xmm11, dword [rbp + 0x8c]
movss xmm9, dword [rbp + 0x88]
movss xmm10, dword [rbp + 0x84]
movss xmm12, dword [rbp + 0x80]
nop word [rax + rax]
mov eax, r12d
lea rdi, [rax + rax*2]
mov rax, qword [r15 + 0x70]
test r12d, r12d
je 0x140025057
movss xmm7, dword [rax + rdi*8 + 0x14]
movss xmm8, dword [rax + rdi*8 + 8]
movss xmm5, dword [rax + rdi*8 + 0x10]
movss xmm4, dword [rax + rdi*8 + 0xc]
movaps xmm6, xmm8
mulss xmm6, xmm11
movaps xmm0, xmm7
mulss xmm0, xmm12
addss xmm6, xmm0
movaps xmm1, xmm5
mulss xmm1, xmm10
addss xmm6, xmm1
movaps xmm0, xmm4
mulss xmm0, xmm9
subss xmm6, xmm0
movaps xmm3, xmm5
mulss xmm3, xmm12
movaps xmm0, xmm8
mulss xmm0, xmm9
addss xmm3, xmm0
movaps xmm1, xmm4
mulss xmm1, xmm11
addss xmm3, xmm1
movaps xmm0, xmm7
mulss xmm0, xmm10
subss xmm3, xmm0
movaps xmm2, xmm4
mulss xmm2, xmm12
movaps xmm0, xmm8
mulss xmm0, xmm10
addss xmm2, xmm0
movaps xmm1, xmm7
mulss xmm1, xmm9
addss xmm2, xmm1
movaps xmm0, xmm5
mulss xmm0, xmm11
subss xmm2, xmm0
mulss xmm8, xmm12
mulss xmm4, xmm10
subss xmm8, xmm4
mulss xmm5, xmm9
subss xmm8, xmm5
mulss xmm7, xmm11
subss xmm8, xmm7
movss dword [rsp + 0x50], xmm8
movss dword [rsp + 0x54], xmm2
movss dword [rsp + 0x58], xmm3
movss dword [rsp + 0x5c], xmm6
lea rcx, [rsp + 0x50]
jmp 0x140025064
movups xmm0, xmmword [rax + rdi*8 + 8]
movups xmmword [rbp - 0x20], xmm0
lea rcx, [rbp - 0x20]
movups xmm6, xmmword [rcx]
mov rcx, qword [rbx + 0x420]
mov rax, qword [rax + rdi*8]
mov qword [rcx + rdi*8], rax
movaps xmm9, xmm6
shufps xmm9, xmm6, 0xaa
movaps xmm1, xmm9
mulss xmm1, xmm9
movaps xmm10, xmm6
shufps xmm10, xmm6, 0x55
movaps xmm0, xmm10
mulss xmm0, xmm10
addss xmm1, xmm0
movaps xmm11, xmm6
shufps xmm11, xmm6, 0xff
movaps xmm0, xmm11
mulss xmm0, xmm11
addss xmm1, xmm0
movaps xmm12, xmm6
movaps xmm0, xmm6
mulss xmm0, xmm12
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x1400250d5
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x1400250dd
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
ucomiss xmm0, xmm15
jp 0x1400250e5
je 0x140025120
movaps xmm1, xmm13
divss xmm1, xmm0
mulss xmm10, xmm1
movaps xmm6, xmm10
mulss xmm9, xmm1
mulss xmm11, xmm1
mulss xmm12, xmm1
shufps xmm6, xmm6, 0
movss xmm6, xmm9
shufps xmm6, xmm6, 0x27
movss xmm6, xmm11
shufps xmm6, xmm6, 0x39
movss xmm6, xmm12
mov rcx, qword [rbx + 0x420]
movups xmmword [rcx + rdi*8 + 8], xmm6
inc r12d
cmp r12d, dword [rbx + 0x418]
jb 0x140024f60
mov rcx, qword [r15 + 0xa8]
sub rcx, qword [r15 + 0xa0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rcx, rdx
shr rcx, 0x3f
add rdx, rcx
je 0x1400251dc
mov edi, edx
mov dword [rbx + 0x428], edi
mov eax, 0x18
mul rdi
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov r9, rax
mov qword [rsp + 0x50], rax
test rdi, rdi
je 0x1400251b8
lea rcx, [rax + 0x10]
nop dword [rax + rax]
mov qword [rcx - 0x10], rsi
mov qword [rcx - 8], 0
mov dword [rcx], esi
lea rcx, [rcx + 0x18]
sub rdi, 1
jne 0x1400251a0
mov qword [rbx + 0x430], r9
mov eax, dword [rbx + 0x428]
lea r8, [rax + rax*2]
shl r8, 3
mov rdx, qword [r15 + 0xa0]
mov rcx, r9
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [r15 + 0x10]
sub rax, qword [r15 + 8]
sar rax, 3
mov dword [r14 + 0x450], eax
mov rcx, qword [r15 + 0x10]
sub rcx, qword [r15 + 8]
sar rcx, 3
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1401a68d0
mov qword [r14 + 0x458], rax
mov rax, qword [r15 + 0x10]
sub rax, qword [r15 + 8]
sar rax, 3
test eax, eax
je 0x140025298
mov ebx, eax
mov rdi, qword [rbp - 0x38]
mov ecx, 0x478
call fcn.14032af80
mov qword [rbp - 0x38], rax
mov rcx, rax
call fcn.140313da0
nop
mov rcx, qword [r14 + 0x458]
mov qword [rsi + rcx], rax
mov rax, qword [r14 + 0x458]
mov rcx, qword [rsi + rax]
mov qword [rcx + 0x448], r14
mov rax, qword [r15 + 8]
mov r9, qword [rsi + rax]
mov rax, qword [r14 + 0x458]
lea rcx, [rbp + 0x40]
mov qword [rsp + 0x20], rcx
mov r8, qword [rsi + rax]
mov rdx, r13
mov rcx, rdi
call fcn.140023c20
lea rsi, [rsi + 8]
sub rbx, 1
jne 0x140025233
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1400252db
mov rdx, qword [rsp + 0x70]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400252d6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400252d6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a68e0
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.14032b620
lea r11, [rsp + 0x288]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
movaps xmm14, xmmword [r11 - 0x98]
movaps xmm15, xmmword [r11 - 0xa8]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140028540
nop
call fcn.1400072b0
int3