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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
test r8, r8
js 0x14008c2a6
mov r14, r8
mov rdi, rdx
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dceb80]
or eax, dword [0x141dceb84]
or eax, 0xd948b40c
imul rax, rax, 0xb62751
shr rax, 0x36
xor eax, 0xa4be029a
cmp eax, 0x9259da6f
jb 0x14008bbf0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x14008bc20
test r14, r14
je 0x14008bce0
movzx eax, byte [0x141ddb278]
xor ecx, ecx
mov rdx, r14
call fcn.1400c0180
mov rbx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dceb88]
add eax, dword [0x141dceb8c]
or eax, 0xe4eaea13
imul eax, eax, 0x76851801
cmp eax, 0x6968684
je 0x14008bc50
test rbx, rbx
jne 0x14008bce5
mov eax, dword [0x141dceb90]
and eax, dword [0x141dceb94]
add eax, 0x77fcb042
imul rcx, rax, 0xc73e56b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
or eax, 0x27edf466
cmp eax, 0x2037d230
jae 0x14008bca6
ud2
mov eax, 0x8472a2c7
nop dword [rax + rax]
mov ecx, dword [0x141dceb98]
imul ecx, dword [0x141dceb9c]
or ecx, 0x58f44acf
xor ecx, 0xf8ea9e59
imul rcx, rax
shr rcx, 0x3e
ud2
mov ebx, 1
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], 0
mov byte [rsp + 0x48], 1
lea rax, [rdi + r14*2]
mov qword [rsp + 0x50], rax
xor ebp, ebp
mov r15d, 0x9289abab
xor r12d, r12d
xor r14d, r14d
jmp 0x14008bd4a
xor r14d, r14d
mov r13d, 2
nop
mov rax, qword [rsp + 0x30]
sub rax, r12
cmp rax, r13
jb 0x14008c12a
lea rcx, [rbx + r12]
lea rdx, [rsp + 0x28]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add r12, r13
mov qword [rsp + 0x40], r12
mov eax, dword [0x141dceba0]
add eax, dword [0x141dceba4]
imul eax, eax, 0x847abe71
add eax, 0xbf9b2773
cmp eax, 0x7a3aeecf
jb 0x14008bd4a
test r14w, r14w
je 0x14008bd80
movzx eax, word [rsp + 0x2e]
mov r8d, eax
jmp 0x14008be30
mov eax, dword [0x141dceba8]
sub eax, dword [0x141dcebac]
and eax, 0xc332d30b
imul eax, eax, 0xb21490c7
cmp eax, 0x23652fe0
je 0x14008bd80
cmp rdi, qword [rsp + 0x50]
je 0x14008c27e
nop dword [rax]
mov eax, dword [0x141dcebb0]
imul eax, dword [0x141dcebb4]
add eax, 0x33771d1c
xor eax, 0xfb017b88
cmp eax, 0xc61460d9
ja 0x14008bdb0
lea rcx, [rdi + 2]
mov eax, dword [0x141dcebb8]
xor edx, edx
div dword [0x141dcebbc]
or eax, 0xa5a8efc0
imul rax, rax, 0x43623a77
shr rax, 0x3d
cmp eax, 0x47be0135
ja 0x14008bdd2
movzx r8d, word [rdi]
nop dword [rax + rax]
mov eax, dword [0x141dcebc0]
xor edx, edx
div dword [0x141dcebc4]
or eax, 0x808084
xor eax, 0x1c22
and eax, 0x14819ca6
cmp eax, 0x6ace1429
je 0x14008be00
mov rdi, rcx
nop word [rax + rax]
mov eax, dword [0x141dcebc8]
xor edx, edx
div dword [0x141dcebcc]
add eax, 0x49c84195
xor eax, 0x6c90f8cb
cmp eax, 0x7152538c
ja 0x14008be30
mov eax, r8d
and eax, 0xf800
movzx ecx, ax
movzx eax, r8w
cmp ecx, 0xd800
jne 0x14008be80
cmp eax, 0xdbff
jbe 0x14008bf50
xor r14d, r14d
jmp 0x14008bfac
mov ecx, dword [0x141dcebd0]
sub ecx, dword [0x141dcebd4]
and ecx, 0xd50afe63
imul ecx, ecx, 0xb652021d
add ecx, 0x6b2faf7
cmp ecx, 0x32d0ccb6
jb 0x14008be80
shl rax, 0x10
mov rcx, rax
shr rax, 0x10
mov dword [rsp + 0x28], 0
cmp eax, 0x80
jae 0x14008c08d
mov ecx, dword [0x141dcec28]
add ecx, dword [0x141dcec2c]
or ecx, 0xff871613
add ecx, 0x5216d8d5
xor ecx, 0x45a66bb7
cmp ecx, 0x687f5b99
jbe 0x14008bef0
mov byte [rsp + 0x28], al
nop
mov ecx, dword [0x141dcec30]
or ecx, dword [0x141dcec34]
shr ecx, 1
imul rcx, r15
shr rcx, 0x3e
imul ecx, ecx, 0xe46b8922
xor ecx, 0x157973cf
mov byte [rsp + 0x28], al
cmp ecx, 0xbbd76989
ja 0x14008bef0
nop
mov eax, dword [0x141dcec38]
imul eax, dword [0x141dcec3c]
and eax, 0x4940a02c
cmp eax, 0xa103c4cf
je 0x14008bf20
mov r13d, 1
xor r14d, r14d
jmp 0x14008bd20
mov ecx, dword [0x141dcebd8]
or ecx, dword [0x141dcebdc]
add ecx, 0x71d1997c
or ecx, 0xc85c5920
and ecx, 0xc8fcd964
cmp ecx, 0x8a7dbb40
je 0x14008bf50
mov rcx, qword [rsp + 0x50]
cmp rdi, rcx
je 0x14008bfa6
movzx ecx, word [rdi]
add rdi, 2
mov edx, ecx
add edx, 0x2000
movzx edx, dx
mov r14w, 1
cmp edx, 0xfc00
jae 0x14008bfe4
mov word [rsp + 0x2e], cx
jmp 0x14008bfac
xor r14d, r14d
mov rdi, rcx
mov ecx, dword [0x141dcebf0]
mov edx, dword [0x141dcebf4]
add ecx, edx
add ecx, 0x46559e4e
mov edx, 0x974b4929
imul rcx, rdx
shr rcx, 0x3e
or ecx, 0x22d63b9d
cmp ecx, 0xc3badf0f
jbe 0x14008c160
jmp 0x14008c188
movzx ecx, cx
nop word [rax + rax]
mov eax, dword [0x141dcebe0]
and eax, dword [0x141dcebe4]
and eax, 0xc4845a90
xor eax, 0xc0ad0004
or eax, 0x3b52814a
cmp eax, 0x330268ea
jb 0x14008bff0
and r8d, 0x3ff
and ecx, 0x3ff
shl r8, 0x1a
movabs rax, 0x100000000
add r8, rax
shl rcx, 0x10
nop word cs:[rax + rax]
test bpl, bpl
jne 0x14008c040
or rcx, r8
nop dword [rax + rax]
mov eax, dword [0x141dcebe8]
add eax, dword [0x141dcebec]
imul eax, eax, 0x40763979
add eax, 0x763e51
xor eax, 0x38efa58e
cmp eax, 0x2a452c26
jbe 0x14008c050
mov rax, rcx
shr rax, 0x10
mov dword [rsp + 0x28], 0
cmp eax, 0x80
jb 0x14008bec4
cmp eax, 0x800
jae 0x14008c0bb
shr ecx, 0x16
or cl, 0xc0
mov byte [rsp + 0x28], cl
mov ecx, dword [0x141dcec18]
xor ecx, dword [0x141dcec1c]
cmp ecx, 0xe5450b0
jne 0x14008c240
jmp 0x14008c270
cmp eax, 0x10000
jae 0x14008c0ca
xor r14d, r14d
jmp 0x14008c1a0
mov rdx, rcx
shr rdx, 0x22
or dl, 0xf0
mov byte [rsp + 0x28], dl
mov rdx, rcx
shr rdx, 0x1c
and dl, 0x3f
or dl, 0x80
mov byte [rsp + 0x29], dl
shr ecx, 0x16
and cl, 0x3f
nop
mov edx, dword [0x141dcec00]
xor edx, dword [0x141dcec04]
and edx, 0x938e2035
add edx, 0x88d105db
cmp edx, 0x56b681b9
jb 0x14008c0f0
or cl, 0x80
mov byte [rsp + 0x2a], cl
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x2b], al
mov r13d, 4
jmp 0x14008bf3f
mov qword [rsp + 0x20], 1
mov r9d, 1
lea rcx, [rsp + 0x30]
mov rdx, r12
mov r8, r13
call fcn.1400fe010
mov rbx, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
jmp 0x14008bd31
mov ecx, dword [0x141dcebf8]
imul ecx, dword [0x141dcebfc]
and ecx, 0x7ca1aec4
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x28], 0
cmp ecx, 0x2d7d4c1f
jne 0x14008c1a0
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x28], 0
jmp 0x14008c160
mov ecx, dword [0x141dcec08]
and ecx, dword [0x141dcec0c]
and ecx, 0x12ca3402
add ecx, 0x7f2c5f44
or ecx, 0x41a60b6f
cmp ecx, 0x74f68acf
jne 0x14008c1f0
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [rsp + 0x28], cl
mov ecx, eax
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x29], cl
mov ecx, eax
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x2a], cl
nop dword [rax]
mov ecx, dword [0x141dcec10]
imul ecx, dword [0x141dcec14]
mov edx, eax
shr edx, 0xc
or dl, 0xe0
mov r8d, eax
shr r8d, 6
and r8b, 0x3f
or r8b, 0x80
mov r9d, eax
and r9b, 0x3f
or r9b, 0x80
mov byte [rsp + 0x28], dl
mov byte [rsp + 0x29], r8b
mov byte [rsp + 0x2a], r9b
cmp ecx, 0xef8d68d9
je 0x14008c1f0
mov r13d, 3
jmp 0x14008bd20
mov ecx, dword [0x141dcec20]
or ecx, dword [0x141dcec24]
and ecx, 0xa9bcf023
add ecx, 0x4b89eea
mov edx, eax
and dl, 0x3f
or dl, 0x80
mov byte [rsp + 0x29], dl
cmp ecx, 0x80797e0d
jbe 0x14008bd16
mov ecx, eax
and cl, 0x3f
or cl, 0x80
mov byte [rsp + 0x29], cl
jmp 0x14008c240
mov eax, dword [0x141dcec40]
imul eax, dword [0x141dcec44]
and eax, 0x18857538
add eax, 0xdd762136
or eax, 0xdf179f37
cmp eax, 0x79965703
jae 0x14008c2f0
jmp 0x14008c32d
mov eax, dword [0x141dceb70]
or eax, dword [0x141dceb74]
imul eax, eax, 0x6eb27eac
add eax, 0xbc921550
cmp eax, 0x9170d973
ja 0x14008c2cc
ud2
ud2
mov eax, dword [0x141dcec48]
and eax, dword [0x141dcec4c]
add eax, 0x5ed04de5
mov ecx, 0xfc169ce1
imul rcx, rax
shr rcx, 0x38
or ecx, 0xec2645d2
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp ecx, 0x598a6fc3
jae 0x14008c340
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
jmp 0x14008c2f0
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x14008c350
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret