Function at 0x14003bb20
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, 0x208
mov rbx, r9
mov r14, r8
mov rsi, rdx
mov rdi, rcx
mov rcx, qword [0x141ddb9a8]
test rcx, rcx
je 0x14003bba8
mov eax, 0xcc627fef
mov edx, dword [0x141dc56a8]
xor edx, dword [0x141dc56ac]
imul edx, edx, 0xb56972a0
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x8f7acc80
je 0x14003bb50
and ecx, 0x8000
xor r8d, r8d
nop dword [rax + rax]
mov eax, dword [0x141dc56b0]
or eax, dword [0x141dc56b4]
imul eax, eax, 0xe78c195f
add eax, 0x130fe178
or eax, 0xe95f9fc1
cmp eax, 0x9093cdda
je 0x14003bb80
jmp 0x14003bc64
mov eax, dword [0x141dc5688]
sub eax, dword [0x141dc568c]
mov ecx, 0xf525096d
imul rcx, rax
shr rcx, 0x3c
add ecx, 0xeb46c8c3
cmp ecx, 0xc8b28e83
jb 0x14003bbfe
mov eax, dword [0x141dc5690]
xor edx, edx
div dword [0x141dc5694]
mov ebp, eax
add ebp, 0x2cae47fa
or ebp, 0x2a408a33
add ebp, 0xbbe56129
call fcn.1400fc440
cmp ebp, 0x5294fa3
jae 0x14003bc05
call fcn.1400fc440
jmp 0x14003bbcf
mov rcx, rax
and ecx, 0x8000
xor r8d, r8d
nop word cs:[rax + rax]
mov eax, dword [0x141dc5698]
xor eax, dword [0x141dc569c]
or eax, 0xf326372e
cmp eax, 0x74b93b17
je 0x14003bc20
nop dword [rax + rax]
mov eax, dword [0x141dc56a0]
xor edx, edx
div dword [0x141dc56a4]
add eax, 0x6f246221
or eax, 0x2d3a4321
xor eax, 0x4dd17f92
cmp eax, 0x679205f2
jae 0x14003bc40
mov eax, 0xa0fe92e1
nop dword [rax]
mov edx, dword [0x141dc56b8]
or edx, dword [0x141dc56bc]
imul rdx, rax
shr rdx, 0x3e
imul edx, edx, 0xf50ca3a3
add edx, 0x1a6c2bdb
cmp edx, 0xac81ad4b
ja 0x14003bc70
mov al, 2
or rcx, r8
jne 0x14003bd3a
mov eax, dword [0x141dc56c0]
imul eax, dword [0x141dc56c4]
cmp eax, 0x7f6f24d8
jne 0x14003bcc0
mov rax, qword [0x141ddb9a8]
nop
mov eax, dword [0x141dc56c8]
or eax, dword [0x141dc56cc]
add eax, 0x3c05cf81
shr eax, 3
imul rax, rax, 0x22c25e73
shr rax, 0x3a
imul ecx, eax, 0x667765f1
mov rax, qword [0x141ddb9a8]
cmp ecx, 0x3a39ea63
ja 0x14003bcc0
test rax, rax
je 0x14003bd76
mov ecx, 0xb09d7337
nop
mov edx, dword [0x141dc56d8]
xor edx, dword [0x141dc56dc]
and edx, 0xd1dfee32
add edx, 0xc44d9097
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0x97eed39c
ja 0x14003bd00
and eax, 0x400
xor ecx, ecx
nop
test cl, cl
jne 0x14003bd30
or rax, rcx
setne al
lea rcx, [rsi - 1]
cmp rcx, 0x40
jae 0x14003bd6a
mov ecx, dword [0x141dc56e0]
imul ecx, dword [0x141dc56e4]
add ecx, 0xd98453e3
or ecx, 0x6013f112
cmp ecx, 0x5bdb791
jae 0x14003bdbd
jmp 0x14003be2d
ud2
call fcn.1400fc440
and eax, 0x400
xor ecx, ecx
nop word cs:[rax + rax]
mov edx, dword [0x141dc56d0]
and edx, dword [0x141dc56d4]
add edx, 0xc1227544
xor edx, 0xa206d000
or edx, 0x5d782948
cmp edx, 0x362b4a04
jbe 0x14003bd90
jmp 0x14003bd34
ud2
mov ecx, dword [0x141dc56e8]
or ecx, dword [0x141dc56ec]
mov edx, 0xb3cad771
imul rdx, rcx
shr rdx, 0x3e
or edx, 0x6d56c304
xor edx, 0xf0046e3a
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
cmp edx, 0x847169b6
jae 0x14003be75
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1e0], xmm0
movaps xmmword [rsp + 0x1d0], xmm0
movaps xmmword [rsp + 0x1c0], xmm0
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1a0], xmm0
movaps xmmword [rsp + 0x190], xmm0
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x170], xmm0
jmp 0x14003bdbd
movzx ecx, sil
movabs rdx, 0x6a09e667f2bdc908
xor rdx, rcx
movaps xmm0, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x100], xmm0
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0xe0], xmm0
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movaps xmm3, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
lea r15, [rsp + 0x110]
mov qword [rsp + 0x110], rdx
movabs rdx, 0xbb67ae8584caa73b
mov qword [rsp + 0x118], rdx
movabs rdx, 0x3c6ef372fe94f82b
mov qword [rsp + 0x120], rdx
movabs rdx, 0xa54ff53a5f1d36f1
mov qword [rsp + 0x128], rdx
movabs rdx, 0x510e527fade682d1
mov qword [rsp + 0x130], rdx
movabs rdx, 0x9b05688c2b3e6c1f
mov qword [rsp + 0x138], rdx
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [rsp + 0x140], rdx
movabs rdx, 0x5be0cd19137e2179
mov qword [rsp + 0x148], rdx
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x150], 0
mov byte [rsp + 0x160], 0
mov byte [rsp + 0x161], cl
mov byte [rsp + 0x162], al
mov word [rsp + 0x163], 1
mov qword [rsp + 0x1f8], rdi
mov qword [rsp + 0x1f0], rsi
shl rbx, 4
add rbx, r14
mov qword [rsp + 0x200], rbx
nop dword [rax + rax]
mov eax, dword [0x141dc56f0]
and eax, dword [0x141dc56f4]
imul rax, rax, 0x42aff405
shr rax, 0x3d
cmp eax, 0x7129bba1
je 0x14003bff0
xor ebp, ebp
mov esi, 0xa6fab4fd
mov r12d, 0xf0569da5
jmp 0x14003c030
cmp r14, qword [rsp + 0x200]
je 0x14003c4eb
nop dword [rax + rax]
mov eax, dword [0x141dc5748]
sub eax, dword [0x141dc574c]
add eax, 0x16d802e2
xor eax, 0x7ce833bb
add eax, 0x11d290c
cmp eax, 0xecc22e37
ja 0x14003c030
mov r13, qword [r14]
mov rbx, qword [r14 + 8]
test bpl, bpl
je 0x14003c10b
mov qword [rsp + 0x48], r14
mov eax, dword [0x141dc5750]
and eax, dword [0x141dc5754]
xor eax, 0x10800410
or eax, 0xee7be94e
xor eax, 0x83928bc9
cmp eax, 0xa48ad89e
ja 0x14003c067
movzx r15d, bpl
mov r14d, 0x80
sub r14, r15
cmp r14, rbx
mov rbp, rbx
cmovb rbp, r14
lea rax, [r15 + rbp]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5758]
sub ecx, dword [0x141dc575c]
and ecx, 0xb0493f20
imul ecx, ecx, 0x63f46cb8
cmp ecx, 0x7d8c4b04
je 0x14003c0b0
cmp rax, r15
jb 0x14003c548
cmp rax, 0x80
ja 0x14003c4fa
mov eax, dword [0x141dc5770]
sub eax, dword [0x141dc5774]
imul eax, eax, 0x878c4ecb
imul rax, rax, 0xb4d71a9
shr rax, 0x3a
cmp eax, 0xfcf94c67
jbe 0x14003c112
jmp 0x14003c152
xor ecx, ecx
jmp 0x14003c26f
mov eax, dword [0x141dc5778]
xor edx, edx
div dword [0x141dc577c]
mov edi, eax
add edi, 0x675ecacc
or edi, 0x50a00086
and edi, 0x70a23af6
lea rcx, [rsp + r15]
add rcx, 0x90
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
cmp edi, 0x37690297
jne 0x14003c16a
lea rcx, [rsp + r15]
add rcx, 0x90
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14003c112
movzx ecx, byte [rsp + 0x160]
add cl, bpl
mov byte [rsp + 0x160], cl
mov rdi, rbx
sub rdi, rbp
add r13, rbp
cmp r14, rbx
jae 0x14003c25f
mov r14, qword [rsp + 0x48]
lea r15, [rsp + 0x110]
nop dword [rax + rax]
mov eax, dword [0x141dc5780]
and eax, dword [0x141dc5784]
imul rax, r12
shr rax, 0x3e
imul eax, eax, 0x57a4c683
add eax, 0xdc921111
cmp eax, 0x8f0b5c30
jb 0x14003c1a0
mov r8, qword [rsp + 0x150]
mov r9, qword [rsp + 0x158]
movzx r10d, byte [rsp + 0x163]
mov eax, dword [0x141dc5788]
xor edx, edx
div dword [0x141dc578c]
or eax, 0xfacd9329
imul rax, rax, 0x20d14f23
shr rax, 0x3d
add eax, 0x85601447
cmp eax, 0x938838e6
ja 0x14003c1df
movzx ecx, byte [rsp + 0x162]
mov byte [rsp + 0x30], r10b
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r8
mov byte [rsp + 0x38], 1
mov r8d, 0x80
lea rdx, [rsp + 0x90]
mov r9, r15
call fcn.14003e660
add qword [rsp + 0x150], 0x80
adc qword [rsp + 0x158], 0
mov byte [rsp + 0x160], 0
xor ecx, ecx
mov rbx, rdi
jmp 0x14003c26f
mov rbx, rdi
mov r14, qword [rsp + 0x48]
lea r15, [rsp + 0x110]
add r14, 0x10
nop word cs:[rax + rax]
mov eax, dword [0x141dc5790]
xor edx, edx
div dword [0x141dc5794]
or eax, 0x24062608
xor eax, 0x5020e00
or eax, 0xdad14193
mov rdx, rbx
sub rdx, 1
mov ebp, 0
cmovae rbp, rdx
cmp eax, 0xff9e3293
ja 0x14003c280
and rbp, 0xffffffffffffff80
je 0x14003c362
sub rbx, rbp
jb 0x14003c581
mov eax, dword [0x141dc57d8]
xor edx, edx
div dword [0x141dc57dc]
nop word cs:[rax + rax]
mov eax, dword [0x141dc57e0]
xor eax, dword [0x141dc57e4]
xor eax, 0x6846b5
imul eax, eax, 0xad2f395b
add eax, 0x92a4d618
cmp eax, 0xbf6addd6
ja 0x14003c2e0
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x158]
movzx r8d, byte [rsp + 0x163]
movzx ecx, byte [rsp + 0x162]
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x38], 1
mov rdx, r13
mov r8, rbp
mov r9, r15
call fcn.14003e660
add qword [rsp + 0x150], rbp
adc qword [rsp + 0x158], 0
add r13, rbp
movzx ecx, byte [rsp + 0x160]
mov eax, dword [0x141dc5798]
xor edx, edx
div dword [0x141dc579c]
mov eax, dword [0x141dc57a0]
or eax, dword [0x141dc57a4]
add eax, 0x3d0b147c
imul rax, rsi
shr rax, 0x3c
imul eax, eax, 0xa985f2f9
movzx edi, cl
mov ebp, 0x80
sub rbp, rdi
cmp rbp, rbx
cmovae rbp, rbx
cmp eax, 0x731b9ae7
jb 0x14003c370
lea rax, [rdi + rbp]
cmp rax, rdi
jb 0x14003bdbb
nop word cs:[rax + rax]
mov ecx, dword [0x141dc57a8]
and ecx, dword [0x141dc57ac]
and ecx, 0xd984f4ec
imul ecx, ecx, 0xd139bd3f
or ecx, 0x43dcc407
cmp ecx, 0x1237265c
jb 0x14003c3c0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc57b0]
add ecx, dword [0x141dc57b4]
cmp ecx, 0x9eed63b0
je 0x14003c3f0
cmp rax, 0x80
ja 0x14003c51d
mov eax, dword [0x141dc57e8]
xor edx, edx
div dword [0x141dc57ec]
add eax, 0x6ac30b32
imul rax, rax, 0x63187cb
shr rax, 0x3a
cmp eax, 0x866af33c
je 0x14003c471
mov ebx, dword [0x141dc57f0]
or ebx, dword [0x141dc57f4]
xor ebx, 0x608ae18
add ebx, 0x47766d73
or ebx, 0xde9782ef
lea rcx, [rsp + rdi]
add rcx, 0x90
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
cmp ebx, 0xb184d9aa
jae 0x14003c489
lea rcx, [rsp + rdi]
add rcx, 0x90
mov rdx, r13
mov r8, rbp
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14003c435
add bpl, byte [rsp + 0x160]
mov eax, dword [0x141dc57f8]
xor eax, dword [0x141dc57fc]
xor eax, 0x62020026
or eax, 0x9db86b90
imul rcx, rax, 0xec38b69
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0xe4194f78
ja 0x14003c4e1
mov eax, dword [0x141dc5800]
add eax, dword [0x141dc5804]
mov byte [rsp + 0x160], bpl
cmp eax, 0xe5e2db89
jne 0x14003c01d
mov byte [rsp + 0x160], bpl
jmp 0x14003c4c2
xor eax, eax
test al, al
je 0x14003c5f2
jmp 0x14003c639
ud2
mov eax, dword [0x141dc57b8]
add eax, dword [0x141dc57bc]
xor eax, 0xf09fb0
add eax, 0xda1724a8
or eax, 0xe0b3bc67
cmp eax, 0x5484bbdc
jne 0x14003c929
jmp 0x14003c935
mov eax, dword [0x141dc5760]
xor edx, edx
div dword [0x141dc5764]
imul rax, rax, 0x2e4a85f7
shr rax, 0x3b
xor eax, 0xbc749a65
imul rax, rax, 0x6dc93361
shr rax, 0x3d
cmp eax, 0x1d8bdb7d
jne 0x14003c908
jmp 0x14003c910
mov eax, dword [0x141dc57c0]
sub eax, dword [0x141dc57c4]
imul eax, eax, 0x91022040
xor eax, 0x50c040
or eax, 0x3f2c3ba3
cmp eax, 0x2f9dc985
jae 0x14003c5b0
ud2
mov eax, dword [0x141dc57c8]
imul eax, dword [0x141dc57cc]
or eax, 0xec652c8c
xor eax, 0x73e3e6f5
ud2
mov eax, dword [0x141dc56f8]
or eax, dword [0x141dc56fc]
or eax, 0xd030dca2
add eax, 0xebd28688
movaps xmm0, xmmword [r15]
movaps xmm1, xmmword [r15 + 0x10]
movaps xmm2, xmmword [r15 + 0x20]
movaps xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
cmp eax, 0x643a4d7a
jae 0x14003c665
movaps xmm0, xmmword [r15]
movaps xmm1, xmmword [r15 + 0x10]
movaps xmm2, xmmword [r15 + 0x20]
movaps xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsp + 0x80], xmm3
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
jmp 0x14003c5f2
cmp bpl, 0x81
mov rdi, qword [rsp + 0x1f8]
jae 0x14003bdbb
mov eax, dword [0x141dc5700]
sub eax, dword [0x141dc5704]
xor eax, 0x14600410
or eax, 0x42001002
and eax, 0x76601433
movzx ebx, bpl
cmp eax, 0x3bb5ba54
jae 0x14003c6e5
movaps xmm0, xmmword [rsp + 0x150]
movzx eax, byte [rsp + 0x163]
movzx ecx, byte [rsp + 0x162]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
lea rdx, [rsp + 0x90]
lea r9, [rsp + 0x50]
mov r8, rbx
call fcn.14003e660
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x170], xmm0
lea r14, [rsp + 0x90]
lea r15, [rsp + 0x50]
nop word cs:[rax + rax]
mov esi, dword [0x141dc5708]
sub esi, dword [0x141dc570c]
add esi, 0xa0bff962
movaps xmm0, xmmword [rsp + 0x150]
movzx eax, byte [rsp + 0x163]
movzx ecx, byte [rsp + 0x162]
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
mov rdx, r14
mov r8, rbx
mov r9, r15
call fcn.14003e660
movzx ecx, byte [rsp + 0x161]
movaps xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x170], xmm0
cmp esi, 0xc3691ce8
ja 0x14003c700
movzx eax, cl
mov edx, dword [0x141dc5710]
xor edx, dword [0x141dc5714]
imul rdx, rdx, 0x2d5e9445
shr rdx, 0x3b
or edx, 0xeab7f3e6
cmp edx, 0xb49b342e
jne 0x14003c7a5
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x180], xmm0
movaps xmmword [rsp + 0x190], xmm1
mov edx, 0x8edf655d
mov r8, qword [rsp + 0x1f0]
nop word cs:[rax + rax]
mov r9d, dword [0x141dc5718]
sub r9d, dword [0x141dc571c]
or r9d, 0x65bdcdbc
imul r9, rdx
shr r9, 0x3f
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x190], xmm2
cmp r9d, 0xff798960
je 0x14003c7c0
movaps xmmword [rsp + 0x1a0], xmm0
mov byte [rsp + 0x1b0], cl
cmp cl, 0x41
jae 0x14003bdbb
mov ecx, dword [0x141dc5720]
xor ecx, dword [0x141dc5724]
cmp ecx, 0x96f9228
je 0x14003c820
cmp rax, r8
jne 0x14003c8b1
lea rdx, [rsp + 0x170]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
nop dword [rax]
mov eax, dword [0x141dc5738]
or eax, dword [0x141dc573c]
and eax, 0xdb7abc3d
imul rax, rax, 0x6be98ed7
shr rax, 0x3e
cmp eax, 0x275c074e
ja 0x14003c850
nop word cs:[rax + rax]
mov eax, dword [0x141dc5740]
sub eax, dword [str.JZc5]
add eax, 0xc197f21b
xor eax, 0x5c301efd
cmp eax, 0xb8cddc35
ja 0x14003c880
add rsp, 0x208
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
test al, al
jne 0x14003c8d2
mov eax, dword [0x141dc5728]
imul eax, dword [0x141dc572c]
or eax, 0x9e6fffbd
ud2
ud2
ud2
ud2
ud2
ud2