Function at 0x14012b1c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rdi, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x140229368]
xor edx, edx
div dword [0x14022936c]
and eax, 0xdd6de89c
xor eax, 0x418ee905
cmp eax, 0x1d227427
jb 0x14012b1e0
test rdi, rdi
je 0x14012b307
nop dword [rax + rax]
mov ecx, dword [0x140229370]
mov eax, dword [0x140229374]
mov edx, ecx
not edx
and edx, eax
not edx
not eax
and eax, ecx
not eax
and eax, edx
not eax
mov ecx, eax
and ecx, 0x97747624
mov edx, ecx
not edx
and edx, 0x63af6bf
mov r8d, eax
and r8d, 0x91440000
imul r8d, edx
and eax, 0x6307624
or ecx, 0x63af6bf
imul ecx, eax
add ecx, r8d
mov eax, ecx
xor eax, 0xf9ebc0f4
or ecx, 0x6143f08
and ecx, eax
cmp ecx, 0xd5f26d8f
ja 0x14012b210
movabs rax, 0x555555555555556
cmp rdi, rax
jae 0x14012b335
mov eax, edi
not eax
and eax, 0x18
mov rcx, rdi
and rcx, 0xffffffffffffffe7
imul rcx, rax
mov eax, edi
and eax, 0x18
mov r14, rdi
or r14, 0x18
imul r14, rax
add r14, rcx
mov ecx, dword [0x140229380]
mov eax, dword [0x140229384]
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
xor eax, 0x8c15fd81
add eax, 0x7334b5c9
mov ecx, eax
not ecx
and ecx, 0x3ef09e1c
mov edx, eax
and edx, 0xc10f61e3
imul edx, ecx
mov ecx, eax
and ecx, 0x3ef09e1c
or eax, 0x3ef09e1c
imul eax, ecx
add eax, edx
cmp eax, 0x6fc46044
jbe 0x14012b391
jmp 0x14012b3a9
mov eax, dword [0x1402293a0]
xor edx, edx
div dword [0x1402293a4]
add eax, 0xcde805e4
or eax, 0x33ec1b0e
imul eax, eax, 0x6ecd676f
cmp eax, 0xbf8774a5
jbe 0x14012b86d
jmp 0x14012b8af
ud2
movzx eax, byte [0x14022cb78]
xor ebp, ebp
xor ecx, ecx
mov rdx, r14
call fcn.140107940
test bpl, bpl
je 0x14012b3bc
movzx eax, byte [0x14022cb78]
xor ecx, ecx
mov rdx, r14
call fcn.14014ee50
jmp 0x14012b391
mov rbx, rax
nop
mov eax, dword [0x140229388]
imul eax, dword [0x14022938c]
imul rax, rax, 0x1fdba7af
shr rax, 0x3c
lea ecx, [rax - 0x7ff7f6b6]
not eax
and eax, 0x10701621
imul eax, eax, 0x6905c094
imul ecx, ecx, 0xf97ddfff
add ecx, eax
cmp ecx, 0xc3ea6066
je 0x14012b3c0
test rbx, rbx
je 0x14012b6ea
lea eax, [rdi*8]
lea eax, [rax + rax*2]
mov dword [rsp + 0x20], eax
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
mov r9, rbx
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
test eax, eax
js 0x14012b615
lea r15, [rdi*8]
nop word cs:[rax + rax]
mov eax, dword [str.s_a_N]
or eax, dword [0x140229414]
mov ecx, eax
not ecx
or ecx, 0xc084e06b
add eax, ecx
inc eax
imul rax, rax, 0x298a28e5
shr rax, 0x3b
or eax, 0xb7750400
cmp eax, 0x5d687034
jb 0x14012b440
mov eax, dword [0x140229418]
mov ecx, dword [str.4_:]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
mov eax, ecx
xor eax, 0xb880186
xor ecx, 0xe057f619
mov edx, ecx
and edx, 0x74378a68
and eax, 0x8bc87597
imul eax, edx
mov edx, ecx
and edx, 0x8bc87597
or ecx, 0x8bc87597
imul ecx, edx
add ecx, eax
cmp ecx, 0xc6426ee6
jne 0x14012b4d2
movzx eax, byte [0x14022cb78]
xor ecx, ecx
mov rdx, r15
call fcn.14014ee50
xor ebp, ebp
nop word cs:[rax + rax]
movzx eax, byte [0x14022cb78]
xor ecx, ecx
mov rdx, r15
call fcn.140107940
test bpl, bpl
jne 0x14012b4e0
mov r14, rax
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x14012b500
test r14, r14
je 0x14012b7a8
lea rcx, [r15 + r15*2]
xor r8d, r8d
xor r9d, r9d
xor r15d, r15d
jmp 0x14012b533
inc r15
dec r9
add r8, 0x18
cmp rcx, r8
je 0x14012b5ff
mov eax, dword [0x140229420]
xor edx, edx
div dword [0x140229424]
imul eax, eax, 0xd12626d2
mov edx, eax
not edx
mov r10d, eax
and r10d, 0x1fd8482
and edx, 0xfe027b7c
imul edx, r10d
mov r10d, eax
and r10d, 0xfe027b7c
or eax, 0xfe027b7c
imul eax, r10d
add eax, edx
mov edx, eax
xor edx, 0x32a7378a
or eax, 0xcd58c870
and eax, edx
cmp eax, 0xa044ad31
je 0x14012b5f4
nop word [rax + rax]
mov eax, dword [0x140229428]
sub eax, dword [0x14022942c]
mov edx, eax
xor edx, 0xc8a90d11
xor eax, 0x36c0404f
add eax, edx
and edx, 0x196b2a1
sub eax, edx
mov edx, eax
not edx
mov r10d, eax
and r10d, 0xb5cd6d01
and edx, 0x4a3292fe
imul edx, r10d
mov r10d, eax
and r10d, 0x4a3292fe
or eax, 0x4a3292fe
imul eax, r10d
add eax, edx
mov edx, dword [rbx + r8 + 8]
mov qword [r14 + r15*8], rdx
cmp eax, 0x4700dad
jae 0x14012b520
mov eax, dword [rbx + r8 + 8]
mov qword [r14 + r15*8], rax
jmp 0x14012b590
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rbx
call fcn.14014eed0
jmp 0x14012b92c
lea rdx, [rdi*8]
nop dword [rax]
mov eax, dword [0x1402293d0]
mov ecx, dword [0x1402293d4]
mov r8d, eax
and r8d, ecx
add r8d, r8d
add eax, ecx
sub eax, r8d
imul rax, rax, 0x1804a8eb
shr rax, 0x3b
add eax, 0x4e11989e
mov ecx, eax
xor ecx, 0x75463e6d
or eax, 0xa118092
and eax, ecx
cmp eax, 0xe8fde485
ja 0x14012b620
mov ecx, 8
call fcn.14014ee50
test rax, rax
je 0x14012b837
xor ecx, ecx
test cl, cl
je 0x14012b680
mov qword [rsi], rdi
nop dword [rax]
mov ecx, dword [0x1402293e8]
sub ecx, dword [0x1402293ec]
mov edx, ecx
not edx
or edx, 0xea8a38f2
and edx, 0xeb9a38f2
and ecx, 0x8204
or ecx, edx
mov qword [rsi], rdi
cmp ecx, 0xbf110db4
je 0x14012b680
mov ecx, dword [0x1402293f0]
or ecx, dword [0x1402293f4]
or ecx, 0xe11a426a
mov edx, ecx
xor edx, 0x881ce54
add edx, ecx
and ecx, 0xf77e31ab
sub edx, ecx
imul ecx, edx, 0x87076a60
cmp ecx, 0x634d0dc8
jbe 0x14012ba89
jmp 0x14012bae5
xor eax, eax
test al, al
je 0x14012b700
ud2
mov eax, dword [0x140229390]
mov ecx, dword [0x140229394]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
add eax, 0xad93dfdb
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5f92dbd0
and ecx, 0xa06d242f
imul ecx, edx
mov edx, eax
and edx, 0xa06d242f
or eax, 0xa06d242f
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x71bcd8e2
add ecx, ecx
sub eax, ecx
ud2
mov eax, dword [0x140229430]
mov ecx, dword [0x140229434]
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
add eax, 0x8c3a9af1
mov ecx, eax
and ecx, 0x25ee78a4
xor eax, 0x65ee78a4
lea eax, [rax + rcx*2]
or eax, 0x9b96df67
cmp eax, 0x82cf2042
jne 0x14012b800
ud2
mov eax, dword [0x140229438]
xor edx, edx
div dword [0x14022943c]
and eax, 0x3d260f9f
add eax, 0x6de05ec1
mov ecx, eax
or ecx, 0x934c6343
not eax
or eax, 0x6cb3dcfc
and eax, ecx
ud2
mov eax, dword [0x1402293d8]
mov ecx, dword [0x1402293dc]
not eax
not ecx
or ecx, eax
not ecx
mov eax, 0x91223223
imul rax, rcx
shr rax, 0x3f
or eax, 0xaa9cffb8
cmp eax, 0x870e8406
jae 0x14012ba51
jmp 0x14012ba85
mov eax, dword [str.G_]
xor eax, dword [0x1402293ac]
mov edi, eax
xor edi, 0x50a0801
and edi, eax
and edi, 0x5ea4f49
mov dword [rsp + 0x20], 0
mov r9d, 4
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
cmp edi, 0xf8a0ce96
jne 0x14012b8d0
mov dword [rsp + 0x20], 0
mov r9d, 4
mov ecx, 0xb
xor edx, edx
xor r8d, r8d
call qword [sym.imp.powrprof.dll_CallNtPowerInformation]
jmp 0x14012b86d
mov ecx, dword [0x1402293b0]
xor ecx, dword [0x1402293b4]
mov edx, ecx
not edx
mov r8d, ecx
and r8d, 0xb2f3005d
and edx, 0x4d0cffa2
imul edx, r8d
mov r8d, ecx
and r8d, 0x4d0cffa2
or ecx, 0x4d0cffa2
imul ecx, r8d
add ecx, edx
imul rcx, rcx, 0x746aa84b
shr rcx, 0x3c
cmp ecx, 0x4336781d
je 0x14012b8d0
test eax, eax
js 0x14012b984
mov r14d, 8
xor r15d, r15d
xor edi, edi
mov eax, dword [0x140229440]
mov ecx, dword [0x140229444]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
and eax, 0x127d40d5
add eax, 0xda5a4733
or eax, 0xed0d67ba
cmp eax, 0x1e2ae735
jae 0x14012b961
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r15
xor eax, eax
nop word cs:[rax + rax]
mov qword [rsi], rdi
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r15
test al, al
jne 0x14012b970
jmp 0x14012bb90
mov eax, dword [0x1402293b8]
or eax, dword [0x1402293bc]
mov qword [rsi], 0
add eax, 0x537738b2
mov ecx, eax
and ecx, 0x28bfce3f
xor eax, 0x28bfce3f
lea eax, [rax + rcx*2]
mov ecx, eax
and ecx, 0x3c3d7a55
add ecx, ecx
sub eax, ecx
add eax, 0x3c3d7a55
cmp eax, 0x35b12226
jb 0x14012b9d2
mov qword [rsi + 8], 8
xor eax, eax
test al, al
je 0x14012b9dc
mov qword [rsi + 8], 8
jmp 0x14012b9c4
mov eax, dword [0x1402293c0]
or eax, dword [0x1402293c4]
mov ecx, eax
not ecx
and ecx, 0x7692336d
and eax, 0x896dcc92
sub eax, ecx
add eax, 0x48005ec3
or eax, 0x12b5e49f
cmp eax, 0x548099
jb 0x14012ba47
mov eax, dword [0x1402293c8]
mov ecx, dword [0x1402293cc]
add eax, ecx
add eax, 0x101239e0
mov ecx, eax
and ecx, 0x184a16f9
add ecx, ecx
sub eax, ecx
imul eax, eax, 0xad9dd674
add eax, 0x4c7b8ed4
mov qword [rsi + 0x10], 0
cmp eax, 0x53a143cc
ja 0x14012bb90
mov qword [rsi + 0x10], 0
jmp 0x14012ba0a
mov eax, dword [0x1402293e0]
add eax, dword [0x1402293e4]
imul rax, rax, 0x154fcf61
shr rax, 0x3c
or eax, 0x1ba95c36
mov ecx, eax
xor ecx, 0x11081433
and ecx, eax
ud2
ud2
mov ecx, dword [0x1402293f8]
mov edx, dword [0x1402293fc]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
add ecx, 0xd939f735
shr ecx, 1
mov edx, 0x831257cd
imul rdx, rcx
shr rdx, 0x3e
or edx, 0xbc8ba4c2
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdi
cmp edx, 0x4901f8b
jae 0x14012baef
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rdi
jmp 0x14012ba89
mov eax, dword [0x140229400]
mov ecx, dword [str._H_d]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
shr ecx, 1
imul rax, rcx, 0x9388ef
shr rax, 0x36
add eax, 0x39e0a947
mov ecx, eax
not ecx
or ecx, 0x2120084e
or eax, 0xf9efef51
and eax, ecx
cmp eax, 0x8d011078
jb 0x14012bb7b
mov eax, dword [0x140229408]
and eax, dword [0x14022940c]
mov ecx, eax
xor ecx, 0x4494e5af
add ecx, eax
and eax, 0xbb6b1a50
sub ecx, eax
add ecx, 0x9e3616b3
imul rsi, rcx, 0x4f8afb65
shr rsi, 0x3d
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp esi, 0xfa304866
jb 0x14012bb90
mov rcx, qword [0x14022cb48]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x14012bb33
mov eax, dword [0x140229448]
xor edx, edx
div dword [0x14022944c]
mov ecx, eax
not ecx
or ecx, 0xc08002
and ecx, 0xc2c493
and eax, 0x752d0060
sub eax, ecx
or eax, 0x82564930
cmp eax, 0xfac89e07
jb 0x14012bb90
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret