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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r14, r8
mov r12, rdx
xor eax, eax
test al, al
jne 0x140088b87
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov r10, rsp
xor eax, eax
test al, al
je 0x140088b96
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
jmp 0x140088b71
mov eax, 0x10
call fcn.1400f07c0
sub rsp, rax
mov r15, rsp
mov eax, 0x2000
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
nop word cs:[rax + rax]
mov eax, dword [0x141dcf348]
imul eax, dword [0x141dcf34c]
or eax, 0x951bc335
add eax, 0x640a2a1d
cmp eax, 0x41d655b8
ja 0x140088bc0
cmp r14, 0x1001
jb 0x140088cd8
nop dword [rax + rax]
mov eax, dword [0x141dcf350]
add eax, dword [0x141dcf354]
or eax, 0x4dc16ce0
add eax, 0x98590cc8
and eax, 0x4c388014
cmp eax, 0xd4e9ff75
je 0x140088bf0
movzx r9d, byte [r12 + 0x1000]
mov r8d, 0xce18d835
nop word cs:[rax + rax]
mov eax, dword [0x141dcf358]
xor edx, edx
div dword [0x141dcf35c]
and eax, 0xdb0a2171
add eax, 0x811140ba
imul rax, r8
shr rax, 0x3f
cmp eax, 0x1759f5a1
ja 0x140088c30
mov r14d, 0x1000
cmp r9b, 0xbf
jg 0x140088cd8
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140088c70
mov r14d, 0xfff
cmp byte [r12 + 0xfff], 0xbf
jg 0x140088cd8
nop word cs:[rax + rax]
mov edx, dword [0x141dcf360]
xor edx, dword [0x141dcf364]
add edx, 0x5715ca89
and edx, 0x12b0112
xor r14d, r14d
cmp byte [r12 + 0xffe], 0xc0
setge al
cmp edx, 0xc8f9ba34
ja 0x140088c90
mov r14b, al
cmp byte [r12 + r14 + 0xffd], 0xbf
jle 0x140089148
add r14, 0xffd
mov qword [rbp - 0x18], r10
mov qword [rbp], rcx
mov eax, dword [0x141dcf378]
add eax, dword [0x141dcf37c]
imul eax, eax, 0xee8be702
cmp eax, 0xdcff488d
jne 0x140088d24
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r8, r12
mov r9d, r14d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
mov rdi, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop dword [rax + rax]
mov ebx, dword [0x141dcf380]
and ebx, dword [0x141dcf384]
or ebx, 0xfffdffff
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r8, r12
mov r9d, r14d
call rdi
add rsp, 0x30
cmp ebx, 0x839d9b5f
je 0x140088d30
mov r13d, eax
test eax, eax
je 0x1400890db
movsxd rcx, r13d
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140088d90
nop word cs:[rax + rax]
mov eax, dword [0x141dcf390]
add eax, dword [0x141dcf394]
cmp eax, 0x809f8068
je 0x140088da0
nop word cs:[rax + rax]
mov eax, dword [0x141dcf398]
xor eax, dword [0x141dcf39c]
and eax, 0x42ac67aa
add eax, 0x7331319e
xor eax, 0xecde3c2a
cmp eax, 0x1cfa783a
jb 0x140088dc0
cmp r13d, 0x1000
ja 0x14008919e
mov qword [rbp - 8], rcx
mov qword [rbp - 0x10], r14
mov dword [r15], 0
mov eax, dword [0x141dcf3a0]
or eax, dword [0x141dcf3a4]
xor eax, 0x304a9058
or eax, 0x4e954a87
add eax, 0xd6448ef9
cmp eax, 0xcb39eafa
jbe 0x140088e44
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, qword [rbp]
mov rdx, rsi
mov r8d, r13d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
mov r12d, 0xb4155add
mov rdi, qword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov r14, qword [rbp]
nop word cs:[rax + rax]
mov ebx, dword [0x141dcf3a8]
add ebx, dword [0x141dcf3ac]
or ebx, 0x6864c75e
imul rbx, r12
shr rbx, 0x3f
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, r14
mov rdx, rsi
mov r8d, r13d
mov r9, r15
call rdi
add rsp, 0x30
cmp ebx, 0x265909e
je 0x140088e60
test eax, eax
je 0x14008906f
nop dword [rax]
mov eax, dword [0x141dcf3b0]
add eax, dword [0x141dcf3b4]
imul eax, eax, 0x5a6bf838
cmp eax, 0xa1fb191d
je 0x140088eb0
mov r15d, dword [r15]
mov rbx, qword [rbp]
mov r12, qword [rbp - 0x18]
mov r11, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
nop dword [rax]
mov eax, dword [0x141dcf3b8]
xor edx, edx
div dword [0x141dcf3bc]
or eax, 0x6edb04ae
add eax, 0xf3fbd2f9
and eax, 0x62721bac
cmp eax, 0xb01a1e8b
je 0x140088ee0
cmp r15, rcx
jne 0x140088f10
mov eax, dword [0x141dcf3c8]
xor eax, dword [0x141dcf3cc]
or eax, 0x18a85e20
imul rax, rax, 0x643de7cf
shr rax, 0x3d
add eax, 0xe453f63e
cmp eax, 0xfb2fb7f0
ja 0x140088f10
cmp r15, rcx
jae 0x140089111
lea r14, [rsi + r15*2]
nop word cs:[rax + rax]
mov eax, dword [0x141dcf3d0]
add eax, dword [0x141dcf3d4]
and eax, 0x821c0d72
add eax, 0xc86ad857
cmp eax, 0x2043ab67
jb 0x140088f50
movzx eax, word [rsi + r15*2]
add eax, 0x2312
nop word [rax + rax]
mov ecx, dword [0x141dcf3d8]
xor ecx, dword [0x141dcf3dc]
imul ecx, ecx, 0x15000e5e
add ecx, 0xa5ffe640
cmp ecx, 0xde13f1fc
ja 0x140088f80
movzx eax, ax
cmp eax, 0x312
jae 0x140089020
mov eax, dword [0x141dcf3e8]
xor edx, edx
div dword [0x141dcf3ec]
inc r15
nop dword [rax + rax]
mov eax, dword [0x141dcf3f0]
xor eax, dword [0x141dcf3f4]
or eax, 0xa1317309
imul eax, eax, 0x4864cc3b
shr eax, 1
imul rax, rax, 0x13e4e37b
shr rax, 0x38
cmp eax, 0x6c4d97ad
ja 0x140088fc0
mov eax, dword [0x141dcf3f8]
and eax, dword [0x141dcf3fc]
xor eax, 0x81d03132
and eax, 0xd3f975fe
add eax, 0x48f95228
cmp eax, 0xa4ee86aa
jbe 0x1400891a0
jmp 0x1400891ee
mov eax, dword [0x141dcf418]
xor eax, dword [0x141dcf41c]
or eax, 0x20000400
and eax, 0x21024400
cmp eax, 0xe3a7cc47
ja 0x140089020
nop dword [rax]
mov eax, dword [0x141dcf420]
and eax, dword [0x141dcf424]
xor eax, 0xd10c3db2
imul eax, eax, 0xfe140c62
cmp eax, 0x4e91edd9
jb 0x140089040
test r15, r15
jne 0x14008928e
xor r11d, r11d
jmp 0x140088f09
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov r11d, eax
shl r11, 0x20
or r11, 2
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140089090
nop word cs:[rax + rax]
mov eax, dword [0x141dcf3c0]
add eax, dword [0x141dcf3c4]
and eax, 0x230afaae
add eax, 0x7c0b76a5
or eax, 0xd6d13c6c
cmp eax, 0x4ef986fd
je 0x1400890a0
mov eax, 1
ud2
mov eax, dword [0x141dcf3e0]
add eax, dword [0x141dcf3e4]
and eax, 0xf692800f
or eax, 0x84c50f0
imul eax, eax, 0xa29b6aa
cmp eax, 0x6bfb496
jne 0x140089136
ud2
xor eax, eax
nop dword [rax + rax]
ud2
mov eax, dword [0x141dcf368]
mov ecx, dword [0x141dcf36c]
add eax, ecx
add eax, 0x8bf5ac4
imul rax, rax, 0x2294325d
shr rax, 0x3c
cmp al, 0x35
invalid
push rsi
jge 0x1400891d9
cmp eax, 0x6b48f008
jae 0x140089174
ud2
mov eax, dword [0x141dcf370]
or eax, dword [0x141dcf374]
or eax, 0xddf1c797
imul rax, rax, 0x7c5fc9d3
shr rax, 0x3e
or eax, 0x52bc3d9e
ud2
ud2
mov edi, dword [0x141dcf400]
sub edi, dword [0x141dcf404]
add edi, 0x3d87c1ca
and edi, 0xc97bcca4
mov dword [r12], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
add byte [rax - 0x77], cl
invalid
mov rdx, r14
mov r8d, 1
mov r9, r12
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp edi, 0x8e6c3a02
jae 0x14008921e
mov dword [r12], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, r14
mov r8d, 1
mov r9, r12
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
jmp 0x1400891a0
test eax, eax
je 0x140089255
nop word cs:[rax + rax]
mov eax, dword [0x141dcf408]
add eax, dword [0x141dcf40c]
imul eax, eax, 0xc919c513
add eax, 0xa98d9e09
xor eax, 0x8d5c47ee
cmp eax, 0xc26ea83f
jbe 0x140089230
jmp 0x14008928e
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141dcf410]
or eax, dword [0x141dcf414]
imul eax, eax, 0x482ef4b5
or eax, 0xfefdeef4
cmp eax, 0x6d094cf6
je 0x140089270
lea rax, [rsi + r15*2]
xor r11d, r11d
mov ecx, 0xa20cedd3
jmp 0x1400892b0