Function at 0x140004470
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x318]
sub rsp, 0x3f0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140053040]
xor rax, rsp
mov qword [rbp + 0x240], rax
xor r13d, r13d
mov qword [0x140054320], r13
xorps xmm0, xmm0
movups xmmword [0x1400544a0], xmm0
mov dword [0x1400530d0], 0x7f7fffff
mov qword [0x1400542f0], r13
movsd xmm1, qword [0x140054480]
movsd xmm10, qword [0x140048ed8]
mulsd xmm1, xmm10
cvtpd2ps xmm2, xmm1
movsd xmm0, qword [0x140054410]
mulsd xmm0, xmm10
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
movss dword [rsp + 0x54], xmm2
lea r8d, [r13 + 1]
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
test rax, rax
jne 0x14000456a
lea rcx, str.____Failed_to_create_scatter_handle_n
call fcn.14003fb90
mov r8d, 1
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
mov r15, rax
test rax, rax
jne 0x140004597
lea rcx, str.____Failed_to_create_scatter_handle_n
call fcn.14003fb90
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1f8], xmm0
mov qword [rbp + 0x208], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x1f8]
call fcn.140005f60
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x1e0]
call fcn.140005f60
nop
xorps xmm0, xmm0
movsxd rax, dword [0x1400542b8]
mov rdi, rax
movdqu xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r13
test eax, eax
je 0x140004697
movabs rax, 0x3fffffffffffffff
cmp rdi, rax
ja 0x140005c4e
lea rdi, [rdi*4]
cmp rdi, 0x1000
jb 0x140004659
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140005c48
call fcn.140040f6c
mov rcx, rax
test rax, rax
je 0x140005ba9
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x14000466b
test rdi, rdi
je 0x140004668
mov rcx, rdi
call fcn.140040f6c
jmp 0x14000466b
mov rax, r13
mov qword [rbp + 0x128], rax
lea rbx, [rdi + rax]
mov qword [rbp + 0x138], rbx
mov r8, rdi
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov qword [rbp + 0x130], rbx
mov eax, dword [0x1400542b8]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x188], xmm0
mov qword [rbp + 0x198], rcx
movsxd rdx, eax
lea rcx, [rbp + 0x188]
call fcn.140005dc0
nop
mov edi, r13d
cmp dword [0x1400542b8], r13d
jle 0x140004779
mov rsi, r13
nop dword [rax]
movsxd r14, edi
mov rax, qword [rbp + 0x128]
lea r9, [rax + r14*4]
mov rax, qword [0x1400543c8]
mov rbx, qword [rsi + rax]
mov qword [rsp + 0x20], r13
mov r8d, 4
lea rdx, [rbx + 0x5f8]
mov rcx, r15
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x14000471b
lea rdx, [rbx + 0x5f8]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
lea r9, [r14 + r14*2]
shl r9, 5
add r9, qword [rbp + 0x188]
mov rax, qword [0x1400543c8]
mov rbx, qword [rsi + rax]
mov qword [rsp + 0x20], r13
mov r8d, 0x60
lea rdx, [rbx + 0x1c0]
mov rcx, r15
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004767
lea rdx, [rbx + 0x1c0]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
inc edi
add rsi, 8
cmp edi, dword [0x1400542b8]
jl 0x1400046d0
mov ebx, dword [0x140053658]
mov rcx, r15
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
jne 0x140004798
lea rcx, str.____Failed_to_Execute_Scatter_Read_n
call fcn.14003fb90
mov r8d, 1
mov edx, ebx
mov rcx, r15
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
test eax, eax
jne 0x1400047b9
lea rcx, str.____Failed_to_clear_Scatter_n
call fcn.14003fb90
mov rcx, r15
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_CloseHandle]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x1c8]
call fcn.140005dc0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x1b0]
call fcn.140005dc0
nop
mov r8d, 1
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
mov r12, rax
test rax, rax
jne 0x14000483d
lea rcx, str.____Failed_to_create_scatter_handle_n
call fcn.14003fb90
mov edi, r13d
cmp dword [0x1400542b8], r13d
jle 0x14000497c
mov r14, r13
mov r15, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp + 0x128]
mov ecx, dword [rax + r15]
shl ecx, 4
movsxd rbx, ecx
mov rax, qword [0x1400543c8]
add rbx, qword [r14 + rax]
mov qword [rbp + 0x140], r13
mov dword [rbp + 0x120], r13d
mov qword [rsp + 0x30], 1
lea rax, [rbp + 0x120]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 8
lea r9, [rbp + 0x140]
lea r8, [rbx + 0x5b0]
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_MemReadEx]
test eax, eax
jne 0x1400048df
lea rdx, [rbx + 0x5b0]
lea rcx, str.____Failed_to_read_Memory_at_0x_p_n
call fcn.14003fb90
movsxd rax, edi
lea rbx, [rax + rax*2]
shl rbx, 5
mov r9, qword [rbp + 0x1c8]
add r9, rbx
mov rsi, qword [rbp + 0x140]
mov qword [rsp + 0x20], 0
mov r8d, 0x60
lea rdx, [rsi + 0x2940]
mov rcx, r12
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004931
lea rdx, [rsi + 0x2940]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov r9, qword [rbp + 0x1b0]
add r9, rbx
xor r13d, r13d
mov qword [rsp + 0x20], r13
lea r8d, [r13 + 0x60]
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004966
mov rdx, rsi
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
inc edi
add r15, 4
add r14, 8
cmp edi, dword [0x1400542b8]
jl 0x140004860
mov ebx, dword [0x140053658]
mov rcx, r12
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
jne 0x14000499b
lea rcx, str.____Failed_to_Execute_Scatter_Read_n
call fcn.14003fb90
mov r8d, 1
mov edx, ebx
mov rcx, r12
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
test eax, eax
jne 0x1400049bc
lea rcx, str.____Failed_to_clear_Scatter_n
call fcn.14003fb90
mov rcx, r12
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_CloseHandle]
mov ebx, r13d
cmp dword [0x1400542b8], 0
jle 0x140004b90
mov r10, r13
nop dword [rax + rax]
movsxd rax, ebx
lea r9, [rax + rax*2]
shl r9, 5
mov rcx, qword [rbp + 0x188]
add rcx, r9
lea rdx, [rbp + 0xa0]
call fcn.140003190
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
mov rcx, qword [rbp + 0x1c8]
add rcx, r9
lea rdx, [rbp + 0xe0]
call fcn.140003190
movaps xmmword [rbp - 0x60], xmm6
movaps xmmword [rbp - 0x50], xmm7
movaps xmmword [rbp - 0x40], xmm8
movaps xmmword [rbp - 0x30], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x20], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x30], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x40], xmm1
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x50]
call fcn.140038eb0
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x40], xmm0
movups xmm2, xmmword [rax + 0x30]
mov rax, qword [rbp + 0x1f8]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rax + r10], xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rax + r10 + 8], xmm0
shufps xmm2, xmm2, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rax + r10 + 0x10], xmm0
mov rcx, qword [rbp + 0x188]
add rcx, r9
lea rdx, [rbp + 0x50]
call fcn.140003190
movups xmm6, xmmword [rax]
movups xmm7, xmmword [rax + 0x10]
movups xmm8, xmmword [rax + 0x20]
movups xmm9, xmmword [rax + 0x30]
mov rcx, qword [rbp + 0x1b0]
add rcx, r9
lea rdx, [rbp + 0xe0]
call fcn.140003190
movaps xmmword [rbp + 0x10], xmm6
movaps xmmword [rbp + 0x20], xmm7
movaps xmmword [rbp + 0x30], xmm8
movaps xmmword [rbp + 0x40], xmm9
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x30], xmm1
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0xa0]
call fcn.140038eb0
movups xmm2, xmmword [rax + 0x30]
mov rax, qword [rbp + 0x1e0]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rax + r10], xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rax + r10 + 8], xmm0
shufps xmm2, xmm2, 0xaa
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rax + r10 + 0x10], xmm0
inc ebx
lea r10, [r10 + 0x18]
cmp ebx, dword [0x1400542b8]
jl 0x1400049e0
mov r8d, 1
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
mov rbx, rax
test rax, rax
jne 0x140004bbd
lea rcx, str.____Failed_to_create_scatter_handle_n
call fcn.14003fb90
mov rdi, qword [0x1400542f8]
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x210]
mov r8d, 8
lea rdx, [rdi + 0x110]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004bfd
lea rdx, [rdi + 0x110]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov rdi, qword [0x1400542f8]
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x1a8]
mov r8d, 8
lea rdx, [rdi + 0x120]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004c3d
lea rdx, [rdi + 0x120]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov edi, dword [0x140053658]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
jne 0x140004c5c
lea rcx, str.____Failed_to_Execute_Scatter_Read_n
call fcn.14003fb90
mov r8d, 1
mov edx, edi
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
test eax, eax
jne 0x140004c7d
lea rcx, str.____Failed_to_clear_Scatter_n
call fcn.14003fb90
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_CloseHandle]
xorps xmm1, xmm1
movsd qword [rbp + 0x78], xmm1
mov r15, qword [0x1400542c0]
mov r14, qword [rbp + 0x210]
mov rdi, qword [rbp + 0x1a8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x228], xmm0
movsd qword [rbp + 0x238], xmm1
mov r8d, 1
mov edx, dword [0x140053658]
mov rcx, qword [0x1400549b0]
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Initialize]
mov rbx, rax
test rax, rax
jne 0x140004ce2
lea rcx, str.____Failed_to_create_scatter_handle_n
call fcn.14003fb90
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x218]
mov r8d, 8
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004d13
mov rdx, rdi
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x1a0]
mov r8d, 8
lea rdx, [rdi + 0x20]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004d46
lea rdx, [rdi + 0x20]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x220]
mov r8d, 8
lea rdx, [rdi + 0x1d0]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004d7f
lea rdx, [rdi + 0x1d0]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x228]
mov r8d, 0x18
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004db0
mov rdx, r14
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x150]
mov r8d, 4
lea rdx, [r15 + 0x394]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_PrepareEx]
test eax, eax
jne 0x140004de9
lea rdx, [r15 + 0x394]
lea rcx, str.____Failed_to_prepare_scatter_read_at_0x_p_n
call fcn.14003fb90
mov edi, dword [0x140053658]
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_ExecuteRead]
test eax, eax
jne 0x140004e08
lea rcx, str.____Failed_to_Execute_Scatter_Read_n
call fcn.14003fb90
mov r8d, 1
mov edx, edi
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_Clear]
test eax, eax
jne 0x140004e29
lea rcx, str.____Failed_to_clear_Scatter_n
call fcn.14003fb90
mov rcx, rbx
call qword [sym.imp.VMM.dll_VMMDLL_Scatter_CloseHandle]
movsd xmm0, qword [rbp + 0x220]
call sub.api_ms_win_crt_math_l1_1_0.dll_asin
movaps xmm8, xmm0
mulsd xmm8, qword [0x140048f28]
movsd xmm0, qword [rbp + 0x218]
movsd xmm7, qword [0x140049018]
mulsd xmm0, xmm7
movsd xmm1, qword [rbp + 0x1a0]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
mulsd xmm0, qword [0x140048f28]
mulsd xmm0, xmm7
mulsd xmm0, xmm7
movss xmm3, dword [rbp + 0x150]
mulss xmm3, dword [0x140048fac]
movups xmm6, xmmword [rbp + 0x228]
movups xmmword [rbp - 0x70], xmm6
movsd xmm2, qword [rbp + 0x238]
unpcklpd xmm8, xmm0
movups xmmword [rbp - 0x48], xmm8
movsd xmm0, qword [rbp + 0x78]
movups xmm14, xmmword [rbp - 0x50]
movsd xmm14, xmm2
movups xmmword [rbp], xmm14
movups xmm7, xmmword [rbp - 0x40]
unpcklpd xmm7, xmm0
movups xmmword [rbp - 0x10], xmm7
movsd xmm0, qword [rbp - 0x30]
movss xmm0, xmm3
movsd qword [rbp - 0x30], xmm0
movaps xmm8, xmm0
movsd qword [rsp + 0x58], xmm0
movsd qword [rbp - 0x30], xmm0
xorps xmm1, xmm1
xor eax, eax
movups xmmword [rbp + 0x170], xmm1
mov qword [rbp + 0x180], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x170]
call fcn.140005cc0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x158], xmm0
mov qword [rbp + 0x168], rax
movsxd rdx, dword [0x1400542b8]
lea rcx, [rbp + 0x158]
call fcn.140005cc0
nop
mov esi, r13d
cmp dword [0x1400542b8], 0
jle 0x14000530e
mov rdi, r13
mov rbx, r13
movss xmm0, dword [rbp - 0x30]
movss dword [rbp + 0x120], xmm0
movaps xmm2, xmm7
unpckhpd xmm2, xmm7
movaps xmmword [rbp - 0x20], xmm2
movaps xmm1, xmm14
unpckhpd xmm1, xmm14
movaps xmmword [rbp + 0x140], xmm1
movaps xmm0, xmm6
unpckhpd xmm0, xmm6
movaps xmmword [rsp + 0x40], xmm0
movsd xmm3, qword [0x140048ef8]
movsd xmm4, qword [0x140048f38]
nop
movups xmmword [0x140053620], xmm6
movups xmmword [0x140053630], xmm14
movups xmmword [0x140053640], xmm7
movsd qword [0x140053650], xmm8
movaps xmm0, xmm1
mulsd xmm0, xmm3
divsd xmm0, xmm4
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm1, xmm7
mulsd xmm1, xmm3
divsd xmm1, xmm4
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm1
mulsd xmm2, xmm3
divsd xmm2, xmm4
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm2
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm9, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm15, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm10, xmm0
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm13, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_sinf
movaps xmm7, xmm0
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm4, xmm0
movaps xmm3, xmm7
mulss xmm3, xmm9
movaps xmm5, xmm0
mulss xmm5, xmm9
xorps xmm12, xmm12
cvtss2sd xmm12, xmm9
movaps xmm1, xmm10
mulss xmm1, xmm15
xorps xmm11, xmm11
cvtss2sd xmm11, xmm1
movaps xmm2, xmm7
xorps xmm2, xmmword [0x1400491c0]
mulss xmm2, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm2
movsd qword [rsp + 0x78], xmm0
movaps xmm1, xmm3
mulss xmm1, xmm10
movaps xmm0, xmm4
mulss xmm0, xmm13
addss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
movsd qword [rbp - 0x80], xmm0
mulss xmm3, xmm13
movaps xmm0, xmm4
mulss xmm0, xmm10
subss xmm3, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movsd qword [rbp - 0x78], xmm0
mulss xmm4, xmm15
xorps xmm2, xmm2
cvtss2sd xmm2, xmm4
movaps xmm1, xmm7
mulss xmm1, xmm13
movaps xmm0, xmm5
mulss xmm0, xmm10
subss xmm1, xmm0
cvtss2sd xmm1, xmm1
mov rax, qword [rbp + 0x1f8]
movsd xmm8, qword [rax + rbx + 0x10]
subsd xmm8, xmm14
movsd xmm6, qword [rax + rbx + 8]
movaps xmm3, xmmword [rsp + 0x40]
subsd xmm6, xmm3
movsd xmm9, qword [rax + rbx]
subsd xmm9, qword [rbp - 0x70]
mov rax, qword [rbp + 0x1e0]
movsd xmm0, qword [rax + rbx + 0x10]
subsd xmm0, xmm14
movsd qword [rsp + 0x60], xmm0
movsd xmm14, qword [rax + rbx + 8]
subsd xmm14, xmm3
movsd xmm0, qword [rax + rbx]
movsd qword [rsp + 0x68], xmm0
mulsd xmm1, xmm6
mulss xmm5, xmm13
mulss xmm7, xmm10
addss xmm5, xmm7
xorps xmm0, xmm0
cvtss2sd xmm0, xmm5
mulsd xmm0, xmm9
subsd xmm1, xmm0
mulsd xmm2, xmm8
addsd xmm1, xmm2
movsd qword [rsp + 0x70], xmm1
mulss xmm13, xmm15
xorps xmm0, xmm0
cvtss2sd xmm0, xmm13
mulsd xmm0, xmm9
mulsd xmm11, xmm6
addsd xmm0, xmm11
mulsd xmm12, xmm8
addsd xmm0, xmm12
movsd xmm7, qword [0x140048ee0]
maxsd xmm7, xmm0
movss xmm0, dword [rbp + 0x120]
movss xmm13, dword [0x140048f24]
mulss xmm0, xmm13
movss xmm15, dword [0x140048fe0]
divss xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movss xmm1, dword [0x140048ff8]
divss xmm1, xmm0
cvtps2pd xmm2, xmm1
mov rax, qword [rbp + 0x170]
movsd xmm10, qword [rbp - 0x78]
mulsd xmm9, xmm10
movsd xmm11, qword [rbp - 0x80]
mulsd xmm6, xmm11
addsd xmm9, xmm6
movsd xmm12, qword [rsp + 0x78]
mulsd xmm8, xmm12
addsd xmm9, xmm8
mulsd xmm9, xmm2
divsd xmm9, xmm7
movsd xmm8, qword [0x140048f50]
addsd xmm9, xmm8
movsd qword [rax + rdi], xmm9
movsd xmm6, qword [rsp + 0x70]
mulsd xmm2, xmm6
divsd xmm2, xmm7
movsd xmm9, qword [0x140048f48]
movaps xmm0, xmm9
subsd xmm0, xmm2
movsd qword [rax + rdi + 8], xmm0
movss xmm0, dword [0x140053650]
mulss xmm0, xmm13
divss xmm0, xmm15
call sub.api_ms_win_crt_math_l1_1_0.dll_tanf
movss xmm1, dword [0x140048ff8]
divss xmm1, xmm0
cvtps2pd xmm2, xmm1
mov rax, qword [rbp + 0x158]
movsd xmm1, qword [rsp + 0x68]
subsd xmm1, qword [rbp - 0x70]
mulsd xmm1, xmm10
mulsd xmm14, xmm11
addsd xmm1, xmm14
movsd xmm0, qword [rsp + 0x60]
mulsd xmm0, xmm12
addsd xmm1, xmm0
mulsd xmm1, xmm2
divsd xmm1, xmm7
addsd xmm1, xmm8
movsd qword [rax + rdi], xmm1
mulsd xmm6, xmm2
divsd xmm6, xmm7
movaps xmm0, xmm9
subsd xmm0, xmm6
movsd qword [rax + rdi + 8], xmm0
inc esi
add rbx, 0x18
add rdi, 0x10
cmp esi, dword [0x1400542b8]
movups xmm14, xmmword [rbp]
movups xmm7, xmmword [rbp - 0x10]
movups xmm6, xmmword [rbp - 0x70]
movaps xmm2, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp + 0x140]
movsd xmm8, qword [rsp + 0x58]
movsd xmm3, qword [0x140048ef8]
movsd xmm4, qword [0x140048f38]
jl 0x140004f90
movsd xmm10, qword [0x140048ed8]
mov r9d, r13d
cmp dword [0x1400542b8], 0
jle 0x14000538f
mov r10, r13
movss xmm1, dword [0x140048e78]
nop word [rax + rax]
mov rax, qword [0x140054418]
movss xmm0, dword [r10 + rax]
addss xmm0, xmm1
mov rax, qword [0x140054450]
comiss xmm0, dword [r10 + rax]
setae al
movsxd rcx, r9d
mov r8, rcx
shr r8, 5
mov r11, qword [0x140054430]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r11 + r8*4]
test al, al
je 0x140005377
or edx, ecx
jmp 0x14000537b
not edx
and edx, ecx
mov dword [r11 + r8*4], edx
inc r9d
add r10, 4
cmp r9d, dword [0x1400542b8]
jl 0x140005330
mov edi, r13d
cmp dword [0x1400542b8], 0
jle 0x140005a8d
mov rsi, r13
mov rbx, r13
movss xmm14, dword [0x140048e9c]
movss xmm11, dword [0x140048eec]
movss xmm15, dword [0x140048f74]
mov rax, qword [0x140054468]
cmp qword [rbx + rax], 0
je 0x140005a74
mov rax, qword [0x1400543f8]
mov rcx, qword [rbx + rax]
test rcx, rcx
je 0x140005a74
mov rax, qword [0x1400543e0]
cmp qword [0x140054308], rcx
je 0x140005a74
movsxd rax, dword [rbx + rax]
cmp qword [0x140054318], rax
je 0x140005a74
mov rax, qword [0x1400543c8]
mov r13, qword [rbx + rax]
test r13, r13
je 0x140005a74
mov rax, qword [rbp + 0x170]
movsd xmm9, qword [rax + rsi]
movsd xmm8, qword [rax + rsi + 8]
mov rax, qword [rbp + 0x158]
movsd xmm13, qword [rax + rsi]
movsd xmm12, qword [rax + rsi + 8]
movaps xmm0, xmm8
subsd xmm0, xmm12
andps xmm0, xmmword [0x1400491a0]
cvtpd2ps xmm7, xmm0
movaps xmm6, xmm7
mulss xmm6, dword [0x140048e94]
cmp byte [0x1400530cd], 0
je 0x140005532
mov r15, qword [0x140054330]
add r15, 0x1cc8
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
mov r12d, eax
movd xmm2, dword [0x1400530c0]
cvtdq2ps xmm2, xmm2
test eax, 0xff000000
je 0x140005532
subss xmm2, xmm14
mov dword [rsp + 0x28], 0x64
movss xmm0, dword [0x140048f68]
movss dword [rsp + 0x20], xmm0
xorps xmm3, xmm3
lea rdx, [rsp + 0x50]
mov rcx, r15
call fcn.140024450
movss dword [rsp + 0x28], xmm11
mov byte [rsp + 0x20], 1
mov r9d, r12d
mov r8d, dword [r15 + 0x80]
mov rdx, qword [r15 + 0x88]
mov rcx, r15
call fcn.140022c60
mov ecx, dword [r15 + 0x84]
test ecx, ecx
jns 0x140005527
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor edx, edx
test eax, eax
cmovg edx, eax
lea rcx, [r15 + 0x80]
call fcn.1400191a0
mov dword [r15 + 0x80], 0
cmp byte [0x1400530c7], 0
je 0x140005632
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
movsxd rcx, edi
mov r8, rcx
shr r8, 5
mov rdx, qword [0x140054430]
and cl, 0x1f
mov eax, 1
shl eax, cl
test dword [rdx + r8*4], eax
je 0x14000557c
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x48], 0
lea rcx, [rsp + 0x40]
call fcn.140008c00
mov r9d, eax
cmp byte [0x140054310], 0
je 0x1400055b5
cvtpd2ps xmm1, xmm8
cvtpd2ps xmm0, xmm9
movss dword [rbp + 0x140], xmm0
movss dword [rbp + 0x144], xmm1
lea r8, [rbp + 0x140]
jmp 0x140005613
cmp byte [0x1400530c5], 0
je 0x1400055fb
movaps xmm0, xmm8
addsd xmm0, xmm12
mulsd xmm0, xmm10
cvtpd2ps xmm2, xmm0
movaps xmm1, xmm9
addsd xmm1, xmm13
mulsd xmm1, xmm10
cvtpd2ps xmm0, xmm1
movss dword [rbp + 0x120], xmm0
movss dword [rbp + 0x124], xmm2
lea r8, [rbp + 0x120]
jmp 0x140005613
cvtpd2ps xmm1, xmm12
cvtpd2ps xmm0, xmm13
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm1
lea r8, [rbp - 0x20]
mov rcx, qword [0x140054330]
movss dword [rsp + 0x20], xmm11
lea rdx, [rsp + 0x50]
add rcx, 0x1cc8
call fcn.1400249e0
cmp byte [0x1400530c4], 0
je 0x1400056ce
comiss xmm15, xmm7
jbe 0x140005651
movaps xmm7, xmm15
movss xmm6, dword [0x140048f58]
movaps xmm0, xmmword [0x140049120]
movups xmmword [rsp + 0x40], xmm0
movsxd rcx, edi
mov r8, rcx
shr r8, 5
mov rdx, qword [0x140054430]
and cl, 0x1f
mov eax, 1
shl eax, cl
test dword [rdx + r8*4], eax
je 0x140005693
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0x3f800000
movups xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
cvttss2si r9d, xmm7
cvttss2si r8d, xmm6
cvttsd2si edx, xmm8
movaps xmm0, xmm6
mulss xmm0, xmm14
cvtps2pd xmm1, xmm0
movaps xmm2, xmm9
subsd xmm2, xmm1
cvttsd2si ecx, xmm2
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.140038ae0
cmp byte [0x1400542be], 0
je 0x14000576e
mov r10, qword [0x140054330]
movaps xmm0, xmmword [0x1400490f0]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
addsd xmm0, xmm8
cvtpd2ps xmm1, xmm0
mulss xmm6, xmm14
cvtps2pd xmm2, xmm6
movaps xmm0, xmm9
addsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x10], xmm0
movss dword [rbp - 0xc], xmm1
cvtpd2ps xmm1, xmm8
movaps xmm0, xmm9
subsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rbp], xmm0
movss dword [rbp + 4], xmm1
mov dword [rsp + 0x28], 0x64
movss xmm0, dword [0x140048ec0]
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x10]
lea rdx, [rbp]
lea rcx, [r10 + 0x1cc8]
call fcn.140024ca0
cmp byte [0x1400530cc], 0
je 0x140005994
mov r10, qword [0x140054330]
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
movsd xmm0, qword [0x140054480]
mulsd xmm0, xmm10
cvtpd2ps xmm2, xmm0
movsd xmm1, qword [0x140054410]
mulsd xmm1, xmm10
movaps xmm0, xmm1
addsd xmm0, qword [0x140048ee0]
cvtpd2ps xmm0, xmm0
movss dword [rbp - 0x70], xmm0
movss dword [rbp - 0x6c], xmm2
subsd xmm1, qword [0x140048f10]
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x5c], xmm2
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x58]
lea rcx, [r10 + 0x1cc8]
call fcn.1400249e0
mov r10, qword [0x140054330]
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
movsd xmm0, qword [0x140054480]
mulsd xmm0, xmm10
cvtpd2ps xmm2, xmm0
movsd xmm1, qword [0x140054410]
mulsd xmm1, xmm10
movaps xmm0, xmm1
addsd xmm0, qword [0x140048ee0]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm2
addsd xmm1, qword [0x140048f18]
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x68], xmm0
movss dword [rsp + 0x6c], xmm2
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x68]
lea rcx, [r10 + 0x1cc8]
call fcn.1400249e0
mov r10, qword [0x140054330]
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
movsd xmm3, qword [0x140054480]
mulsd xmm3, xmm10
cvtpd2ps xmm1, xmm3
movsd xmm0, qword [0x140054410]
mulsd xmm0, xmm10
cvtpd2ps xmm2, xmm0
movss dword [rsp + 0x70], xmm2
movss dword [rsp + 0x74], xmm1
subsd xmm3, qword [0x140048f10]
cvtpd2ps xmm0, xmm3
movss dword [rsp + 0x78], xmm2
movss dword [rsp + 0x7c], xmm0
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x78]
lea rcx, [r10 + 0x1cc8]
call fcn.1400249e0
mov r10, qword [0x140054330]
movaps xmm0, xmmword [0x140049180]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.140008c00
movsd xmm3, qword [0x140054480]
mulsd xmm3, xmm10
cvtpd2ps xmm1, xmm3
movsd xmm0, qword [0x140054410]
mulsd xmm0, xmm10
cvtpd2ps xmm2, xmm0
movss dword [rbp - 0x80], xmm2
movss dword [rbp - 0x7c], xmm1
addsd xmm3, qword [0x140048f18]
cvtpd2ps xmm0, xmm3
movss dword [rbp - 0x78], xmm2
movss dword [rbp - 0x74], xmm0
movss dword [rsp + 0x20], xmm11
mov r9d, eax
lea r8, [rbp - 0x80]
lea rdx, [rbp - 0x78]
lea rcx, [r10 + 0x1cc8]
call fcn.1400249e0
cmp byte [0x1400542bf], 0
je 0x1400059c2
movsxd rcx, edi
mov r8, rcx
shr r8, 5
mov rdx, qword [0x140054430]
and cl, 0x1f
mov eax, 1
shl eax, cl
test dword [rdx + r8*4], eax
je 0x140005a74
movsd xmm7, qword [0x140054480]
mulsd xmm7, xmm10
movsd xmm0, qword [0x140054410]
mulsd xmm0, xmm10
subsd xmm0, xmm9
movsd xmm1, qword [0x140048ef0]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
subsd xmm7, xmm8
movsd xmm1, qword [0x140048ef0]
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x140005a19
sqrtsd xmm0, xmm0
jmp 0x140005a1e
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movd xmm1, dword [0x1400530c0]
cvtdq2pd xmm1, xmm1
comisd xmm1, xmm0
jbe 0x140005a74
movss xmm1, dword [0x1400530d0]
cvtps2pd xmm1, xmm1
comisd xmm1, xmm0
jbe 0x140005a74
cvtsd2ss xmm0, xmm0
movss dword [0x1400530d0], xmm0
mov rax, qword [0x140054300]
mov qword [0x140054320], rax
movsd qword [0x1400544a0], xmm9
movsd qword [0x1400544a8], xmm8
mov qword [0x1400542f0], r13
inc edi
add rbx, 8
add rsi, 0x10
cmp edi, dword [0x1400542b8]
jl 0x1400053c0
xor r13d, r13d
mov rcx, qword [rbp + 0x158]
test rcx, rcx
je 0x140005ae6
mov rdx, qword [rbp + 0x168]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005acf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005acf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400411f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x158], xmm0
mov qword [rbp + 0x168], r13
mov rcx, qword [rbp + 0x170]
test rcx, rcx
je 0x140005b3f
mov rdx, qword [rbp + 0x180]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005b28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005b28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400411f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], r13
lea rcx, [rbp + 0x1b0]
call fcn.1400063d0
nop
lea rcx, [rbp + 0x1c8]
call fcn.1400063d0
nop
lea rcx, [rbp + 0x188]
call fcn.1400063d0
nop
mov rcx, qword [rbp + 0x128]
test rcx, rcx
je 0x140005bc7
mov rax, qword [rbp + 0x138]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005bb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005bb0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400411f0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x128], xmm0
mov qword [rbp + 0x138], r13
lea rcx, [rbp + 0x1e0]
call fcn.140006450
nop
lea rcx, [rbp + 0x1f8]
call fcn.140006450
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.140040cb0
lea r11, [rsp + 0x3f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140001400
nop
call fcn.140006c10
int3