Function at 0x14016d300
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov eax, dword [0x140225660]
add eax, dword [0x140225664]
imul eax, eax, 0xee0fa48d
add eax, 0x7ceef2cb
imul rax, rax, 0x3a3e6705
shr rax, 0x3d
cmp eax, 0x5e6b6658
ja 0x14016d39a
mov r9d, dword [0x140225668]
xor r9d, dword [0x14022566c]
mov eax, 0
mov ecx, 0
mov r8, rbx
cpuid
xchg rbx, r8
mov r15d, eax
mov eax, r9d
not eax
or eax, 0x81104800
and eax, 0x91186d7a
and r9d, 0x68450004
or r9d, eax
xor r9d, 0x286825c4
mov eax, r9d
and eax, 0xb8494176
or r9d, 0xba49c177
add r9d, eax
cmp r9d, 0xffd6f538
jbe 0x14016d3a8
xor eax, eax
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
jmp 0x14016d33c
mov esi, ecx
nop word [rax + rax]
mov eax, dword [0x140225670]
sub eax, dword [0x140225674]
mov ecx, eax
not ecx
and ecx, 0x4b15c947
mov r9d, eax
and r9d, 0xb4ea36b8
imul r9d, ecx
mov ecx, eax
and ecx, 0x4b15c947
or eax, 0x4b15c947
imul eax, ecx
add eax, r9d
mov ecx, eax
not ecx
or ecx, 0x59250e2a
add eax, ecx
inc eax
or eax, 0x915549c8
cmp eax, 0x7dc888c2
je 0x14016d3b0
shl rdx, 0x20
mov r14d, r8d
or r14, rdx
nop dword [rax + rax]
mov eax, dword [0x140225678]
or eax, dword [0x14022567c]
mov ecx, eax
and ecx, 0x73acc428
and eax, 0x31a44028
mov edx, ecx
xor edx, 0x4a1a94c6
add edx, ecx
sub edx, eax
imul rax, rdx, 0x11415c9d
shr rax, 0x3b
cmp eax, 0xe660d3ad
ja 0x14016d410
test r15d, r15d
je 0x14016d4b2
mov eax, dword [0x140225680]
mov ecx, dword [0x140225684]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0x905a5cd2
mov ecx, eax
not ecx
and ecx, 0x5f8b0ebb
mov edx, eax
and edx, 0xa074f144
imul edx, ecx
mov ecx, eax
and ecx, 0x5f8b0eba
or eax, 0x5f8b0ebb
imul eax, ecx
add eax, edx
and eax, 0xd0a0074a
cmp eax, 0x864ed764
jbe 0x14016d4b9
jmp 0x14016d50a
xor eax, eax
jmp 0x14016e171
mov eax, dword [0x140225688]
mov ecx, dword [0x14022568c]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not eax
and eax, ecx
not eax
or eax, 0xad97f4ee
mov r10d, 0x800182b1
imul r10, rax
shr r10, 0x3e
add r10d, 0x74cf4ab6
mov ecx, 0
mov eax, 1
mov r8, rbx
cpuid
xchg rbx, r8
cmp r10d, 0xc5303d52
jbe 0x14016d51b
mov eax, 1
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
jmp 0x14016d4b9
mov edi, edx
mov r8d, ecx
mov eax, dword [0x140225690]
mov ecx, dword [0x140225694]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
mov eax, ecx
not eax
or eax, 0xb40a6ed2
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x6f49eafb
and ecx, eax
add ecx, 0x8b4fb6a3
cmp ecx, 0x5f58ff58
jb 0x14016d520
nop dword [rax]
mov eax, dword [0x140225698]
add eax, dword [0x14022569c]
xor eax, 0xeee59da0
imul rax, rax, 0x7953d62f
shr rax, 0x3d
imul eax, eax, 0x5db3e7e0
cmp eax, 0x2c3f6700
ja 0x14016d560
cmp r15d, 7
jb 0x14016d6b2
xor eax, eax
test al, al
je 0x14016d5c0
mov eax, 7
xor ecx, ecx
mov r9, rbx
cpuid
xchg rbx, r9
mov eax, 7
mov ecx, 1
mov r9, rbx
cpuid
xchg rbx, r9
nop word [rax + rax]
mov eax, dword [0x1402256a0]
mov ecx, dword [0x1402256a4]
mov edx, ecx
not edx
mov r10d, eax
and r10d, edx
or edx, eax
not edx
imul edx, r10d
mov r10d, eax
and r10d, ecx
or eax, ecx
imul eax, r10d
lea ebx, [rax + rdx]
add ebx, 0xf1b9fe16
or ebx, 0x2ff632d6
add ebx, 0xc8ade94a
mov eax, 7
mov ecx, 0
mov r13, rbx
cpuid
xchg rbx, r13
mov r10d, edx
mov r11d, ecx
mov eax, 7
mov ecx, 1
mov rbp, rbx
cpuid
xchg rbx, rbp
cmp ebx, 0x4ce28084
jb 0x14016d5c0
mov ecx, r11d
mov qword [rsp + 0x40], rcx
nop dword [rax]
mov ecx, dword [0x1402256ac]
add ecx, dword [0x1402256a8]
mov edx, ecx
xor edx, 0xa2a65d
xor ecx, 0x14104882
and ecx, 0x1410cade
mov r11d, edx
and r11d, 0xebef3521
imul r11d, ecx
mov ecx, edx
and ecx, 0x1410cade
or edx, 0x1410cade
imul edx, ecx
add edx, r11d
mov ecx, edx
and ecx, 0xad12de96
or edx, 0xad12de96
add edx, ecx
cmp edx, 0x84501364
je 0x14016d640
mov ecx, r10d
mov qword [rsp + 0x38], rcx
mov ecx, eax
not ecx
or ecx, 0x20
lea r9d, [rax + rcx]
inc r9d
jmp 0x14016d6c6
xor r13d, r13d
xor eax, eax
mov qword [rsp + 0x40], rax
xor eax, eax
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov eax, 0x80000000
xor ecx, ecx
mov r10, rbx
cpuid
xchg rbx, r10
test eax, eax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r14
mov dword [rsp + 0x30], r9d
mov dword [rsp + 0x34], r15d
je 0x14016d737
mov eax, dword [0x1402256b0]
xor edx, edx
div dword [0x1402256b4]
imul rax, rax, 0x12351a43
shr rax, 0x35
mov ecx, eax
not ecx
and ecx, 0x40e34135
mov edx, eax
and edx, 0xffffffca
imul edx, ecx
mov ecx, eax
and ecx, 0x35
or eax, 0x40e34135
imul eax, ecx
add eax, edx
not eax
or eax, 0xe92176b
cmp eax, 0xa2c175e5
jae 0x14016d73b
jmp 0x14016d791
xor eax, eax
jmp 0x14016d7a4
mov r10d, dword [0x1402256b8]
mov eax, dword [0x1402256bc]
mov ecx, r10d
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, r10d
imul edx, ecx
mov ecx, r10d
and ecx, eax
or r10d, eax
imul r10d, ecx
add r10d, edx
and r10d, 0xe9b22a1
xor r10d, 0xfa05c40e
mov eax, 0x80000001
mov ecx, 0
mov r11, rbx
cpuid
xchg rbx, r11
cmp r10d, 0xe463697e
jae 0x14016d7a2
mov eax, 0x80000001
xor ecx, ecx
mov r9, rbx
cpuid
xchg rbx, r9
jmp 0x14016d73b
mov eax, ecx
mov qword [rsp + 0x28], rax
movabs rbp, 0x8000000000000
movabs rbx, 0x4000000000000
movabs rax, 0x1000000000000
movabs r10, 0x800000000000
movabs rcx, 0x40000000000
movabs r11, 0x20000000000
movabs r12, 0x2000000000
movabs rsi, 0x800000000
mov r14d, 0xa9e4ed9f
mov edx, r8d
not edx
mov r9d, r8d
mov r15, r9
shl r15, 0x22
xor r10, r15
not r10
and r10, r15
mov r15d, r8d
and r15d, 1
shl r15d, 8
mov qword [rsp + 0x80], r15
not rbx
not rax
not rbp
mov qword [rsp + 0x90], rbp
or rdx, 0xfffffffffffffdfd
mov qword [rsp + 0x88], rdx
not r10
nop dword [rax]
mov ebp, dword [0x1402256c0]
or ebp, dword [0x1402256c4]
imul r15d, ebp, 0x8e380491
imul r15, r14
shr r15, 0x3c
mov ebp, r15d
and ebp, 6
add ebp, ebp
neg ebp
add ebp, r15d
add ebp, 0xa2560b56
cmp ebp, 0x528ab3c4
jb 0x14016d850
mov r14, r9
shl r14, 0x1c
not r14
or r14, rbx
mov rdx, r9
shl rdx, 0x12
and rdx, r11
mov qword [rsp + 0x68], rdx
mov r11, r9
shl r11, 6
xor rsi, r11
not rsi
and rsi, r11
mov ebp, r8d
shr ebp, 0x1c
mov r11d, ebp
xor r11d, 0xfffffffb
or ebp, 4
and ebp, r11d
mov r11d, r13d
shr r11d, 0xf
mov rbx, r11
not rbx
or rbx, 8
lea rdx, [r11 + rbx]
inc rdx
mov qword [rsp + 0x70], rdx
mov r15d, r13d
mov rdx, r15
shl rdx, 0x1d
not rdx
or rdx, rax
mov qword [rsp + 0x78], rdx
mov r11, r15
shl r11, 0x26
mov rax, r11
movabs rdx, 0x2000000000000
xor rax, rdx
or r11, rdx
not rax
and r11, rax
mov eax, edi
shl rax, 0x12
mov rdx, rax
and rdx, rcx
not rax
not rcx
or rcx, rax
not rcx
or rcx, rdx
mov eax, r13d
shr eax, 0x10
mov edx, eax
xor edx, 0xdfff
and edx, eax
mov qword [rsp + 0x60], rdx
mov rax, r15
shl rax, 0x22
mov rbx, rax
and rbx, r12
not rax
not r12
or r12, rax
not r12
or r12, rbx
mov rax, r15
shl rax, 0x1e
mov rbx, rax
movabs rdx, 0x4000000000
xor rbx, rdx
or rax, rdx
not rbx
and rax, rbx
mov qword [rsp + 0x58], r15
mov rbx, r15
shl rbx, 0x2a
not rbx
or rbx, qword [rsp + 0x90]
mov r15, r9
mov r9d, edi
xor r9d, 0xffffffef
and r9d, edi
not r9
and r9, qword [rsp + 0x88]
not r9
or r9, qword [rsp + 0x80]
not r9
and r9, r10
mov r10d, r8d
shr r10d, 9
mov rdx, rsi
mov esi, r10d
xor esi, 0x7ff3ff
and esi, r10d
not r14
or rsi, r14
or rsi, qword [rsp + 0x68]
mov r10d, r8d
shr r10d, 0x19
and r10d, 1
or rsi, r10
or rsi, rdx
not r9
or rsi, r9
or rsi, rbp
mov r9d, edi
not r9d
shr r9d, 0x12
not rsi
or r9, 0xffffffffffffffdf
and r9, rsi
mov r10, r9
not r10
or r10, rcx
not rcx
and rcx, r9
shr edi, 0x13
not r10
or r10, rcx
not r10
and edi, 0xc0
or rdi, qword [rsp + 0x70]
or rdi, r10
mov rcx, rdi
not rcx
movabs rsi, 0xf9eddb7c0d65ff8e
mov r9, rsi
not r9
mov r10, rcx
and r10, rsi
and rdi, r9
or rdi, r10
xor rsi, r9
mov rdx, qword [rsp + 0x78]
and rsi, rdx
xor rsi, r9
xor rsi, rdi
or rcx, rdx
not rcx
or rcx, r11
or rcx, rsi
or rcx, qword [rsp + 0x60]
mov rdx, rcx
not rdx
or rcx, r12
not r12
and r12, rdx
not r12
and r12, rcx
mov rcx, rax
and rcx, r12
add r12, rax
sub r12, rcx
not rbx
or r12, rbx
mov eax, r8d
xor eax, 0xf3ffffff
and eax, r8d
cmp eax, 0xc000000
jne 0x14016dff1
mov rsi, qword [rsp + 0x58]
mov eax, dword [0x1402256d0]
and eax, dword [0x1402256d4]
add eax, 0x8e9f6407
mov ecx, eax
and ecx, 0x31f5c96d
add ecx, ecx
sub eax, ecx
add eax, 0xb1f5c96d
or eax, 0xac3e5d9e
cmp eax, 0xe54b64ed
jne 0x14016db00
call fcn.140052160
nop word cs:[rax + rax]
mov ebx, dword [0x1402256d8]
imul ebx, dword [0x1402256dc]
mov eax, ebx
xor eax, 0x8d74c61a
and ebx, 0x728b39e5
add ebx, ebx
sub ebx, eax
add ebx, 0x8d1dcd73
mov eax, ebx
not eax
mov ecx, ebx
and ecx, 0x90dd510
and eax, 0xf6f22aef
imul eax, ecx
mov ecx, ebx
and ecx, 0xf6f22aef
or ebx, 0xf6f22aef
imul ebx, ecx
add ebx, eax
call fcn.140052160
cmp ebx, 0xb7275177
jb 0x14016db00
mov r8, rax
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x28]
nop word [rax + rax]
mov eax, dword [0x1402256e0]
xor edx, edx
div dword [0x1402256e4]
xor eax, 0x173d6c9a
add eax, 0x9ff550e8
cmp eax, 0x3a23c28c
jb 0x14016db70
mov eax, r8d
and eax, 6
nop word cs:[rax + rax]
mov ecx, dword [0x1402256e8]
imul ecx, dword [0x1402256ec]
or ecx, 0xd6f758
mov edx, ecx
xor edx, 0xf458de5
and edx, ecx
imul rcx, rdx, 0x137d2dcd
shr rcx, 0x3c
cmp ecx, 0xf492f2b
ja 0x14016dba0
cmp eax, 6
jne 0x14016e000
and r8d, 0xe0
movabs rax, 0x80000000000
lea r9, [r12 + rax]
and rax, r12
sub r9, rax
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14016dc00
nop word cs:[rax + rax]
mov eax, dword [0x1402256f0]
mov ecx, dword [0x1402256f4]
mov edx, ecx
not edx
mov r10d, eax
and r10d, edx
or edx, eax
not edx
imul edx, r10d
mov r10d, eax
and r10d, ecx
or eax, ecx
imul eax, r10d
add eax, edx
add eax, 0x1673f9cb
mov ecx, eax
not ecx
and ecx, 0xae3e8cf2
mov edx, eax
and edx, 0x51c1730d
imul edx, ecx
mov ecx, eax
and ecx, 0xae3e8cf2
or eax, 0xae3e8cf2
imul eax, ecx
add eax, edx
xor eax, 0xfe7d3c51
cmp eax, 0x3840bcef
jb 0x14016dc10
nop word cs:[rax + rax]
mov eax, dword [0x1402256f8]
mov ecx, dword [str.1jz]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
not eax
and eax, 0x18ec235
and ecx, 0xfe713dca
sub ecx, eax
imul eax, ecx, 0x293703b
and eax, 0x9dc85e33
cmp eax, 0x6a1c16a7
jb 0x14016dc80
cmp dword [rsp + 0x34], 0xc
jbe 0x14016dd65
mov ecx, 1
mov eax, 0xd
mov r10, rbx
cpuid
xchg rbx, r10
mov ecx, eax
not eax
or rax, 0xfffffffffffffffe
movabs rdx, 0x180000000000
or r12, rdx
cmp rax, 0xffffffffffffffff
cmove r12, r9
mov rax, rcx
shl rax, 0x2d
mov rdx, rax
not rdx
movabs r9, 0x400000000000
or r9, rdx
add rax, r9
inc rax
or rax, r12
shl rcx, 0x2a
movabs r9, 0x200000000000
not rcx
not r9
or r9, rcx
not r9
or r9, rax
nop
mov eax, dword [0x140225700]
xor edx, edx
div dword [0x140225704]
or eax, 0x833dec9a
mov ecx, eax
xor ecx, 0x85120642
xor eax, 0x308db03c
and eax, 0x788df03c
and ecx, 0x87720fc3
or ecx, eax
cmp ecx, 0xd42b1512
je 0x14016dd30
mov rdx, r15
mov eax, edx
not eax
shl rax, 0x18
movabs rcx, 0x1000000000
not rcx
or rcx, rax
not rcx
shr edx, 0xe
mov rax, rdx
not rax
or rax, 0x4000
add rax, rdx
inc rax
or rax, rcx
mov rcx, rsi
shl rcx, 0xa
movabs rdx, 0x3ffffff7c00
xor rdx, rcx
and rdx, rcx
or rdx, rax
mov rax, rdx
not rax
mov r12, r9
not r12
movabs rcx, 0xe297a8be657e5fb0
mov r10, rcx
not r10
mov r11, rax
and r11, rcx
and rdx, r10
or rdx, r11
and rcx, r12
and r10, r9
or r10, rcx
xor r10, rdx
or r12, rax
not r12
or r12, r10
cmp r8d, 0xe0
jne 0x14016e000
mov ecx, esi
and ecx, 0x10000
mov eax, esi
not eax
mov edx, eax
shl edx, 4
lea r8d, [rax*4]
or edx, 0xeb962666
or r8d, 0xeb362666
movabs r9, 0x7cef3219ebb62666
and edx, r9d
or edx, ecx
and r8d, r9d
xor r8d, edx
mov ecx, esi
shr ecx, 7
and ecx, 0x80000
lea edx, [r8 + rcx]
not r8d
not ecx
and ecx, r8d
not ecx
and ecx, edx
mov edx, esi
shr edx, 9
and edx, 0x40000
or edx, ecx
shr esi, 0xb
and esi, 0x20000
lea rcx, [rsi + rdx]
and esi, edx
sub rcx, rsi
shr eax, 0xa
not rcx
or rax, 0xffffffffffefffff
not r12
and r12, rax
and r12, rcx
mov r10, r12
not r10
mov rax, r10
and rax, 0xffffffffffbfffff
xor r12, 0xffffffffffbfffff
add r12, r10
sub r12, rax
movabs r8, 0x400000000
movabs r9, 0x200000000
mov ecx, 0xf8000000
nop
mov eax, dword [0x140225708]
xor edx, edx
div dword [0x14022570c]
imul edx, eax, 0x407e4668
add edx, 0x4d80b418
mov eax, edx
and eax, 0x36795fb0
add eax, eax
sub edx, eax
test r13d, r13d
mov rax, r10
cmovs rax, r12
cmp edx, 0x2faa9c30
je 0x14016dec0
mov r15, qword [rsp + 0x40]
mov r10d, r15d
and r10d, 2
shl r10d, 0x17
mov edx, r15d
and edx, 0x40
shl edx, 0x14
or edx, r10d
mov r10, r15
shl r10, 0x13
shl r15, 0xb
mov r11, r15
xor r11, 0xfffffffffdffffff
or r15, 0x2000000
and r15, r11
mov r12, qword [rsp + 0x38]
mov r11, r12
shl r11, 0x19
mov rsi, r11
xor rsi, r9
not rsi
or r11, r9
and r11, rsi
shl r12, 0xb
and r12, r8
or rdx, r15
mov r8, r10
not r8
or r8, rcx
add r8, r10
inc r8
or r8, rdx
mov rdx, r11
and rdx, r8
add r8, r11
sub r8, rdx
or r8, r12
not r8
not rax
and rax, r8
not rax
mov r9d, dword [rsp + 0x30]
nop dword [rax]
mov edx, dword [0x140225710]
sub edx, dword [str._CP]
imul r8, rdx, 0x2df9d43f
shr r8, 0x20
sub edx, r8d
shr edx, 1
add edx, r8d
shr edx, 0x1f
lea r8d, [rdx + 0x80]
or edx, 0x82497a02
xor r8d, 0x8008001
imul r8d, r8d, 0x50120020
imul edx, edx, 0xda5bfaa3
add edx, r8d
lea r12, [rcx + 0x8000000]
or r12, rax
test r9d, r9d
cmove r12, rax
cmp edx, 0x47b52a0a
ja 0x14016df90
jmp 0x14016e000
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x28]
movabs rax, 0x8000000000
mov rcx, r14
shl rcx, 0x22
and rcx, rax
or rcx, r12
nop word [rax + rax]
mov eax, dword [0x1402256c8]
add eax, dword [0x1402256cc]
mov edx, eax
and edx, 0xeee3dcef
and eax, 0x4a20cc2
mov r8d, edx
xor r8d, 0xea5df22d
add r8d, edx
sub r8d, eax
mov eax, r8d
xor eax, 0xf359a56f
or r8d, 0xca65a90
and r8d, eax
cmp r8d, 0xb71c9b29
ja 0x14016e020
movabs rax, 0x69746e6568747541
xor rax, rbx
mov edx, edi
xor rdx, 0x444d4163
or rdx, rax
je 0x14016e099
mov eax, edi
movabs rdx, 0x6e65476e6f677948
xor rdx, rbx
xor rax, 0x656e6975
or rax, rdx
jne 0x14016e0eb
mov rax, r14
shl rax, 0x13
mov edx, dword [0x140225720]
mov r8d, dword [0x140225724]
mov r9d, edx
xor r9d, r8d
not r9d
or edx, r8d
and edx, r9d
imul edx, edx, 0x5d64e5b
add edx, 0x9dd6548e
cmp edx, 0xdb61473
jb 0x14016e0a0
and r14d, 0x40
shl r14d, 6
movabs rdx, 0x10000000000
and rax, rdx
or rax, r14
or rcx, rax
mov edx, 0x6c65746e
movabs rax, 0x49656e69756e6547
movabs r8, 0xffffff9fffffffff
xor rbx, rax
mov r9, rcx
xor r9, 0xffffffffffffbfff
mov rax, rcx
not rax
not r8
or r8, rax
not r8
mov r10d, dword [0x140225718]
mov eax, dword [str._A3]
mov r11d, r10d
and r11d, eax
add r11d, r11d
add r10d, eax
sub r10d, r11d
add r10d, 0xca31af40
and r10d, 0xaa8f7207
xor r10d, 0x2dce7062
mov r11d, edi
xor r11, rdx
test r9, rcx
mov rax, rcx
cmove rax, r8
or r11, rbx
cmovne rax, rcx
cmp r10d, 0x2a42d73f
jbe 0x14016e120
movabs rcx, 0x8000000000000000
or rcx, rax
mov qword [0x14022cb68], rcx
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret