Function at 0x140152e60
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x1402100c0]
or eax, dword [0x1402100c4]
or eax, 0x1451363d
mov ecx, 0x90de402e
sub ecx, eax
or ecx, 0x1861871c
add ecx, eax
cmp ecx, 0x6809aa17
jne 0x140152eb0
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
nop
mov eax, dword [0x1402100c8]
mov ecx, dword [0x1402100cc]
add eax, ecx
add eax, 0xd8c409b2
imul rcx, rax, 0x21fe167f
shr rcx, 0x3d
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.1401516e0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x930192bc
je 0x140152eb0
nop word cs:[rax + rax]
mov eax, dword [0x1402100d0]
mov ecx, dword [0x1402100d4]
mov r8d, eax
not r8d
and r8d, ecx
mov r10d, ecx
not r10d
and r10d, eax
imul r10d, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, r10d
or eax, 0x4b0cac9
mov ecx, eax
and ecx, 0x2ae93811
add ecx, ecx
sub eax, ecx
cmp eax, 0x8e71b470
je 0x140152f00
nop dword [rax]
mov eax, dword [0x1402100d8]
mov ecx, dword [0x1402100dc]
not eax
not ecx
or ecx, eax
not ecx
mov eax, ecx
and eax, 0x15acf9dd
or ecx, 0x15acf9dd
add ecx, eax
or ecx, 0xcfa70506
mov eax, ecx
and eax, 0x5696a7e3
add eax, eax
neg eax
add eax, ecx
add eax, 0xd696a7e3
cmp eax, 0x51724af7
ja 0x140152f50
cmp rdx, 0xffffffffffffffff
je 0x140153363
inc rdx
mov rcx, qword [rsi]
lea rax, [rcx + rcx]
cmp rax, rdx
cmova rdx, rax
cmp rdx, 5
mov ebx, 4
cmovae rbx, rdx
movabs r10, 0x2aaaaaaaaaaaaaa
mov rax, rbx
shl rax, 4
lea r8, [rax + rax*2]
nop
mov eax, dword [0x1402100e0]
xor edx, edx
div dword [0x1402100e4]
mov edx, eax
not edx
mov r11d, eax
and r11d, 0xf69ab74b
and edx, 0x96548b4
imul edx, r11d
mov r11d, eax
and r11d, 0x96548b4
or eax, 0x96548b4
imul eax, r11d
lea r11d, [rax + rdx]
add r11d, 0x91e3faf8
or r11d, 0x4a7ca35e
xor edx, edx
cmp rbx, r10
setbe al
cmp r11d, 0xa1a5f529
jb 0x140152fd0
mov dl, al
shl rdx, 3
nop word cs:[rax + rax]
mov eax, dword [0x1402100e8]
and eax, dword [0x1402100ec]
mov r10d, eax
not r10d
and r10d, 0xf4db95b
mov r11d, eax
and r11d, 0xb246a4
imul r11d, r10d
mov r10d, eax
and r10d, 0xf4db95b
or eax, 0xf4db95b
imul eax, r10d
add eax, r11d
add eax, 0x35384c82
or eax, 0xf600b693
cmp eax, 0x9d329162
jb 0x140153040
test rcx, rcx
je 0x14015315b
mov r10, rcx
and r10, 0xffffffffffffffcf
mov rax, rcx
or rax, 0x30
xor r11d, r11d
nop dword [rax + rax]
test r11b, r11b
jne 0x1401530b0
mov r11d, ecx
not r11d
and r11d, 0x30
imul r10, r11
and ecx, 0x30
imul rax, rcx
add rax, r10
mov rcx, qword [rsi + 8]
mov r11d, dword [0x1402100f0]
and r11d, dword [0x1402100f4]
mov r10d, r11d
xor r10d, 0x1cd7b4e8
xor r11d, 0x40284a17
and r11d, 0x542beaff
mov r14d, r10d
and r14d, 0xabd41500
imul r14d, r11d
mov r11d, r10d
and r11d, 0x542beaff
or r10d, 0x542beaff
imul r10d, r11d
add r10d, r14d
mov r11d, r10d
not r11d
and r11d, 0xa4635d8c
mov r14d, r10d
and r14d, 0x5b9ca273
imul r14d, r11d
mov r11d, r10d
and r11d, 0xa4635d8c
or r10d, 0xa4635d8c
imul r10d, r11d
add r10d, r14d
cmp r10d, 0x570164cc
jae 0x140153162
jmp 0x1401531c4
xor eax, eax
jmp 0x14015329f
mov r10d, dword [0x1402100f8]
mov r11d, dword [0x1402100fc]
not r10d
not r11d
or r11d, r10d
mov r10d, r11d
not r10d
or r10d, 0x6661d052
or r11d, 0x999e2fad
and r11d, r10d
not r11d
lea r10d, [r11 + 0xb0e0df7]
mov r14d, r10d
and r14d, 0x3c4deb4a
xor r10d, 0xc3b214b5
add r10d, r11d
add r10d, 0xb0e0df7
sub r10d, r14d
mov qword [r9], rcx
cmp r10d, 0x3af12b75
jne 0x1401531c9
mov qword [r9], rcx
jmp 0x140153162
mov r10d, dword [0x140210100]
mov ecx, dword [0x140210104]
mov r11d, r10d
not r11d
and r10d, ecx
not ecx
or ecx, r11d
not ecx
or ecx, r10d
mov r10d, ecx
not r10d
mov r11d, ecx
and r11d, 0x34863b0e
and r10d, 0xcb79c4f1
imul r10d, r11d
mov r11d, ecx
and r11d, 0xcb79c4f1
or ecx, 0xcb79c4f1
imul ecx, r11d
add ecx, r10d
imul r10, rcx, 0x11d66d7b
shr r10, 0x20
sub ecx, r10d
shr ecx, 1
add ecx, r10d
shr ecx, 0x1d
add ecx, 0x594e4ca
cmp ecx, 0x24578259
ja 0x140153294
mov ecx, dword [0x140210108]
add ecx, dword [0x14021010c]
and ecx, 0x603f8773
imul rcx, rcx, 0x4250c305
shr rcx, 0x3b
mov r10d, ecx
not r10d
mov r11d, ecx
and r11d, 1
and r10d, 0x98a4b9ae
imul r10d, r11d
mov r11d, ecx
and r11d, 0xfffffffe
or ecx, 0x98a4b9ae
imul ecx, r11d
add ecx, r10d
mov qword [r9 + 0x10], rax
cmp ecx, 0xe546a54
jne 0x14015329a
mov qword [r9 + 0x10], rax
jmp 0x14015323f
mov eax, 8
mov qword [r9 + 8], rax
sub rsp, 0x20
mov rcx, rdi
call fcn.1400ac0c0
add rsp, 0x20
cmp qword [rdi], 0
jne 0x140153300
mov rax, qword [rdi + 8]
mov qword [rsi + 8], rax
mov eax, dword [0x140210138]
mov ecx, dword [0x14021013c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, 0x91a24017
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xb968ccea
cmp ecx, 0x6244d5be
jae 0x140153474
jmp 0x1401534a0
mov eax, dword [0x140210110]
xor edx, edx
div dword [0x140210114]
add eax, 0xa7bf1f5b
mov ecx, eax
and ecx, 0x70f27969
or eax, 0x70f27969
add eax, ecx
cmp eax, 0x307ac7ba
je 0x140153300
nop dword [rax]
mov eax, dword [0x140210118]
imul eax, dword [0x14021011c]
mov ecx, eax
or ecx, 0x804030
xor ecx, 0xc1038108
or eax, 0xcc84032
and eax, ecx
and eax, 0xcdcbc13a
xor eax, 0x89092d01
cmp eax, 0x845812f8
je 0x140153330
mov eax, dword [0x140210120]
or eax, dword [0x140210124]
add eax, 0x704ecf0a
mov ecx, eax
not ecx
and ecx, 0x5ee21df2
mov edx, eax
and edx, 0xa11de20d
imul edx, ecx
mov ecx, eax
and ecx, 0x5ee21df2
or eax, 0x5ee21df2
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
and ecx, 0x80df2fd9
and eax, 0x7f20d026
sub eax, ecx
cmp eax, 0x2d20f0e9
jae 0x1401533b5
ud2
mov eax, 0xf0444b8f
nop word [rax + rax]
mov ecx, dword [0x140210128]
mov edx, dword [0x14021012c]
mov r8d, ecx
and r8d, edx
add r8d, r8d
add ecx, edx
sub ecx, r8d
mov edx, ecx
not edx
or ecx, 0xed5946c6
or edx, 0x12a6b939
and edx, ecx
mov ecx, edx
not ecx
mov r8d, ecx
and r8d, 0x11d09798
and edx, 0xee2f6867
imul edx, r8d
mov r8d, ecx
and r8d, 0xee2f6867
or ecx, 0xee2f6867
imul ecx, r8d
add ecx, edx
imul rcx, rax
shr rcx, 0x3b
ud2
mov eax, dword [0x140210140]
imul eax, dword [0x140210144]
or eax, 0xb4315869
imul rax, rax, 0x1a86929
shr rax, 0x37
or eax, 0xf48ed0bd
mov qword [rsi], rbx
cmp eax, 0x1c92854d
jae 0x1401534a5
mov qword [rsi], rbx
jmp 0x140153474
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret