Function at 0x1401e8340
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x30
mov rdi, rdx
mov rsi, rcx
mov eax, dword [0x1415cf118]
xor edx, edx
div dword [0x1415cf11c]
nop word cs:[rax + rax]
mov eax, dword [0x1415cf120]
mov ecx, dword [0x1415cf124]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
and eax, 0x6a48a492
xor ecx, 0x6a48a492
lea eax, [rcx + rax*2]
xor eax, 0x2f09d8b3
cmp eax, 0xf61c1243
je 0x1401e8370
nop
mov eax, dword [0x1415cf128]
and eax, dword [0x1415cf12c]
mov ecx, eax
not ecx
and ecx, 0xec2792e
mov edx, eax
and edx, 0x113d86d1
imul edx, ecx
mov ecx, eax
and ecx, 0xec2792e
or eax, 0xec2792e
imul eax, ecx
add eax, edx
not eax
or eax, 0xe22c1016
and eax, 0xf73c3077
cmp eax, 0x7c0b97bf
je 0x1401e83a0
test rdi, rdi
je 0x1401e84dc
movabs rax, 0x555555555555556
cmp rdi, rax
jae 0x1401e85ec
lea r14, [rdi*8]
lea r15, [r14 + r14*2]
movzx eax, byte [0x1415d3950]
xor ecx, ecx
mov rdx, r15
call fcn.1401b5e70
mov rbx, rax
nop word cs:[rax + rax]
mov eax, dword [0x1415cf148]
and eax, dword [0x1415cf14c]
imul eax, eax, 0x1f517f5e
mov ecx, eax
not ecx
or eax, 0x8a4d6b9c
or ecx, 0x75b29463
and ecx, eax
not ecx
imul eax, ecx, 0x28afc75
cmp eax, 0x4796df75
jb 0x1401e8430
test rbx, rbx
je 0x1401e85a6
mov eax, edi
not eax
and eax, 0x18
mov ecx, edi
and ecx, 0xffffffe7
imul ecx, eax
mov eax, edi
and eax, 0x18
mov ebp, edi
or ebp, 0x18
imul ebp, eax
mov eax, dword [0x1415cf168]
add eax, dword [0x1415cf16c]
add ebp, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x8b8e9ced
and ecx, 0x74716312
imul ecx, edx
mov edx, eax
and edx, 0x74716312
or eax, 0x74716312
imul eax, edx
add eax, ecx
imul rax, rax, 0x13cf47e7
shr rax, 0x3b
add eax, 0xb3e55843
cmp eax, 0xc48dbc05
jbe 0x1401e869f
jmp 0x1401e86be
mov dword [rsp + 0x20], 0
mov r9d, 4
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
nop word [rax + rax]
mov ecx, dword [0x1415cf158]
add ecx, dword [0x1415cf15c]
imul ecx, ecx, 0xaf1ad10b
add ecx, 0x9d572324
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xfa890e91
and edx, 0x576f16e
imul edx, r8d
mov r8d, ecx
and r8d, 0x576f16e
or ecx, 0x576f16e
imul ecx, r8d
add ecx, edx
cmp ecx, 0x4eee5594
ja 0x1401e8500
nop
mov ecx, dword [0x1415cf160]
xor ecx, dword [0x1415cf164]
or ecx, 0x348600
and ecx, 0x20b4a641
imul ecx, ecx, 0x60ea6131
cmp ecx, 0x40ab547b
jb 0x1401e8550
test eax, eax
js 0x1401e858a
mov r12d, 8
xor r14d, r14d
xor edi, edi
jmp 0x1401e8aa6
mov qword [rsi], 0
mov qword [rsi + 8], 8
mov qword [rsi + 0x10], 0
jmp 0x1401e8a13
ud2
mov eax, dword [0x1415cf130]
xor eax, dword [0x1415cf134]
add eax, 0xa5b3c1ad
imul rax, rax, 0x7be29e7d
shr rax, 0x3c
cmp eax, 0xdb241dab
jne 0x1401e8620
ud2
mov eax, dword [0x1415cf138]
xor eax, dword [0x1415cf13c]
mov ecx, eax
and ecx, 0x1dc00248
mov edx, ecx
not edx
and edx, 0xbeb54b55
mov r8d, eax
and r8d, 0x1400008
imul r8d, edx
and eax, 0x1c800240
or ecx, 0xbeb54b55
imul ecx, eax
add ecx, r8d
ud2
mov dword [rsp + 0x20], ebp
xor r12d, r12d
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
test r12b, r12b
je 0x1401e86e0
mov dword [rsp + 0x20], ebp
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call fcn.14021c9c0
jmp 0x1401e869f
mov ecx, dword [0x1415cf170]
mov edx, dword [0x1415cf174]
xor edx, ecx
not edx
and edx, ecx
xor edx, 0xca8d54f7
imul ecx, edx, 0xbd1011f8
mov edx, ecx
and edx, 0x5845cd38
add edx, edx
sub ecx, edx
cmp ecx, 0xc311628b
je 0x1401e86e0
test eax, eax
js 0x1401e8725
xor eax, eax
test al, al
je 0x1401e8a22
jmp 0x1401e8a55
mov eax, dword [0x1415cf178]
sub eax, dword [0x1415cf17c]
mov ecx, eax
xor ecx, 0x87e298f4
xor eax, 0x781d670b
and ecx, 0xacf176f4
mov edx, eax
and edx, 0x530e890b
imul edx, ecx
mov ecx, eax
and ecx, 0xacf176f4
or eax, 0xacf176f4
imul eax, ecx
add eax, edx
imul rax, rax, 0x700d721d
shr rax, 0x3c
cmp eax, 0xb2504f64
je 0x1401e87ba
mov eax, dword [0x1415cf180]
add eax, dword [0x1415cf184]
mov ecx, eax
xor ecx, 0x1e2dcc49
and eax, 0x61d233b6
add eax, eax
sub eax, ecx
add eax, 0x784edee6
mov ecx, eax
and ecx, 0x8233824
xor eax, 0x88233824
lea ebp, [rax + rcx*2]
mov ecx, 8
mov rdx, r14
call fcn.140219830
cmp ebp, 0x21a52288
jae 0x1401e87c9
mov ecx, 8
mov rdx, r14
call fcn.1401b5e70
jmp 0x1401e8773
mov r15, rax
test rax, rax
je 0x1401e87e0
xor eax, eax
test al, al
je 0x1401e88ac
jmp 0x1401e8917
mov eax, dword [str._hxB_]
mov ecx, eax
not ecx
or ecx, dword [0x1415cf18c]
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0xbc2fd054
xor eax, 0x40eaa5f5
and eax, ecx
add eax, 0xdd451fc9
cmp eax, 0x2421376a
jb 0x1401e8875
mov eax, dword [str.O]
mov ecx, dword [0x1415cf194]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
add eax, 0xc9a9af79
mov ecx, eax
not ecx
and ecx, 0x73467a5b
mov edx, eax
and edx, 0x8cb985a4
imul edx, ecx
mov ecx, eax
and ecx, 0x73467a5b
or eax, 0x73467a5b
imul eax, ecx
add eax, edx
add eax, 0x59305c28
ud2
ud2
mov ecx, dword [0x1415cf1a0]
mov eax, dword [0x1415cf1a4]
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf602dd4
and ecx, 0xf09fd22b
imul ecx, edx
mov edx, eax
and edx, 0xf09fd22b
or eax, 0xf09fd22b
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x4080f5e6
add ecx, ecx
sub eax, ecx
add eax, 0xc080f5e6
mov ecx, eax
not ecx
and ecx, 0x410dd13b
and eax, 0xbef22ec4
sub eax, ecx
mov qword [rsi], rdi
cmp eax, 0x6e33cec6
jae 0x1401e891c
mov qword [rsi], rdi
jmp 0x1401e88ac
mov eax, dword [0x1415cf1a8]
mov ecx, dword [0x1415cf1ac]
xor ecx, eax
not ecx
and ecx, eax
mov eax, ecx
and eax, 0x5db7410f
or ecx, 0x5db7410f
add ecx, eax
mov eax, ecx
not eax
or eax, 0x228208c0
and eax, 0xa29319e4
and ecx, 0x41082408
or ecx, eax
cmp ecx, 0x7c6917df
jb 0x1401e89a6
mov ebp, dword [0x1415cf1b0]
imul ebp, dword [0x1415cf1b4]
mov eax, ebp
xor eax, 0xd093a672
xor ebp, 0x2db873ee
add ebp, eax
and eax, 0x2d42a63
sub ebp, eax
and ebp, 0x77d8a5f9
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], rdi
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0x8b396b0d
jbe 0x1401e89d0
mov qword [rsi + 8], r15
mov qword [rsi + 0x10], rdi
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401e895b
mov eax, dword [0x1415cf1b8]
mov ecx, dword [0x1415cf1bc]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
imul rax, rax, 0x4ad6d9e1
shr rax, 0x3c
add eax, 0x582460fa
cmp eax, 0x298b3119
jbe 0x1401e89d0
add rsp, 0x30
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x1415cf1c0]
mov ebp, dword [0x1415cf1c4]
not eax
not ebp
or ebp, eax
not ebp
or ebp, 0xd7763fef
movzx eax, byte [0x1415d3950]
xor ecx, ecx
mov rdx, r14
call fcn.1401b5e70
cmp ebp, 0xaac419b7
jae 0x1401e8a68
movzx eax, byte [0x1415d3950]
xor ecx, ecx
mov rdx, r14
call fcn.1401b5e70
jmp 0x1401e8a22
mov r12, rax
test rax, rax
je 0x1401e8b31
xor eax, eax
xor r14d, r14d
nop dword [rax]
mov ecx, dword [rbx + rax + 8]
mov qword [r12 + r14*8], rcx
inc r14
add rax, 0x18
cmp r15, rax
jne 0x1401e8a80
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [0x1415cf1d0]
and eax, dword [0x1415cf1d4]
or eax, 0x4ab65e92
mov ecx, eax
and ecx, 0x61b92b60
add ecx, ecx
mov edx, eax
sub edx, ecx
neg ecx
add eax, ecx
add eax, 0xe1b92b60
not eax
or eax, 0x2d550541
add eax, edx
add eax, 0xe1b92b60
cmp eax, 0x436642c6
jne 0x1401e8af0
mov qword [rsi], rdi
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r14
nop
mov eax, dword [0x1415cf1d8]
xor edx, edx
div dword [0x1415cf1dc]
add eax, 0x375f1ff1
mov ecx, eax
xor ecx, 0x49293d2c
xor eax, 0xf1bf765
add eax, ecx
and ecx, 0xb9cd35b6
sub eax, ecx
mov qword [rsi], rdi
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r14
cmp eax, 0xea9dafc
jb 0x1401e8af0
jmp 0x1401e8a13
ud2