Function at 0x140147fa0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x20
lea rbp, [rsp + 0x20]
mov eax, dword [0x1415c1fc8]
and eax, dword [0x1415c1fcc]
add eax, 0xf2796cb8
imul rax, rax, 0x9be2517
shr rax, 0x3a
cmp eax, 0xc3f3b0d4
jne 0x140147fdc
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov ecx, 0xbe3674f7
nop word cs:[rax + rax]
mov edx, dword [0x1415c1fd0]
mov eax, dword [0x1415c1fd4]
mov r8d, edx
not r8d
and r8d, eax
mov r9d, eax
not r9d
and r9d, edx
imul r9d, r8d
mov r8d, edx
and r8d, eax
or edx, eax
imul edx, r8d
add edx, r9d
imul rdx, rcx
shr rdx, 0x3e
or edx, 0xab67bf7d
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rsi, rsp
cmp edx, 0x5d4c2fe1
jb 0x140147ff0
nop word [rax + rax]
mov eax, dword [0x1415c1fd8]
imul eax, dword [0x1415c1fdc]
mov ecx, eax
xor ecx, 0x94ca0200
xor eax, 0x6830d9ba
or ecx, 0x2305ec67
and ecx, eax
mov eax, ecx
xor eax, 0xd541626
add eax, ecx
and ecx, 0xf2abe9d9
sub eax, ecx
cmp eax, 0x5d7e0eff
ja 0x140148050
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x48]
cmp rax, 0xffffffffffffffff
je 0x140148304
movabs rcx, 0xcc24b6f8ae6e880a
mov rdx, rax
sub rdx, rcx
add rcx, rdx
inc rcx
lea rdx, [rax + rax]
cmp rdx, rcx
cmove rdx, rcx
test rax, rax
cmovle rdx, rcx
cmp rdx, 5
mov edi, 4
cmovae rdi, rdx
xor edx, edx
mov rcx, rdi
shr rcx, 0x3b
sete dl
mov r8, rdi
shl r8, 4
shl rdx, 3
test rax, rax
je 0x140148132
shl rax, 4
mov ecx, dword [0x1415c1fe0]
mov r9d, dword [0x1415c1fe4]
not ecx
not r9d
and r9d, ecx
not r9d
imul ecx, r9d, 0x2ea56bbe
add ecx, 0xc0031da2
cmp ecx, 0x6c553d71
jbe 0x140148136
jmp 0x140148187
xor eax, eax
jmp 0x1401481b0
mov ecx, dword [0x1415c1fe8]
mov r9d, dword [0x1415c1fec]
mov r10d, ecx
not r10d
and r10d, r9d
not r9d
and r9d, ecx
sub r9d, r10d
or r9d, 0x2f7dffff
mov ecx, dword [0x1415d3954]
mov r10, qword gs:[0x58]
mov rcx, qword [r10 + rcx*8]
mov rcx, qword [rcx + 0x50]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 8], rax
cmp r9d, 0x8aea08db
jne 0x1401481ab
mov ecx, dword [0x1415d3954]
mov r9, qword gs:[0x58]
mov rcx, qword [r9 + rcx*8]
mov rcx, qword [rcx + 0x50]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 8], rax
jmp 0x140148136
mov eax, 8
mov qword [rbp - 0x10], rax
sub rsp, 0x20
lea r9, [rbp - 0x18]
mov rcx, rsi
call fcn.14013a410
add rsp, 0x20
cmp qword [rsi], 0
jne 0x1401482e0
mov eax, 0xe26d918d
nop word [rax + rax]
mov ecx, dword [0x1415c2008]
mov edx, dword [0x1415c200c]
mov r8d, ecx
xor r8d, edx
not r8d
or ecx, edx
and ecx, r8d
add ecx, 0xfe9234eb
mov edx, ecx
not edx
and edx, 0xac8241c5
mov r8d, ecx
and r8d, 0x537dbe3a
imul r8d, edx
mov edx, ecx
and edx, 0xac8241c5
or ecx, 0xac8241c5
imul ecx, edx
add ecx, r8d
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xd49d167c
je 0x1401481e0
mov rax, qword [rsi + 8]
mov ecx, dword [0x1415d3954]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x50], rax
mov eax, dword [0x1415c2010]
imul eax, dword [0x1415c2014]
mov ecx, eax
not ecx
or ecx, 0x39f4df6f
add eax, ecx
inc eax
mov ecx, 0xbd67bf71
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x29d73a03
cmp ecx, 0xb9ee45b2
jbe 0x1401482aa
mov eax, dword [0x1415d3954]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x48], rdi
xor eax, eax
nop dword [rax]
mov ecx, dword [0x1415d3954]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
mov qword [rcx + 0x48], rdi
test al, al
jne 0x1401482b0
mov rsp, rbp
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [0x1415c1ff0]
imul eax, dword [0x1415c1ff4]
and eax, 0xece05d05
imul rax, rax, 0x7ea5283f
shr rax, 0x3e
cmp eax, 0x18ba974c
je 0x1401482e0
mov eax, dword [0x1415c1ff8]
sub eax, dword [0x1415c1ffc]
shr eax, 3
imul rax, rax, 0x2018143b
shr rax, 0x39
cmp eax, 0xb9e78de4
je 0x140148362
mov eax, dword [0x1415c2000]
imul eax, dword [0x1415c2004]
add eax, 0xcdc1a97d
mov ecx, eax
and ecx, 0x38ea039a
add ecx, ecx
sub eax, ecx
add eax, 0xb8ea039a
mov ecx, eax
xor ecx, 0xf8c83ddd
and eax, 0x737c222
add eax, eax
sub eax, ecx
ud2
ud2