Function at 0x1400fc440
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov eax, dword [0x141dd5610]
and eax, dword [0x141dd5614]
and eax, 0x32347b24
imul rax, rax, 0x964ea47
shr rax, 0x38
or eax, 0x446af17c
cmp eax, 0x93ba3406
ja 0x1400fc4af
mov r9d, dword [0x141dd5618]
xor r9d, dword [0x141dd561c]
mov ecx, 0
mov eax, 0
mov r8, rbx
cpuid
xchg rbx, r8
mov edi, eax
or r9d, 0xb2f52a76
imul eax, r9d, 0x23144720
cmp eax, 0x1114ae6b
jae 0x1400fc4bd
xor eax, eax
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
jmp 0x1400fc478
mov esi, ecx
shl rdx, 0x20
mov r9d, r8d
or r9, rdx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400fc4d0
xor eax, eax
movabs rbp, 0x8000000000000000
test edi, edi
je 0x1400fc592
mov eax, 1
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
mov ebx, edx
mov r12d, ecx
nop dword [rax]
mov eax, dword [0x141dd5620]
xor edx, edx
div dword [0x141dd5624]
imul eax, eax, 0x846c974c
add eax, 0xfcdd5f7a
cmp eax, 0x87d683f5
jb 0x1400fc500
mov eax, dword [0x141dd5628]
xor eax, dword [0x141dd562c]
add eax, 0xc616595c
xor eax, 0x9cb9b919
imul eax, eax, 0x2fe82686
cmp eax, 0xe4f4988d
je 0x1400fc520
cmp edi, 7
mov qword [rsp + 0x58], r9
jb 0x1400fc599
xor eax, eax
mov qword [rsp + 0x28], rax
mov r15, rbp
mov eax, 7
xor ecx, ecx
mov r9, rbx
cpuid
xchg rbx, r9
mov dword [rsp + 0x24], r9d
mov r11d, ecx
mov r9d, edx
mov eax, dword [0x141dd5630]
xor edx, edx
div dword [0x141dd5634]
xor eax, 0x1140044
or eax, 0x5289e69b
cmp eax, 0xed67f564
je 0x1400fc5f4
jmp 0x1400fc5c2
xor edx, edx
jmp 0x1400fcdcc
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x24], 0
xor eax, eax
mov qword [rsp + 0x48], rax
xor r10d, r10d
xor eax, eax
mov qword [rsp + 0x30], rax
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x1400fc624
mov ebp, dword [0x141dd5638]
sub ebp, dword [0x141dd563c]
xor ebp, 0xcbde1993
add ebp, 0xb0b1c333
mov eax, 7
mov ecx, 1
mov r14, rbx
cpuid
xchg rbx, r14
cmp ebp, 0xfdd80b89
jbe 0x1400fc608
mov eax, 7
mov ecx, 1
mov r10, rbx
cpuid
xchg rbx, r10
jmp 0x1400fc5c2
mov ecx, r11d
mov qword [rsp + 0x48], rcx
mov eax, eax
mov qword [rsp + 0x30], rax
mov eax, edx
mov qword [rsp + 0x50], rax
mov r10d, r9d
mov rbp, r15
xor ecx, ecx
mov eax, 0x80000000
mov r9, rbx
cpuid
xchg rbx, r9
test eax, eax
mov qword [rsp + 0x60], r10
je 0x1400fc6ed
mov eax, dword [0x141dd5640]
add eax, dword [0x141dd5644]
and eax, 0xb43a9b71
add eax, 0x781cd40f
imul rax, rax, 0x66013fc9
shr rax, 0x3c
cmp eax, 0x199e0a9d
ja 0x1400fc6a9
mov eax, dword [0x141dd5648]
xor edx, edx
div dword [0x141dd564c]
add eax, 0x206615da
xor eax, 0x391921a9
mov r9d, 0xc4a55387
imul r9, rax
shr r9, 0x39
mov eax, 0x80000001
mov ecx, 0
mov r11, rbx
cpuid
xchg rbx, r11
cmp r9d, 0x3665761a
jne 0x1400fc6ba
mov eax, 0x80000001
xor ecx, ecx
mov r9, rbx
cpuid
xchg rbx, r9
jmp 0x1400fc668
mov eax, ecx
mov qword [rsp + 0x28], rax
nop word cs:[rax + rax]
mov eax, dword [str.2_o9_]
sub eax, dword [0x141dd5654]
add eax, 0xa4c6016
and eax, 0xdc6fc76d
cmp eax, 0x4b9386a8
jb 0x1400fc6d0
movabs rcx, 0x4000000000000000
movabs rax, 0x2000000000000000
movabs r9, 0x1000000000000000
movabs r15, 0x40000000000000
movabs rdx, 0x1000000000000
movabs r13, 0x1c0000000
mov r10d, r12d
mov r11d, r12d
and r11d, 1
shl r11d, 8
mov r14, r10
shl r14, 0x2f
and r14, r9
mov r9d, r12d
shr r9d, 9
mov r8, r12
mov r12, r10
shl r12, 0x29
and r12, rbp
mov rbp, r10
shl rbp, 0x1f
and rbp, r15
or rbp, r12
mov r12d, r8d
shr r12d, 0x19
and r12d, 1
or r12, rbp
mov r15, r10
shl r15, 0x13
and r15, rdx
or r15, r12
shr r8d, 0x1c
and r8d, 4
mov qword [rsp + 0x40], r8
and r9d, 0xc00
mov ebp, dword [rsp + 0x24]
mov r12d, ebp
shr r12d, 9
and r12d, 1
mov edx, dword [0x141dd5658]
imul edx, dword [0x141dd565c]
xor edx, 0x8d7a15e
imul edx, edx, 0x3fff6508
add edx, 0x10c91d52
cmp edx, 0x2151efb0
jb 0x1400fc7a0
mov qword [rsp + 0x38], r10
mov r10, qword [rsp + 0x38]
and r10d, 0x202
mov r8d, ebp
mov rdx, r8
shl rdx, 0x2a
and rdx, rax
mov rbp, r8
shl rbp, 0x33
and rbp, rcx
mov ecx, ebx
mov eax, ecx
and eax, 0x10
or rax, r10
or rax, r11
or rax, r14
or rax, r9
or rax, r15
mov r9d, ebx
shr r9d, 0x12
and r9d, 0x20
mov r10, qword [rsp + 0x40]
or r10, r9
shl rcx, 0x1f
movabs r9, 0x80000000000000
and rcx, r9
or rcx, r10
mov r9d, dword [rsp + 0x24]
shr r9d, 0x10
and r9d, 0x2000
or r9, rbp
mov r10, r8
shl r10, 0x2f
movabs r11, 0x4000000000000
and r10, r11
mov r11, r8
shl r11, 0x2b
movabs r14, 0x8000000000000
and r11, r14
shr ebx, 0x13
and ebx, 0xc0
or rbx, rcx
mov ecx, dword [rsp + 0x24]
shr ecx, 0xf
and ecx, 8
or rbx, rcx
or rbx, rdx
or rbx, rax
mov r14, qword [rsp + 0x48]
shl r14, 0x16
and r13, r14
or r13, r9
or r13, r10
or r13, r11
or r13, rbx
mov rax, qword [rsp + 0x38]
and eax, 0xc000000
cmp eax, 0xc000000
jne 0x1400fca15
mov qword [rsp + 0x40], r8
call fcn.1400416e0
mov r8, rax
and eax, 6
mov r9d, r8d
and r9d, 0xe0
and r8d, 0x60000
nop word cs:[rax + rax]
mov ecx, dword [0x141dd5660]
add ecx, dword [0x141dd5664]
xor ecx, 0xbeaa5e1d
imul ecx, ecx, 0xb0ebca48
cmp ecx, 0x5c2e44dc
je 0x1400fc8e0
cmp eax, 6
movabs rbp, 0x8000000000000000
mov rbx, qword [rsp + 0x58]
jne 0x1400fcc55
mov eax, dword [0x141dd5668]
xor edx, edx
div dword [0x141dd566c]
movabs r10, 0x100000000000000
or r10, r13
nop word cs:[rax + rax]
mov eax, dword [0x141dd5670]
add eax, dword [0x141dd5674]
or eax, 0xb8d22708
add eax, 0x848d38c3
cmp eax, 0x88db2341
ja 0x1400fc940
nop dword [rax]
mov eax, dword [0x141dd5678]
and eax, dword [0x141dd567c]
imul eax, eax, 0xfaf10b3a
xor eax, 0x1b04802
cmp eax, 0xa4199c23
jb 0x1400fc960
cmp edi, 0xc
jbe 0x1400fca2e
mov eax, 0xd
mov ecx, 1
mov r11, rbx
cpuid
xchg rbx, r11
mov eax, eax
movabs rcx, 0x300000000000000
or r13, rcx
test al, 1
cmove r13, r10
cmove r12, r12
mov ecx, eax
and ecx, 2
shl rcx, 0x3a
movabs rdx, 0x400000000000000
mov r10, r13
or r10, rcx
shl rax, 0x37
and rax, rdx
mov r13, rax
or r13, r10
nop dword [rax + rax]
mov eax, dword [0x141dd5688]
sub eax, dword [0x141dd568c]
imul eax, eax, 0xf30d517e
imul rcx, rax, 0x48283e8d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x2c8bb90a
cmp eax, 0x62f546f8
ja 0x1400fc9e0
jmp 0x1400fca31
movabs rbp, 0x8000000000000000
mov r8, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x58]
jmp 0x1400fcc5a
mov r13, r10
movabs r15, 0x2000000000000
movabs r11, 0x40000000000
movabs rdx, 0x10000000000
movabs r10, 0x8000000000
movabs rdi, 0x4000000000
mov rcx, qword [rsp + 0x38]
shl rcx, 0x25
and rcx, r15
mov rax, qword [rsp + 0x30]
mov r15, rax
shl r15, 0x24
and r15, rdx
shl rax, 0xf
and rax, rdi
or rax, r15
mov r15, qword [rsp + 0x50]
mov rdi, r15
shl rdi, 0x26
and rdi, r11
mov r11, r15
shl r11, 0x22
and r11, r10
or r11, rdi
mov r10, r15
shl r10, 0x1f
movabs rdx, 0x20000000000
and r10, rdx
or r10, r11
or r13, r10
nop
mov edx, dword [0x141dd5680]
sub edx, dword [0x141dd5684]
add edx, 0x202a6fb8
and edx, 0x200a08a0
cmp edx, 0x743d9aa7
ja 0x1400fcac0
mov rdx, qword [rsp + 0x38]
shr edx, 0xe
and edx, 0x4000
or rdx, rcx
mov r10, qword [rsp + 0x40]
mov ecx, r10d
and ecx, 0x20
shl ecx, 0xa
or rcx, rdx
mov r11, qword [rsp + 0x30]
mov edx, r11d
and edx, 7
shl edx, 0x10
or rax, rdx
or rax, rcx
or r13, rax
cmp r9d, 0xe0
jne 0x1400fcc55
mov eax, r10d
and eax, 0x10000
mov ecx, r10d
shl ecx, 7
and ecx, 0x1000000
lea eax, [rcx + rax*8]
mov ecx, r10d
shl ecx, 5
and ecx, 0x4000000
or ecx, eax
mov eax, r10d
shr eax, 4
and eax, 0x400000
or eax, ecx
mov ecx, r10d
shr ecx, 6
and ecx, 0x200000
or ecx, eax
mov eax, r10d
shr eax, 8
and eax, 0x100000
or eax, ecx
shr r10d, 7
and r10d, 0x800000
or r10d, eax
or r13, r10
mov rax, r13
or rax, 0x2000000
cmp dword [rsp + 0x24], 0
cmovns rax, r13
mov r13, qword [rsp + 0x48]
mov edx, r13d
and edx, 2
shl edx, 0x1a
mov ecx, r13d
and ecx, 0x40
shl ecx, 0x17
or ecx, edx
shl r13d, 0xe
and r13d, 0x10000000
mov rdi, qword [rsp + 0x60]
mov edx, edi
and edx, 0x100
shl rdx, 0x1c
mov r9d, edi
and r9d, 0x800000
shl r9, 0xe
mov qword [rsp + 0x30], r11
mov r10d, r11d
and r10d, 0x20
shl r10, 0x1e
movabs r11, 0x600000000
and r14, r11
or r14, rcx
or r14, r13
or r14, rdx
or r14, r9
or r14, r10
mov r13, r14
or r13, rax
cmp r8d, 0x60000
mov r8, qword [rsp + 0x28]
jne 0x1400fcc5a
mov eax, edi
and eax, 0x3000000
shl rax, 0x13
and edi, 0x400000
shl rdi, 0x17
or rdi, rax
mov rax, qword [rsp + 0x30]
and eax, 0x200000
shl rax, 0x19
or rax, rdi
and r15d, 0x100
shl r15, 0x27
or r15, rax
or r13, r15
jmp 0x1400fcc5a
mov r8, qword [rsp + 0x28]
movabs rax, 0x10000000000000
mov rcx, r8
shl rcx, 0x2f
and rcx, rax
or r13, rcx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400fcc80
movabs rax, 0x69746e6568747541
xor rax, rbx
mov ecx, esi
xor rcx, 0x444d4163
or rcx, rax
je 0x1400fccbd
mov eax, esi
movabs rcx, 0x6e65476e6f677948
xor rcx, rbx
xor rax, 0x656e6975
or rax, rcx
jne 0x1400fcd4a
mov rax, r8
shl rax, 6
nop word cs:[rax + rax]
mov ecx, dword [0x141dd5698]
imul ecx, dword [0x141dd569c]
imul rcx, rcx, 0x10b4d50f
shr rcx, 0x3b
and ecx, 0xfffffffe
cmp ecx, 0x2382a6c
ja 0x1400fccd0
and eax, 0x1000
mov rcx, r8
shl rcx, 0x20
movabs rdx, 0x20000000000000
and rdx, rcx
or rdx, rax
or r13, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dd56a0]
xor edx, edx
div dword [0x141dd56a4]
or eax, 0x10774581
add eax, 0xe11a8888
cmp eax, 0xa4cded79
jbe 0x1400fcd20
shr r8d, 0xa
and r8d, 2
or r12, r8
mov rcx, 0xffffffffffffffff
movabs r8, 0xfff3ffffffffffff
mov r9d, 0x6c65746e
movabs rax, 0x49656e69756e6547
xor rbx, rax
and r8, r13
and rcx, r12
nop word cs:[rax + rax]
mov eax, dword [0x141dd5690]
and eax, dword [0x141dd5694]
imul r10d, eax, 0x28df9e01
or r10d, 0x45c2e2f8
xor r10d, 0x600850e5
mov eax, esi
xor rax, r9
or rax, rbx
mov edx, r13d
and edx, 0x4000
or rdx, rax
mov rdx, r12
cmove rdx, rcx
mov rax, r13
cmove rax, r8
cmp r10d, 0x377dada3
jbe 0x1400fcd80
or rbp, rax
mov qword [0x141ddb9a8], rbp
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret