Function at 0x140168366
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x10], rcx
mov eax, 0x10
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x18], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x28], rax
mov qword [rcx], 0
mov qword [rcx + 8], 0
movabs rax, 0xdeb23e266c94f6ab
movabs rcx, 0xdeb23e266c94f6ab
xor rax, rcx
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x98]
add rax, 8
mov qword [rbp + 0x30], rax
mov qword [rbp + 0xa0], 0
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
xorps xmm0, xmm0
movaps xmmword [rbp + rax + 0x50], xmm0
movabs rcx, 0x8b65a95b3bacb0bd
movabs rdx, 0x8a7d54ddbd213793
xor rcx, rdx
add rax, rcx
movabs rcx, 0xba78e907988a6258
movabs rdx, 0xba78e907988a6248
xor rcx, rdx
add rax, rcx
movabs rcx, 0x2972ac2de128c3a7
movabs rdx, 0x286a51ab67a54489
xor rcx, rdx
sub rax, rcx
cmp rax, 0x40
mov qword [rbp + 0x38], rax
jne 0x14016842a
mov rax, qword [rbp + 0x28]
add rax, 0x60
mov qword [rbp], rax
mov eax, 0x179228f1
xor eax, 0x979228f1
cpuid
mov dword [rbp + 0xc], eax
mov ecx, 0xde5f4332
xor ecx, 0x21a0bccd
cmp eax, ecx
jg 0x1401685c1
lea rax, [rbp + 0x50]
mov rcx, rax
add rcx, 0x20
mov qword [rbp - 0x18], rcx
movabs rcx, 0xea507cdcf12804c0
movabs rdx, 0xea507cdcf12804d0
xor rcx, rdx
add rax, rcx
mov qword [rbp - 0x10], rax
mov eax, 0x80000000
mov dword [rbp - 4], eax
mov eax, dword [rbp - 4]
mov dword [rbp - 0x3c], eax
cpuid
mov r8d, eax
mov eax, dword [rbp - 0x3c]
mov dword [rbp - 0x38], r8d
mov r8d, ecx
mov ecx, dword [rbp - 0x38]
mov dword [rbp - 0x34], r8d
mov r8d, edx
mov edx, dword [rbp - 0x34]
movd xmm0, r8d
movd xmm1, edx
punpckldq xmm1, xmm0
movd xmm2, ebx
movd xmm0, ecx
punpckldq xmm0, xmm2
punpcklqdq xmm0, xmm1
movaps xmmword [rbp - 0x30], xmm0
sub eax, 0x80000002
je 0x140168590
jmp 0x140168548
mov eax, dword [rbp - 0x3c]
sub eax, 0x80000003
je 0x14016857f
jmp 0x14016855b
mov eax, dword [rbp - 0x3c]
sub eax, 0x80000004
jne 0x140168599
jmp 0x14016856e
mov rax, qword [rbp - 0x18]
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rax], xmm0
jmp 0x140168599
mov rax, qword [rbp - 0x10]
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rax], xmm0
jmp 0x140168599
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x50], xmm0
mov ecx, dword [rbp + 0xc]
mov edx, dword [rbp - 0x3c]
mov eax, edx
and eax, 1
mov r8d, 0xf6488fb1
xor r8d, 0xf6488fb0
or edx, r8d
add eax, edx
cmp eax, ecx
mov dword [rbp - 4], eax
jbe 0x1401684f5
mov rax, qword [0x1401a0b40]
mov qword [rbp + 0x40], rax
mov rax, qword [0x1401a0b48]
mov qword [rbp + 0x48], rax
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x50]
mov r8d, 0x40
lea r9, [rbp + 0x40]
sub rsp, 0x20
call fcn.140040bd0
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401687a8
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
add rsp, 0x20
mov rcx, rax
add rcx, 0x60
mov qword [rbp - 0x48], rcx
cmp byte [rax + 0x60], 0
jne 0x1401686f4
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x98]
mov qword [rbp - 0x58], rdx
mov rcx, qword [rax]
add rcx, 8
lea rax, [0x1401a0b69]
cmp rdx, 0
cmove rcx, rax
sub rsp, 0x20
call fcn.14009fc01
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rbp - 0x4c], ecx
cmp byte [rax], 0
jne 0x1401686f4
mov rax, qword [rbp - 0x58]
mov ecx, dword [rbp - 0x4c]
movsxd rcx, ecx
mov qword [rbp - 0x60], rcx
cmp rax, rcx
jle 0x1401686f4
mov eax, dword [rbp - 0x4c]
cmp eax, 0
jge 0x1401686dc
mov rcx, qword [rbp - 0x60]
movabs rdx, 0x42a87712a4c6bcd5
movabs rax, 0x42a87712a4c6bcd5
xor rdx, rax
movabs r8, 0x89a9dd3ef424d4bc
movabs rax, 0xf65622c10bdb2b43
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1401686f4
mov rdx, qword [rbp - 0x60]
lea rcx, [rbp + 0x98]
sub rsp, 0x20
call fcn.14001b50c
add rsp, 0x20
mov rax, qword [rbp]
mov al, byte [rax]
mov cl, 0xa0
xor cl, 0xa0
cmp al, cl
jne 0x1401687a8
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x98]
mov qword [rdx], rax
mov rax, qword [rbp + 0xa0]
mov qword [rdx + 8], rax
mov r9d, 1
lea rax, [0x1401a0b80]
sub rsp, 0x30
mov r8d, r9d
mov qword [rsp + 0x20], rax
call fcn.140039d15
mov rax, qword [rbp]
add rsp, 0x30
mov al, byte [rax]
mov cl, 0xb8
xor cl, 0xb8
cmp al, cl
jne 0x1401687a8
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x14016889c
mov rax, qword [rbp - 0x68]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
movabs rdx, 0xf0b854586c1aa399
movabs r8, 0xf0b854586c1aa399
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x70], rax
je 0x14016888b
jmp 0x14016889c
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x14016889c
mov rax, qword [rbp - 0x78]
mov rdx, qword [rax]
movabs r8, 0xac1c3829551688b
movabs rcx, 0xf53e3c7d6aae9774
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0x58b030190b1ba463
movabs r9, 0xa74fcfe6f4e45b9c
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x9a69a4dffab0b26e
movabs r8, 0xda69a4dffab0b26e
xor rdx, r8
movabs r8, 0x14e242e788206935
movabs r9, 0xeb1dbd1877df96ca
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
movabs r9, 0x4000000000000000
xor r8, r9
and rdx, r8
movabs r8, 0x5c5d7d00789889a9
movabs r9, 0xa3a282ff87677656
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x2f7596c539cfb42d
movabs r8, 0x2f7596c539cfb42d
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x70], rax
jne 0x14016889c
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x10]
lea rsp, [rbp + 0xa8]
pop rbx
pop rbp
ret