Function at 0x14012bd20
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov eax, dword [0x1415d3898]
cmp eax, 4
je 0x14012be20
mov eax, dword [0x1415bede8]
or eax, dword [0x1415bedec]
xor eax, 0xb40f8515
imul rax, rax, 0x427d1955
shr rax, 0x3d
mov ecx, eax
not ecx
and ecx, 0xc4a74c8e
mov edx, eax
and edx, 1
imul edx, ecx
mov ecx, eax
and ecx, 0xfffffffe
or eax, 0xc4a74c8e
imul eax, ecx
add eax, edx
cmp eax, 0x5aa11029
ja 0x14012bdaf
mov eax, dword [0x1415bedf0]
xor edx, edx
div dword [0x1415bedf4]
or eax, 0x6d426b95
add eax, 0xaf04f78d
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
cmp eax, 0xb7496866
jbe 0x14012bdbb
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
jmp 0x14012bd86
xor eax, eax
test al, al
jne 0x14012bdfe
mov esi, dword [0x1415bedf8]
imul esi, dword [0x1415bedfc]
add esi, 0xa5a87e05
not esi
or esi, 0x9c62f8d7
xor esi, 0x77bfdd1d
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1402406e0
cmp esi, 0x6b46a4f5
jae 0x14012be20
lea rax, [rsp + 0x20]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x28]
call fcn.1402406e0
jmp 0x14012bdc1
mov eax, dword [0x1415bee00]
add eax, dword [0x1415bee04]
mov ecx, eax
and ecx, 0x3a2d3e4e
add ecx, ecx
sub eax, ecx
mov ecx, eax
add ecx, 0x52204c2a
not ecx
or ecx, 0x18fadbc6
add eax, ecx
add eax, 0x52204c2a
cmp eax, 0x97c8877b
je 0x14012be20
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov ecx, dword [0x1415bee08]
add ecx, dword [0x1415bee0c]
mov edx, ecx
and edx, 0xf8331797
and ecx, 0xd0310480
xor edx, 0xd5b104e0
or edx, ecx
mov ecx, edx
xor ecx, 0x800211e6
and ecx, edx
cmp ecx, 0x5262c94f
jb 0x14012be60
cmp rax, 3
jne 0x14012bf2c
nop
mov eax, dword [0x1415bee10]
mov ecx, dword [0x1415bee14]
add eax, ecx
add eax, 0x2106b691
xor eax, 0x7150a099
imul rax, rax, 0x5a2ea2bd
shr rax, 0x3e
cmp eax, 0x1a33bc87
je 0x14012bea0
nop word [rax + rax]
mov eax, dword [0x1415bee18]
mov ecx, dword [0x1415bee1c]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
and ecx, 0xb87b776a
mov edx, eax
and edx, 0x47848895
imul edx, ecx
mov ecx, eax
and ecx, 0xb87b776a
or eax, 0xb87b776a
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0x3e057260
or eax, 0x3e057261
add eax, ecx
or eax, 0x57dcaf3f
cmp eax, 0x6f9b16a6
je 0x14012bed0
mov rsi, rdi
jmp 0x14012c590
mov rcx, qword [0x1415d3890]
mov edx, 0x81941973
nop dword [rax + rax]
mov r8d, dword [0x1415bee20]
mov r9d, dword [0x1415bee24]
mov r10d, r8d
xor r10d, r9d
not r10d
or r8d, r9d
and r8d, r10d
shr r8d, 1
imul r8, rdx
shr r8, 0x3c
imul r8d, r8d, 0x9a9b4da7
or r8d, 0xe1852d34
cmp r8d, 0x1e85ef22
jb 0x14012bf40
test rcx, rcx
je 0x14012c5d4
nop dword [rax + rax]
mov ecx, dword [0x1415bee48]
mov edx, dword [0x1415bee4c]
mov r8d, ecx
and r8d, edx
or ecx, edx
add ecx, r8d
mov edx, ecx
not edx
or edx, 0x44080002
and ecx, 0x80400440
and edx, 0x440a0023
or edx, ecx
cmp edx, 0x526fe3e
je 0x14012bf90
lea rsi, [0x1415d3890]
cmp rax, 2
jb 0x14012c590
nop dword [rax + rax]
mov eax, dword [0x1415bee50]
imul eax, dword [0x1415bee54]
lea ecx, [rax - 0x48b7eff8]
mov edx, ecx
and edx, 0xef5edc4d
xor ecx, 0x10a123b2
add eax, ecx
add eax, 0xb7481008
sub eax, edx
mov ecx, eax
not ecx
and ecx, 0xfa15ae
mov edx, eax
and edx, 0xff05ea51
imul edx, ecx
mov ecx, eax
and ecx, 0xfa15ae
or eax, 0xfa15ae
imul eax, ecx
add eax, edx
cmp eax, 0x76c5b442
je 0x14012bfe0
nop dword [rax + rax]
mov eax, dword [0x1415bee58]
sub eax, dword [0x1415bee5c]
mov ecx, eax
not ecx
and ecx, 0x2afcebae
mov edx, eax
and edx, 0x15031451
imul edx, ecx
mov ecx, eax
and ecx, 0x2afcebae
or eax, 0x2afcebae
imul eax, ecx
add eax, edx
not eax
and eax, 0x2dd73302
cmp eax, 0xa29a0673
je 0x14012c040
mov eax, edi
and eax, 3
cmp rax, 2
jg 0x14012c490
cmp eax, 1
jne 0x14012c590
mov rbx, qword [rdi - 1]
mov r14, qword [rdi + 7]
mov rax, qword [r14]
test rax, rax
je 0x14012c0eb
mov rcx, rbx
call rax
nop
mov eax, dword [0x1415bee70]
mov ecx, dword [0x1415bee74]
mov edx, eax
not edx
and edx, ecx
not edx
not ecx
and ecx, eax
not ecx
and ecx, edx
not ecx
add ecx, 0xc032e5f9
mov eax, ecx
and eax, 0x4351815
xor ecx, 0x84351815
lea eax, [rcx + rax*2]
cmp eax, 0xd14850cf
je 0x14012c0b0
dec rdi
nop
mov eax, dword [0x1415bee78]
mov ecx, dword [0x1415bee7c]
mov edx, eax
or edx, ecx
not eax
not ecx
and ecx, eax
not ecx
and ecx, edx
imul rax, rcx, 0x3f965af1
shr rax, 0x3d
add eax, 0x9cc0fe7d
imul rax, rax, 0x3f198257
shr rax, 0x3d
cmp eax, 0x61c9db09
ja 0x14012c0f0
mov rcx, qword [r14 + 8]
mov eax, dword [0x1415bee84]
add eax, dword [0x1415bee80]
xor eax, 0x155907e8
imul eax, eax, 0xf1bb92f1
cmp eax, 0xc785fd4d
je 0x14012c130
mov rax, qword [r14 + 0x10]
nop word cs:[rax + rax]
mov edx, dword [0x1415bee88]
and edx, dword [0x1415bee8c]
add edx, 0xfebb3d63
xor edx, 0x464520fd
add edx, 0x1a79c49e
cmp edx, 0xb4dbf359
ja 0x14012c160
test rcx, rcx
je 0x14012c360
nop
mov ecx, dword [0x1415bee94]
mov edx, ecx
xor edx, ecx
not edx
and edx, dword [0x1415bee90]
xor edx, ecx
add edx, 0xe5802ea4
cmp edx, 0x44754afe
ja 0x14012c190
nop word cs:[rax + rax]
mov ecx, dword [0x1415bee98]
mov edx, dword [0x1415bee9c]
not ecx
not edx
or edx, ecx
not edx
add edx, 0xec149420
mov ecx, edx
xor ecx, 0xf44889a7
or edx, 0xbb77658
and edx, ecx
cmp edx, 0xcb11e78a
ja 0x14012c1c0
cmp rax, 0x11
jb 0x14012c2ca
nop dword [rax]
mov ecx, dword [0x1415beea4]
mov eax, ecx
xor eax, eax
not eax
and eax, dword [0x1415beea0]
xor eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x887bc68
and ecx, 0xf7784397
imul ecx, edx
mov edx, eax
and edx, 0xf7784397
or eax, 0xf7784397
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xfa4924b4
mov edx, eax
and edx, 0x5b6db4b
imul edx, ecx
mov ecx, eax
and ecx, 0xfa4924b4
or eax, 0xfa4924b4
imul eax, ecx
add eax, edx
shr eax, 3
imul rax, rax, 0x258f385
shr rax, 0x35
cmp eax, 0x46f8cefc
ja 0x14012c200
mov rbx, qword [rbx - 8]
nop dword [rax + rax]
mov eax, dword [0x1415beea8]
or eax, dword [0x1415beeac]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x47dffdc3
and ecx, 0x3820023c
imul ecx, edx
mov edx, eax
and edx, 0x3820023c
or eax, 0x3820023c
imul eax, edx
add eax, ecx
or eax, 0x9af29a09
mov ecx, eax
xor ecx, 0xe6e60a7d
and ecx, eax
cmp ecx, 0x35ea2cb5
ja 0x14012c280
mov eax, dword [0x1415beeb0]
mov ecx, dword [0x1415beeb4]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
add eax, 0x122bb59e
imul rax, rax, 0x69c7555f
shr rax, 0x3e
or eax, 0x4bd31af8
cmp eax, 0x6b18e966
jbe 0x14012c30d
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r14, qword [sym.imp.KERNEL32.dll_HeapFree]
nop word cs:[rax + rax]
mov eax, dword [0x1415beeb8]
add eax, dword [0x1415beebc]
mov ebp, eax
xor ebp, 0x9de92c1
add ebp, eax
and eax, 0x36216d3e
sub ebp, eax
add ebp, 0x230120f2
or ebp, 0xd98fcd05
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rbx
call r14
cmp ebp, 0x32a607b2
jb 0x14012c320
mov eax, dword [0x1415beec0]
mov ecx, dword [0x1415beec4]
not eax
mov edx, eax
and edx, ecx
not edx
or eax, ecx
and eax, edx
not eax
mov ecx, 0x9fd7f761
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x7d573d6f
imul rax, rax, 0x2a712ad1
shr rax, 0x3a
cmp eax, 0x998a27e
jbe 0x14012c3b0
mov rax, qword [0x1415d3918]
nop word cs:[rax + rax]
mov eax, dword [0x1415beec8]
sub eax, dword [0x1415beecc]
or eax, 0x29cd0baa
add eax, 0xd080daf7
imul rax, rax, 0x4b26ada3
shr rax, 0x3d
mov rbx, qword [0x1415d3918]
cmp eax, 0x9ed9d7da
je 0x14012c3b0
mov eax, dword [0x1415beed0]
and eax, dword [0x1415beed4]
xor eax, 0xe5dca9c2
add eax, 0xec1cda45
mov ecx, eax
and ecx, 0x2ddc17ac
add ecx, ecx
sub eax, ecx
add eax, 0xaddc17ac
cmp eax, 0xccc9e076
jbe 0x14012c41b
mov rcx, rbx
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
xor ebp, ebp
nop dword [rax]
mov rcx, rbx
xor edx, edx
mov r8, rdi
call fcn.140219910
test bpl, bpl
jne 0x14012c420
nop word cs:[rax + rax]
mov eax, dword [0x1415beed8]
add eax, dword [0x1415beedc]
mov ecx, eax
xor ecx, 0x221d9fd0
and eax, 0x5de2602f
add eax, eax
sub eax, ecx
mov ecx, 0xf47bb829
sub ecx, eax
not ecx
and ecx, 0x3161d75
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xe9a654b
cmp eax, 0xbf2355d6
jae 0x14012c440
jmp 0x14012c590
mov ecx, dword [0x1415bee60]
mov eax, dword [0x1415bee64]
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, 0xb814c314
and ecx, 0x47eb3ceb
imul ecx, edx
mov edx, eax
and edx, 0x47eb3ceb
or eax, 0x47eb3ceb
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0x625c227b
mov edx, eax
and edx, 0x9da3dd84
imul edx, ecx
mov ecx, eax
and ecx, 0x625c227b
or eax, 0x625c227b
imul eax, ecx
add eax, edx
xor eax, 0x61317f2
cmp eax, 0xecebe029
ja 0x14012c490
nop word cs:[rax + rax]
mov eax, dword [0x1415bee68]
mov ecx, dword [0x1415bee6c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
imul eax, eax, 0x6da0727d
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xad16edd2
and ecx, 0x52e9122d
imul ecx, edx
mov edx, eax
and edx, 0x52e9122d
or eax, 0x52e9122d
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x83e6cd0e
and ecx, 0x7c1932f1
imul ecx, edx
mov edx, eax
and edx, 0x7c1932f1
or eax, 0x7c1932f1
imul eax, edx
add eax, ecx
cmp eax, 0x8aba8bf
jb 0x14012c510
nop word cs:[rax + rax]
mov eax, dword [0x1415bee28]
mov ecx, dword [0x1415bee2c]
mov edx, eax
and edx, ecx
not eax
not ecx
or ecx, eax
not ecx
or ecx, edx
mov eax, ecx
and eax, 0x4003d353
xor ecx, 0xc003d353
lea eax, [rcx + rax*2]
add eax, 0xbf09df45
cmp eax, 0x29629633
jb 0x14012c590
mov rax, rsi
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov ecx, dword [0x1415bee30]
mov eax, dword [0x1415bee34]
mov edx, ecx
xor edx, eax
not edx
and edx, eax
add edx, edx
sub eax, edx
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xe65c053a
mov edx, eax
and edx, 0x19a3fac5
imul edx, ecx
mov ecx, eax
and ecx, 0xe65c053a
or eax, 0xe65c053a
imul eax, ecx
add eax, edx
or eax, 0x16bc345b
add eax, 0xc308b80e
cmp eax, 0x55067d5f
ja 0x14012c668
mov eax, dword [0x1415bee38]
mov ecx, dword [0x1415bee3c]
mov edx, eax
or edx, ecx
not eax
not ecx
and ecx, eax
not ecx
and ecx, edx
mov eax, ecx
and eax, 0xfffffffe
xor eax, 0x3636bb58
and ecx, 0x3636bb58
or ecx, eax
shr ecx, 1
imul rax, rcx, 0x5143cc75
shr rax, 0x3c
ud2
ud2