Function at 0x14003b580
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 - 0x218]
sub rsp, 0x2f0
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 [0x14007e010]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rdx, qword [0x14011a420]
add rdx, 0xedc66e0
xorps xmm12, xmm12
movups xmmword [rbp + 0xf8], xmm12
movsd qword [rbp + 0xf0], xmm12
movaps xmmword [rbp + 0x110], xmm12
movsd qword [rbp + 0x108], xmm12
xor eax, eax
mov dword [rbp + 0x120], eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x124], xmm0
mov qword [rbp + 0x134], rax
xor edi, edi
mov dword [rbp - 0xc], edi
mov rcx, qword [0x14011a390]
mov eax, dword [rcx + 8]
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rdx
lea rax, [rbp + 0xf0]
mov qword [rbp], rax
mov qword [rbp + 8], 0x50
mov dword [rsp + 0x58], 0x92b
lea rax, [rbp - 0x10]
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x5c], 0x129
mov rax, qword [rcx]
lea rcx, [rsp + 0x58]
call rax
lea rcx, [rbp + 0xf0]
mov r8b, 0x40
mov edx, edi
nop dword [rax + rax]
xor byte [rcx], r8b
lea eax, [rdx + 0x17]
add r8b, al
lea rcx, [rcx + 1]
inc edx
cmp edx, 0x40
jl 0x14003b6a0
cmp byte [0x14011a434], dil
je 0x14003bf47
mov rax, qword [0x14011a270]
mov dword [rax + 0x37f0], edi
mov dword [rax + 0x3fb0], 0x428c0000
mov qword [rax + 0x3fb4], 0x437a0000
mov dword [rax + 0x3fbc], edi
mov dword [rax + 0x3fa4], 1
or dword [rax + 0x3fa0], 3
mov dword [rax + 0x3fc0], 0x437a0000
mov dword [rax + 0x3fc4], 0x437a0000
mov dword [rax + 0x3fa8], 1
mov byte [rsp + 0x40], 0x30
movzx eax, byte [rsp + 0x40]
movsx rcx, byte [rsp + 0x40]
xor cl, 0x30
mov byte [rsp + 0x40], cl
mov r8d, 0x23
lea rdx, [0x14011a434]
lea rcx, [rsp + 0x40]
call fcn.14000db00
mov rcx, qword [0x14011a270]
mov rax, qword [rcx + 0x3ea0]
movss xmm14, dword [rax + 0x20]
movss dword [rsp + 0x74], xmm14
movss xmm6, dword [rax + 0x24]
movss dword [rsp + 0x70], xmm6
movss xmm11, dword [rax + 0x18]
movss dword [rsp + 0x7c], xmm11
movss xmm13, dword [rax + 0x1c]
movss dword [rsp + 0x78], xmm13
movaps xmm10, xmm14
mulss xmm10, dword [0x1400769d8]
addss xmm10, xmm11
movaps xmm9, xmm6
mulss xmm9, dword [0x1400769d8]
addss xmm9, xmm13
mov byte [rax + 0x98], 1
mov rax, qword [rcx + 0x3ea0]
mov r13, qword [rax + 0x280]
movss xmm8, dword [0x140076b7c]
mov dword [rbp + 0x50], 0x42c80000
mov dword [rbp + 0x54], 0x42c80000
mov dword [rbp + 0x58], 0x42c80000
movss xmm0, dword [rcx + 0x37e0]
mulss xmm0, dword [0x140076b98]
movss dword [rbp + 0x5c], xmm0
lea rcx, [rbp + 0x50]
call fcn.140002f80
movaps xmm7, xmm13
addss xmm7, xmm6
movaps xmm6, xmm11
addss xmm6, xmm14
movss dword [rbp - 0x68], xmm6
movss dword [rbp - 0x64], xmm7
movss dword [rbp - 0x60], xmm11
movss dword [rbp - 0x5c], xmm13
movss xmm0, dword [0x140076a2c]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 0xffffffff
xorps xmm0, xmm0
movss dword [rsp + 0x20], xmm0
mov r9d, eax
lea r8, [rbp - 0x68]
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140024320
mov rax, qword [0x14011a270]
mov dword [rbp + 0x60], 0x42c80000
mov dword [rbp + 0x64], 0x42c80000
mov dword [rbp + 0x68], 0x42c80000
movss xmm0, dword [rax + 0x37e0]
mulss xmm0, xmm8
movss dword [rbp + 0x6c], xmm0
lea rcx, [rbp + 0x60]
call fcn.140002f80
movss dword [rbp - 0x58], xmm11
movss dword [rbp - 0x54], xmm13
movss dword [rbp - 0x50], xmm10
movss dword [rbp - 0x4c], xmm9
movss xmm14, dword [0x140076a18]
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x58]
lea rdx, [rbp - 0x50]
mov rcx, r13
call fcn.1400241c0
mov rax, qword [0x14011a270]
mov dword [rbp + 0x10], 0x42c80000
mov dword [rbp + 0x14], 0x42c80000
mov dword [rbp + 0x18], 0x42c80000
movss xmm0, dword [rax + 0x37e0]
mulss xmm0, xmm8
movss dword [rbp + 0x1c], xmm0
lea rcx, [rbp + 0x10]
call fcn.140002f80
movss dword [rbp - 0x48], xmm6
movss dword [rbp - 0x44], xmm13
movss dword [rbp - 0x40], xmm10
movss dword [rbp - 0x3c], xmm9
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x48]
lea rdx, [rbp - 0x40]
mov rcx, r13
call fcn.1400241c0
movaps xmm0, xmmword [0x140076d40]
mov rax, qword [0x14011a270]
movups xmmword [rsp + 0x58], xmm0
movss xmm0, dword [rax + 0x37e0]
mulss xmm0, xmm8
movss dword [rsp + 0x64], xmm0
lea rcx, [rsp + 0x58]
call fcn.140002f80
movss dword [rbp - 0x38], xmm6
movss dword [rbp - 0x34], xmm9
movss dword [rbp - 0x30], xmm11
movss dword [rbp - 0x2c], xmm9
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x38]
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.1400241c0
mov rax, qword [0x14011a270]
mov dword [rbp + 0x30], 0x42c80000
mov dword [rbp + 0x34], 0x42c80000
mov dword [rbp + 0x38], 0x42c80000
movss xmm0, dword [rax + 0x37e0]
mulss xmm0, xmm8
movss dword [rbp + 0x3c], xmm0
lea rcx, [rbp + 0x30]
call fcn.140002f80
movss dword [rbp - 0x28], xmm10
movss dword [rbp - 0x24], xmm7
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x4c], xmm9
movss dword [rsp + 0x20], xmm14
mov r9d, eax
lea r8, [rbp - 0x28]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.1400241c0
mov rax, qword [0x14011a270]
mov dword [rbp - 0x80], 0x42c80000
mov dword [rbp - 0x7c], 0x42c80000
mov dword [rbp - 0x78], 0x42c80000
movss xmm0, dword [rax + 0x37e0]
mulss xmm0, xmm8
movss dword [rbp - 0x74], xmm0
lea rcx, [rbp - 0x80]
call fcn.140002f80
mov ebx, eax
movss dword [rsp + 0x50], xmm10
movss dword [rsp + 0x54], xmm9
test eax, 0xff000000
je 0x14003ba89
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
movss xmm2, dword [0x140076a4c]
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.1400232f0
mov r8d, dword [r13 + 0x78]
dec r8d
mov dword [r13 + 0x78], r8d
mov r9d, ebx
mov rdx, qword [r13 + 0x80]
mov rcx, r13
call fcn.140022d30
mov dword [r13 + 0x78], edi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rdi
mov rcx, qword [0x14011a4b8]
sub rcx, qword [0x14011a4b0]
movabs rsi, 0x6666666666666667
mov rax, rsi
imul rcx
mov rbx, rdx
sar rbx, 4
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov r12, rdi
je 0x14003bb3b
movabs rax, 0x666666666666666
cmp rbx, rax
ja 0x14003bfaf
mov rdx, rbx
call fcn.14006c980
mov r15, rax
mov qword [rbp + 0x70], rax
lea rcx, [rbx + rbx*4]
lea rdx, [rax + rcx*8]
mov qword [rbp + 0x80], rdx
mov rbx, qword [0x14011a4b8]
mov rdx, qword [0x14011a4b0]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov rax, rsi
imul rbx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*4]
lea r12, [r15 + rax*8]
mov qword [rbp + 0x78], r12
jmp 0x14003bb3f
mov r15, qword [rbp + 0x70]
cmp r15, r12
je 0x14003bf38
movsd xmm15, qword [0x140076d70]
movss xmm14, dword [0x140076b78]
movsd xmm13, qword [0x140076a70]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [r15 + 8]
add rcx, 0x198
mov qword [rsp + 0x50], rdi
mov dword [rbp - 0xc], edi
mov rdx, qword [0x14011a390]
mov eax, dword [rdx + 8]
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rcx
lea rax, [rsp + 0x50]
mov qword [rbp], rax
mov qword [rbp + 8], 8
mov dword [rbp + 0x88], 0x92b
lea rax, [rbp - 0x10]
mov qword [rbp + 0x90], rax
mov dword [rbp + 0x8c], 0x129
mov rax, qword [rdx]
lea rcx, [rbp + 0x88]
call rax
mov rdx, qword [rsp + 0x50]
test rdx, rdx
je 0x14003bf2b
movups xmmword [rsp + 0x60], xmm12
movsd qword [rsp + 0x58], xmm12
mov dword [rbp + 0xcc], edi
mov rcx, qword [0x14011a390]
mov eax, dword [rcx + 8]
mov dword [rbp + 0xc8], eax
lea rax, [rdx + 0x128]
mov qword [rbp + 0xd0], rax
lea rax, [rsp + 0x58]
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], 0x18
mov dword [rbp + 0x98], 0x92b
lea rax, [rbp + 0xc8]
mov qword [rbp + 0xa0], rax
mov dword [rbp + 0x9c], 0x129
mov rax, qword [rcx]
lea rcx, [rbp + 0x98]
call rax
movsd xmm0, qword [rsp + 0x58]
ucomisd xmm0, xmm12
jp 0x14003bc85
jne 0x14003bc85
movsd xmm0, qword [rsp + 0x60]
ucomisd xmm0, xmm12
jp 0x14003bc85
jne 0x14003bc85
movsd xmm0, qword [rsp + 0x68]
ucomisd xmm0, xmm12
jp 0x14003bc85
je 0x14003bf2b
mov rcx, qword [0x14011a2a8]
add rcx, 0x198
mov qword [rsp + 0x48], rdi
mov dword [rbp + 0x34], edi
mov rdx, qword [0x14011a390]
mov eax, dword [rdx + 8]
mov dword [rbp + 0x30], eax
mov qword [rbp + 0x38], rcx
lea rax, [rsp + 0x48]
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], 8
mov dword [rbp + 0xa8], 0x92b
lea rax, [rbp + 0x30]
mov qword [rbp + 0xb0], rax
mov dword [rbp + 0xac], 0x129
mov rax, qword [rdx]
lea rcx, [rbp + 0xa8]
call rax
movups xmmword [rbp - 0x78], xmm12
movsd qword [rbp - 0x80], xmm12
mov dword [rbp + 0x14], edi
mov rcx, qword [0x14011a390]
mov eax, dword [rcx + 8]
mov dword [rbp + 0x10], eax
mov rax, qword [rsp + 0x48]
add rax, 0x128
mov qword [rbp + 0x18], rax
lea rax, [rbp - 0x80]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 0x18
mov dword [rbp + 0xb8], 0x92b
lea rax, [rbp + 0x10]
mov qword [rbp + 0xc0], rax
mov dword [rbp + 0xbc], 0x129
mov rax, qword [rcx]
lea rcx, [rbp + 0xb8]
call rax
cvttss2si esi, dword [rsp + 0x70]
cvttss2si ebx, dword [rsp + 0x74]
cvttss2si r14d, dword [rsp + 0x78]
cvttss2si edi, xmm11
movsd xmm0, qword [rsp + 0x60]
subsd xmm0, qword [rbp - 0x78]
xorps xmm0, xmm15
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
movsd xmm0, qword [rsp + 0x58]
subsd xmm0, qword [rbp - 0x80]
cvtpd2ps xmm8, xmm0
movss xmm6, dword [0x14011a2e0]
addss xmm6, dword [0x140076ba0]
mulss xmm6, dword [0x1400769a0]
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
movaps xmm10, xmm0
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_sinf
movaps xmm11, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_cosf
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mulss xmm10, xmm8
mulss xmm7, xmm9
subss xmm10, xmm7
divss xmm10, xmm14
mulss xmm11, xmm8
mulss xmm0, xmm9
addss xmm11, xmm0
divss xmm11, xmm14
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
addss xmm10, xmm10
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
addss xmm10, xmm0
xorps xmm6, xmm6
xorps xmm1, xmm1
maxss xmm1, xmm10
minss xmm3, xmm1
movd xmm0, edi
cvtdq2ps xmm0, xmm0
addss xmm3, xmm0
movd xmm2, esi
cvtdq2ps xmm2, xmm2
addss xmm11, xmm11
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm11, xmm0
xorps xmm1, xmm1
maxss xmm1, xmm11
minss xmm2, xmm1
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
addss xmm2, xmm0
cvtps2pd xmm5, xmm3
cvtps2pd xmm4, xmm2
movsd xmm0, qword [rbp + 0x110]
addsd xmm0, qword [0x140076ae8]
cvtpd2ps xmm0, xmm0
movss dword [0x14011a2e0], xmm0
cvttss2si r9, dword [0x14011a368]
or r9d, 0xffffff00
shl r9d, 8
cvttss2si rax, dword [0x14011a34c]
or r9d, eax
shl r9d, 8
cvttss2si rax, dword [0x1401191b8]
or r9d, eax
movaps xmm0, xmm4
addsd xmm0, xmm13
cvtpd2ps xmm2, xmm0
movaps xmm1, xmm5
addsd xmm1, xmm13
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x20], xmm0
movss dword [rbp - 0x1c], xmm2
subsd xmm4, xmm13
cvtpd2ps xmm1, xmm4
subsd xmm5, xmm13
cvtpd2ps xmm0, xmm5
movss dword [rbp - 0x18], xmm0
movss dword [rbp - 0x14], xmm1
movss xmm0, dword [0x140076a18]
movss dword [rsp + 0x30], xmm0
xor edi, edi
mov dword [rsp + 0x28], edi
movss dword [rsp + 0x20], xmm6
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x18]
mov rcx, r13
call fcn.140024320
movss xmm11, dword [rsp + 0x7c]
add r15, 0x28
cmp r15, r12
jne 0x14003bb70
call fcn.1400100f0
nop
lea rcx, [rbp + 0x70]
call fcn.14006c550
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.14006d2a0
lea r11, [rsp + 0x2f0]
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.14006c830
int3