Function at 0x140087d60
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
push rax
mov rbp, rsp
mov rdi, r8
mov r8, rdx
mov rbx, rcx
mov eax, dword [0x141dce348]
imul eax, dword [0x141dce34c]
or eax, 0x8cefd36b
mov ecx, 0xf23f383d
imul rcx, rax
shr rcx, 0x3d
imul eax, ecx, 0xb957892b
cmp eax, 0xd3a2c002
je 0x140087def
mov eax, dword [0x141dce350]
sub eax, dword [0x141dce354]
imul eax, eax, 0x3e2c5488
add eax, 0x14f85c7b
imul rcx, rax, 0x11f0ce59
shr rcx, 0x3a
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
cmp ecx, 0x208dabc8
jbe 0x140087e0b
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
mov eax, 0x10
call fcn.1400ef330
sub rsp, rax
jmp 0x140087da5
mov eax, 0x2000
call fcn.1400ef330
sub rsp, rax
mov rsi, rsp
cmp rdi, 0x1001
jb 0x140087f78
nop dword [rax + rax]
mov eax, dword [0x141dce358]
sub eax, dword [0x141dce35c]
or eax, 0x31d6af91
imul eax, eax, 0x4ae86853
imul rax, rax, 0x4103460d
shr rax, 0x3e
cmp eax, 0xc668b8cf
ja 0x140087e30
nop dword [rax]
mov eax, dword [0x141dce360]
imul eax, dword [0x141dce364]
imul eax, eax, 0x63dc3cfa
or eax, 0xb1595f46
add eax, 0xfc92b610
cmp eax, 0x8258007c
jb 0x140087e60
mov edi, 0x1000
cmp byte [r8 + 0x1000], 0xbf
jg 0x140087f78
nop word [rax + rax]
mov eax, dword [0x141dce368]
xor eax, dword [0x141dce36c]
add eax, 0x2b2f9595
xor eax, 0x19f64f3c
imul eax, eax, 0xf6154a39
cmp eax, 0x9f1d7185
ja 0x140087ea0
mov edi, 0xfff
cmp byte [r8 + 0xfff], 0xbf
jg 0x140087f78
nop word cs:[rax + rax]
mov eax, dword [0x141dce370]
imul eax, dword [0x141dce374]
xor eax, 0x676233f6
add eax, 0x663f86d7
or eax, 0x1202a7b8
cmp eax, 0xd73f8a89
ja 0x140087ee0
movzx ecx, byte [r8 + 0xffe]
nop dword [rax + rax]
xor edi, edi
cmp cl, 0xc0
setge r9b
mov eax, dword [0x141dce378]
xor edx, edx
div dword [0x141dce37c]
imul eax, eax, 0xe201fd02
cmp eax, 0xb0ad53f
je 0x140087f10
mov dil, r9b
movzx eax, byte [r8 + rdi + 0xffd]
add rdi, 0xffd
nop word [rax + rax]
mov ecx, dword [0x141dce380]
sub ecx, dword [0x141dce384]
imul ecx, ecx, 0x1d7f6cd5
or ecx, 0xe6a5ffeb
cmp ecx, 0x80a886e0
jb 0x140087f50
cmp al, 0xbf
jle 0x140088082
sub rsp, 0x30
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x28], 0x1000
mov ecx, 0xfde9
mov edx, 8
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add rsp, 0x30
test eax, eax
je 0x14008802d
mov r12d, eax
mov ecx, 0x80bce343
cdqe
mov qword [rbp], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dce390]
xor edx, edx
div dword [0x141dce394]
xor eax, 0x46a5e4c2
imul rax, rcx
shr rax, 0x3f
or eax, 0x7e3c14d2
cmp eax, 0x4bd42330
jb 0x140087fc0
xor eax, eax
nop dword [rax]
test al, al
jne 0x140087ff0
cmp r12d, 0x1000
ja 0x14008805a
mov eax, dword [0x141dce398]
sub eax, dword [0x141dce39c]
and eax, 0x5306aef8
add eax, 0xf3084d1f
mov ecx, 0xcf9fd2cb
imul rcx, rax
shr rcx, 0x3d
cmp ecx, 0xb5338034
jbe 0x140088084
jmp 0x1400880d1
ud2
ud2
ud2
mov eax, dword [0x141dce3a0]
sub eax, dword [0x141dce3a4]
imul r13d, eax, 0x249dea92
or r13d, 0xefd9f8fb
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
cmp r13d, 0x31a09167
jae 0x140088100
mov dword [r15], 0
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rsi
mov r8d, r12d
mov r9, r15
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
jmp 0x140088084
mov ecx, dword [0x141dce3a8]
xor ecx, dword [0x141dce3ac]
add ecx, 0xe97c1aac
or ecx, 0x13773fb7
cmp ecx, 0x1c8838be
jb 0x140088100
test eax, eax
je 0x1400881e0
mov r15d, dword [r15]
cmp r15, qword [rbp]
je 0x140088514
jae 0x14008823d
lea r8, [rsi + r15*2]
movzx eax, word [rsi + r15*2]
add eax, 0x2312
nop dword [rax]
mov ecx, dword [0x141dce3c0]
sub ecx, dword [0x141dce3c4]
or ecx, 0xc87668c2
imul ecx, ecx, 0xb2e08ea2
and ecx, 0xb4c93b84
cmp ecx, 0x9d7768f9
ja 0x140088150
movzx eax, ax
cmp eax, 0x312
jae 0x14008822d
mov eax, 0xa3a1b033
inc r15
nop dword [rax]
mov ecx, dword [0x141dce3e0]
add ecx, dword [0x141dce3e4]
and ecx, 0xcb61933a
imul ecx, ecx, 0xae31af71
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0x681c283f
je 0x140088190
mov eax, dword [0x141dce3e8]
xor edx, edx
div dword [0x141dce3ec]
add eax, 0xbb262aed
or eax, 0x9e954c44
cmp eax, 0x947032dc
jne 0x140088273
jmp 0x1400882a7
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov edi, eax
shl rdi, 0x20
or rdi, 2
nop dword [rax + rax]
mov eax, dword [0x141dce3b8]
xor eax, dword [0x141dce3bc]
add eax, 0x7bf69bdd
imul rax, rax, 0x5d7e991d
shr rax, 0x3e
cmp eax, 0x18db8932
jae 0x140088200
mov eax, 1
jmp 0x140088543
test r15, r15
jne 0x1400883cf
xor edi, edi
jmp 0x140088514
mov eax, dword [0x141dce3c8]
imul eax, dword [0x141dce3cc]
xor eax, 0x18efdb82
mov ecx, 0xbf87d6cd
imul rcx, rax
shr rcx, 0x3f
or ecx, 0xd18e4abe
cmp ecx, 0xd0b28d93
jae 0x140088568
jmp 0x140088587
mov eax, dword [0x141dce3f0]
add eax, dword [0x141dce3f4]
mov ecx, 0x99ad7ac3
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x4518e6a5
and ecx, 0x1108481
mov dword [r14], 0
cmp ecx, 0xddfcbab5
jne 0x1400882b0
mov dword [r14], 0
jmp 0x140088273
sub rsp, 0x30
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, r8
mov r8d, 1
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteConsoleW]
add rsp, 0x30
test eax, eax
je 0x14008830f
mov eax, 0x94d18f93
nop
mov ecx, dword [0x141dce3f8]
or ecx, dword [0x141dce3fc]
imul ecx, ecx, 0xc496cb0d
shr ecx, 1
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xf3a72837
cmp ecx, 0xc3e658c0
jbe 0x1400882e0
jmp 0x1400883cf
mov eax, dword [0x141dce400]
imul eax, dword [0x141dce404]
imul eax, eax, 0xc836cf65
xor eax, 0x20080020
or eax, 0x4db3dbce
cmp eax, 0x707a99d9
jne 0x140088341
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetLastError]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, dword [0x141dce408]
or ebx, dword [0x141dce40c]
or ebx, 0xa4125089
and ebx, 0xb4dff1af
add ebx, 0xa4174b6a
sub rsp, 0x20
call rdi
add rsp, 0x20
cmp ebx, 0x5be6b562
ja 0x140088350
mov eax, dword [0x141dce410]
imul eax, dword [0x141dce414]
imul eax, eax, 0xb84d4d64
add eax, 0x3d7c0124
and eax, 0x6fbaf258
cmp eax, 0x36957b
jb 0x140088380
nop word cs:[rax + rax]
mov eax, dword [0x141dce418]
imul eax, dword [0x141dce41c]
xor eax, 0xed178a2
imul eax, eax, 0xc9a23d84
cmp eax, 0x5e282b22
ja 0x1400883b0
lea rcx, [rsi + r15*2]
nop word cs:[rax + rax]
mov eax, dword [0x141dce420]
xor eax, dword [0x141dce424]
or eax, 0xe7f572cb
imul eax, eax, 0x29e321e4
add eax, 0x916d1c54
cmp eax, 0xa37c79b8
ja 0x1400883e0
xor edi, edi
mov r8d, 0xc0bc27e7
nop dword [rax + rax]
movzx eax, word [rsi]
mov r9d, 1
cmp eax, 0x80
jb 0x1400884c5
nop word cs:[rax + rax]
mov edx, dword [0x141dce430]
or edx, dword [0x141dce434]
imul rdx, r8
shr rdx, 0x3c
or edx, 0x40494301
and edx, 0x4049430d
cmp edx, 0x64707f58
ja 0x140088430
nop dword [rax + rax]
mov edx, dword [0x141dce438]
xor edx, dword [0x141dce43c]
cmp edx, 0x2999fbb3
je 0x140088460
movzx edx, ax
mov r9d, 2
cmp edx, 0x800
jb 0x1400884c5
mov edx, dword [0x141dce440]
or edx, dword [0x141dce444]
add edx, 0x130a96f1
or edx, 0x9e2aaa77
add edx, 0x2f8ef56c
cmp edx, 0x90f0437e
jb 0x140088485
add eax, 0x2312
movzx eax, ax
xor edx, edx
cmp eax, 0x312
setae dl
lea r9, [rdx*2 + 1]
add rsi, 2
mov eax, dword [0x141dce448]
xor edx, edx
div dword [0x141dce44c]
nop word [rax + rax]
mov eax, dword [0x141dce450]
or eax, dword [0x141dce454]
or eax, 0x80002402
and eax, 0xbaa234b3
imul rax, rax, 0xcefc725
shr rax, 0x3b
cmp eax, 0x75a56c69
je 0x1400884e0
add rdi, r9
cmp rsi, rcx
jne 0x140088410
mov ecx, 0xaf18bd7f
xor eax, eax
nop dword [rax + rax]
mov eax, dword [0x141dce3d0]
sub eax, dword [0x141dce3d4]
add eax, 0xfeb902e5
or eax, 0xd6715b7b
ud2
ud2