Function at 0x1401dbb80
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
test rdx, rdx
je 0x1401dbcce
movabs rax, 0x555555555555555
mov rdi, rdx
nop dword [rax]
mov ecx, dword [0x1415a8650]
or ecx, dword [0x1415a8654]
mov edx, ecx
not edx
and edx, 0xf5415960
mov r8d, ecx
and r8d, 0xabea69f
imul r8d, edx
mov edx, ecx
and edx, 0xf5415960
or ecx, 0xf5415960
imul ecx, edx
add ecx, r8d
mov edx, ecx
xor edx, 0x91bf0858
add edx, ecx
and ecx, 0x6e40f7a0
sub edx, ecx
mov ecx, edx
not ecx
mov r8d, edx
and r8d, 0xa44f2d80
and ecx, 0x5bb0d279
imul ecx, r8d
mov r8d, edx
and r8d, 0x5bb0d278
or edx, 0x5bb0d279
imul edx, r8d
add edx, ecx
cmp edx, 0xb48418df
jb 0x1401dbbb0
cmp rdi, rax
ja 0x1401dbd9b
mov rax, rdi
and rax, 0xffffffffffffffe7
mov r14, rdi
or r14, 0x18
nop word [rax + rax]
mov ecx, dword [0x1415a8668]
mov edx, dword [0x1415a866c]
mov r8d, ecx
and r8d, edx
not r8d
not ecx
not edx
or edx, ecx
and edx, r8d
not edx
imul ecx, edx, 0x5498fa38
xor ecx, 0x508a1074
cmp ecx, 0xe1fde7a7
je 0x1401dbc50
mov ecx, edi
not ecx
and ecx, 0x18
imul rax, rcx
mov ecx, edi
and ecx, 0x18
imul r14, rcx
add r14, rax
mov eax, dword [0x1415a8670]
and eax, dword [0x1415a8674]
xor eax, 0xc33ca0d
add eax, 0x27865e51
shr eax, 1
imul rax, rax, 0x258f02db
shr rax, 0x3c
cmp eax, 0xc04e2aa0
jne 0x1401dbe23
jmp 0x1401dbe73
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 dword [rax]
mov ecx, dword [0x1415a8690]
sub ecx, dword [0x1415a8694]
mov edx, ecx
not edx
and edx, 0x3604119f
mov r8d, ecx
and r8d, 0x9fbee60
imul r8d, edx
mov edx, ecx
and edx, 0x3604119f
or ecx, 0x3604119f
imul ecx, edx
add ecx, r8d
or ecx, 0x8bf50ca4
and ecx, 0xbffdfebe
cmp ecx, 0xd23d0f58
je 0x1401dbcf0
test eax, eax
js 0x1401dbd50
mov r14d, 8
xor r15d, r15d
xor edi, edi
jmp 0x1401dc0c1
mov qword [rsi], 0
mov qword [rsi + 8], 8
mov eax, dword [0x1415a86b0]
and eax, dword [0x1415a86b4]
mov ecx, 0xb3cc5053
imul rcx, rax
shr rcx, 0x3e
mov eax, ecx
and eax, 0xfffffffe
xor ecx, 0x4ec6b05a
lea eax, [rcx + rax*2]
add eax, 0xb0706182
cmp eax, 0xe0876d45
jae 0x1401dc1d8
jmp 0x1401dc1e6
mov eax, dword [0x1415a8658]
mov ecx, dword [0x1415a865c]
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
or eax, 0x7aefc7b1
add eax, 0xea2f37ca
cmp eax, 0x744cac9a
jb 0x1401dbe1d
mov eax, dword [0x1415a8660]
xor eax, dword [0x1415a8664]
and eax, 0x1e6f76a2
add eax, 0x68f71044
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x588de6c2
and ecx, 0xa7721829
imul ecx, edx
mov edx, eax
and edx, 0xa7721024
or eax, 0xa772182d
imul eax, edx
add eax, ecx
ud2
ud2
mov eax, dword [0x1415a8678]
mov ecx, dword [0x1415a867c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
shr eax, 3
imul rax, rax, 0x13aff85f
shr rax, 0x38
mov ecx, eax
and ecx, 1
xor eax, 0x64665af1
lea ebp, [rax + rcx*2]
or ebp, 0x553e6855
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
mov rdx, r14
call fcn.1401ac910
cmp ebp, 0x9457c80
jne 0x1401dbe86
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
mov rdx, r14
call fcn.1401ac910
jmp 0x1401dbe23
mov rbx, rax
nop dword [rax]
mov eax, dword [0x1415a8680]
or eax, dword [0x1415a8684]
and eax, 0xb416a448
xor eax, 0x30008048
add eax, 0xe353f119
cmp eax, 0xc2f4e447
ja 0x1401dbe90
test rbx, rbx
je 0x1401dc092
mov eax, 0xd4b0fed1
mov ecx, dword [0x1415a8698]
or ecx, dword [0x1415a869c]
or ecx, 0xd55029c9
imul ecx, ecx, 0xced2cb5a
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xea866a5f
je 0x1401dbec0
mov eax, dword [0x1415a86a0]
mov ecx, dword [0x1415a86a4]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x4c742751
and eax, 0xb38bd8ae
or eax, r9d
or edx, r8d
and r8d, 0x4c742751
and ecx, 0xb38bd8ae
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
mov eax, edx
xor eax, 0x174ec9ed
add eax, edx
and edx, 0xe8b13612
sub eax, edx
and eax, 0xaabbf7f0
cmp eax, 0x3a526239
jne 0x1401dbf7b
mov eax, edi
not eax
mov ecx, edi
and ecx, 0xffffffe7
and eax, 0x18
imul eax, ecx
mov ecx, edi
and ecx, 0x18
mov edx, edi
or edx, 0x18
imul edx, ecx
add edx, eax
mov dword [rsp + 0x20], edx
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
lea eax, [rdi*8]
lea ebp, [rax + rax*2]
mov r14, qword [sym.imp.powrprof.dll_CallNtPowerInformation]
nop dword [rax]
mov r15d, dword [0x1415a86a8]
add r15d, dword [0x1415a86ac]
or r15d, 0xa40d4ac
and r15d, 0x5a52fcac
mov dword [rsp + 0x20], ebp
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call r14
cmp r15d, 0x78b355f5
je 0x1401dbf90
test eax, eax
js 0x1401dc011
mov eax, dword [0x1415a86e8]
mov ecx, dword [0x1415a86ec]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
and ecx, 0x319956f1
and eax, 0x300114b1
add eax, eax
sub ecx, eax
add ecx, 0xb46715bd
xor ecx, 0xa62edab8
cmp ecx, 0x3dfd0c2f
jbe 0x1401dc240
jmp 0x1401dc269
lea r14, [rdi*8]
nop dword [rax]
mov eax, dword [0x1415a86c0]
xor edx, edx
div dword [0x1415a86c4]
mov ecx, eax
and ecx, 0x2c7309da
xor eax, 0x2c7309da
lea eax, [rax + rcx*2]
add eax, 0xeef08a14
cmp eax, 0x3d7d19fe
ja 0x1401dc020
mov eax, dword [0x1415a86c8]
xor edx, edx
div dword [0x1415a86cc]
mov ecx, eax
or ecx, 0x8c64651e
not eax
and eax, 0x418a82e1
mov edx, ecx
and edx, 0xb251180c
or edx, eax
xor edx, 0x20830200
and ecx, 0x6d2de5f3
or ecx, edx
add ecx, 0xaf08df81
cmp ecx, 0x1f0ad951
jae 0x1401dc0dd
jmp 0x1401dc131
ud2
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r15
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1415a86d0]
xor eax, dword [0x1415a86d4]
imul eax, eax, 0xc0b10214
mov ebp, eax
and ebp, 0x4b942f88
mov ecx, ebp
not ecx
and ecx, 0xca7cf550
mov edx, eax
and edx, 0x1800a88
imul edx, ecx
and eax, 0x4a142500
or ebp, 0xca7cf550
imul ebp, eax
add ebp, edx
mov ecx, 8
mov rdx, r14
call fcn.14020ae90
cmp ebp, 0x24f14368
jne 0x1401dc140
mov ecx, 8
mov rdx, r14
call fcn.14020ae90
jmp 0x1401dc0dd
test rax, rax
je 0x1401dc19e
mov qword [rsi], rdi
nop dword [rax + rax]
mov ecx, dword [0x1415a86e0]
sub ecx, dword [0x1415a86e4]
add ecx, 0x73d46b9f
imul rcx, rcx, 0x68cb8d75
shr rcx, 0x3e
cmp ecx, 0x228aa904
ja 0x1401dc150
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdi
mov rcx, qword [0x1415acb98]
xor edx, edx
mov r8, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14020ae70
ud2
mov qword [rsi + 0x10], 0
xor eax, eax
test al, al
je 0x1401dc1f0
mov qword [rsi + 0x10], 0
jmp 0x1401dc1d8
mov eax, 0x8686fcc1
nop word cs:[rax + rax]
mov ecx, dword [0x1415a86bc]
mov edx, ecx
xor edx, edx
not edx
and edx, dword [0x1415a86b8]
xor edx, ecx
add edx, 0x2447e465
mov ecx, edx
and ecx, 0xf8abd03
xor edx, 0x8f8abd03
lea ecx, [rdx + rcx*2]
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0xbcc8d4cb
je 0x1401dc200
jmp 0x1401dc0cc
mov eax, dword [0x1415a86f0]
or eax, dword [0x1415a86f4]
add eax, 0xca5245c9
and eax, 0xfb461c2f
add eax, 0x4b386ec7
movzx ecx, byte [0x1415acbd0]
cmp eax, 0x4d075b7f
jbe 0x1401dc272
movzx eax, byte [0x1415acbd0]
jmp 0x1401dc240
lea r15, [rdi*8]
mov eax, dword [0x1415a86f8]
mov ecx, dword [0x1415a86fc]
mov edx, eax
not edx
and eax, ecx
not ecx
or ecx, edx
not ecx
or ecx, eax
mov eax, ecx
not eax
or eax, 0x31023546
and ecx, 0x82900028
and eax, 0x314235c6
or eax, ecx
cmp eax, 0xeb9a0067
jbe 0x1401dc2bb
xor ecx, ecx
mov rdx, r15
call fcn.1401ac910
mov r12d, 0x9a959cc9
nop word cs:[rax + rax]
mov eax, dword [0x1415a8700]
mov r13d, dword [0x1415a8704]
not eax
not r13d
or r13d, eax
not r13d
imul r13, r12
shr r13, 0x3d
add r13d, 0x332d4b9d
xor ecx, ecx
mov rdx, r15
call fcn.14020ae90
cmp r13d, 0xa3c41992
ja 0x1401dc2d0
mov r14, rax
nop dword [rax]
mov eax, dword [0x1415a870c]
add eax, dword [0x1415a8708]
and eax, 0x49020041
xor eax, 0x1244e01
cmp eax, 0x628cc880
ja 0x1401dc310
test r14, r14
je 0x1401dc3a2
lea rax, [r15 + r15*2]
xor ecx, ecx
xor r15d, r15d
nop dword [rax + rax]
mov edx, dword [rbx + rcx + 8]
mov qword [r14 + r15*8], rdx
inc r15
add rcx, 0x18
cmp rax, rcx
jne 0x1401dc340
mov eax, dword [0x1415a8710]
mov ecx, dword [0x1415a8714]
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
xor eax, 0x530eddca
shr eax, 1
imul rax, rax, 0x4a698d8d
shr rax, 0x3b
mov ecx, eax
xor ecx, 5
and ecx, eax
cmp ecx, 0x32be0025
jbe 0x1401dc3c7
jmp 0x1401dc406
mov eax, dword [0x1415a8720]
and eax, dword [0x1415a8724]
or eax, 0x17061438
and eax, 0x9f069539
imul eax, eax, 0xbd5fd11c
cmp eax, 0xf7b9c15f
jbe 0x1401dc41a
jmp 0x1401dc426
mov eax, dword [0x1415a8718]
mov ecx, dword [0x1415a871c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea ebp, [rax + rdx*2]
add ebp, 0x4af6893a
or ebp, 0x2089e386
mov rcx, qword [0x1415acb98]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebp, 0xfdb9bcd6
jne 0x1401dc0c1
mov rcx, qword [0x1415acb98]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x1401dc3c7
ud2
ud2