Function at 0x14003e0f0
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, 0x88
lea rbp, [rsp + 0x80]
mov rbx, r9
mov r15, r8
mov rdi, rdx
mov r14, rcx
xor eax, eax
test al, al
je 0x14003e150
mov eax, 0x80
call fcn.1400f07c0
sub rsp, rax
mov eax, 0x50
call fcn.1400f07c0
sub rsp, rax
mov eax, 0xe0
call fcn.1400f07c0
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6650]
imul ecx, dword [0x141dc6654]
add ecx, 0x26222452
mov eax, 0x80
call fcn.1400f07c0
sub rsp, rax
mov rsi, rsp
mov eax, 0x50
call fcn.1400f07c0
sub rsp, rax
mov r13, rsp
mov eax, 0xe0
call fcn.1400f07c0
sub rsp, rax
mov r12, rsp
cmp ecx, 0x7eaf25e5
jb 0x14003e150
mov eax, dword [0x141dc6658]
xor eax, dword [0x141dc665c]
imul eax, eax, 0x32f30eb0
add eax, 0x7b33d47c
cmp eax, 0x2cb43ba5
jae 0x14003e1c0
mov rax, qword [0x141ddc4e8]
mov eax, dword [0x141dc6660]
xor edx, edx
div dword [0x141dc6664]
add eax, 0xa3a89009
imul rax, rax, 0x43e4d54f
shr rax, 0x3e
mov rcx, qword [0x141ddc4e8]
cmp eax, 0x24231ea4
ja 0x14003e1c0
test rcx, rcx
je 0x14003ead9
and ecx, 0x8000
mov r8d, 0x8e0152b1
nop word cs:[rax + rax]
mov eax, dword [0x141dc6668]
xor edx, edx
div dword [0x141dc666c]
imul rax, r8
shr rax, 0x3e
add eax, 0xddbb982e
or eax, 0x6b7a196c
cmp eax, 0xc20f0560
je 0x14003e210
xor edx, edx
nop dword [rax]
mov eax, dword [0x141dc6670]
or eax, dword [0x141dc6674]
or eax, 0xb0210508
and eax, 0xb1390f4c
add eax, 0x930480af
cmp eax, 0x45d791ab
ja 0x14003e240
nop word cs:[rax + rax]
mov eax, dword [0x141dc6678]
xor eax, dword [0x141dc667c]
and eax, 0xe0637187
imul rax, rax, 0x1a67b5c9
shr rax, 0x3b
or eax, 0x35713690
cmp eax, 0x167ae121
jb 0x14003e270
mov al, 2
or rcx, rdx
jne 0x14003e34b
mov rcx, qword [0x141ddc4e8]
nop word [rax + rax]
mov eax, dword [0x141dc6680]
add eax, dword [0x141dc6684]
or eax, 0xe6c60b0
add eax, 0x50e91af3
or eax, 0xf2546f0d
cmp eax, 0x18616da8
jb 0x14003e2b0
test rcx, rcx
je 0x14003eb09
mov eax, dword [0x141dc6690]
xor edx, edx
div dword [0x141dc6694]
nop dword [rax]
mov eax, dword [0x141dc6698]
add eax, dword [0x141dc669c]
imul eax, eax, 0x6eb9e934
add eax, 0x51b63fb8
and eax, 0x64d55888
cmp eax, 0xaafbb54f
je 0x14003e2f0
and ecx, 0x400
xor r8d, r8d
nop dword [rax]
mov eax, dword [0x141dc66a0]
xor edx, edx
div dword [0x141dc66a4]
and eax, 0x8eeecfda
imul eax, eax, 0xddb6152f
add eax, 0x1b2ed264
cmp eax, 0xfdd84e5b
ja 0x14003e320
or rcx, r8
setne al
lea rcx, [rdi - 1]
cmp rcx, 0x40
jae 0x14003ec11
mov qword [rbp - 0x18], rdi
movzx ecx, dil
xorps xmm0, xmm0
movaps xmmword [rsi + 0x70], xmm0
movaps xmmword [rsi + 0x60], xmm0
movaps xmmword [rsi + 0x50], xmm0
movaps xmmword [rsi + 0x40], xmm0
movaps xmmword [rsi + 0x30], xmm0
movaps xmmword [rsi + 0x20], xmm0
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
movabs rdx, 0x6a09e667f2bdc908
xor rdx, rcx
movaps xmmword [r12 + 0x70], xmm0
movaps xmmword [r12 + 0x60], xmm0
movaps xmmword [r12 + 0x50], xmm0
movaps xmmword [r12 + 0x40], xmm0
movaps xmmword [r12 + 0x30], xmm0
movaps xmmword [r12 + 0x20], xmm0
movaps xmmword [r12 + 0x10], xmm0
movaps xmmword [r12], xmm0
lea r8, [r12 + 0x80]
mov qword [rbp], r8
mov qword [r12 + 0x80], rdx
movabs rdx, 0xbb67ae8584caa73b
mov qword [r12 + 0x88], rdx
movabs rdx, 0x3c6ef372fe94f82b
mov qword [r12 + 0x90], rdx
movabs rdx, 0xa54ff53a5f1d36f1
mov qword [r12 + 0x98], rdx
movabs rdx, 0x510e527fade682d1
mov qword [r12 + 0xa0], rdx
movabs rdx, 0x9b05688c2b3e6c1f
mov qword [r12 + 0xa8], rdx
movabs rdx, 0x1f83d9abfb41bd6b
mov qword [r12 + 0xb0], rdx
movabs rdx, 0x5be0cd19137e2179
mov qword [r12 + 0xb8], rdx
mov qword [r12 + 0xc8], 0
mov qword [r12 + 0xc0], 0
mov byte [r12 + 0xd0], 0
mov byte [r12 + 0xd1], cl
mov byte [r12 + 0xd2], al
mov word [r12 + 0xd3], 1
shl rbx, 4
add rbx, r15
mov qword [rbp - 0x28], rbx
xor edi, edi
xor esi, esi
mov qword [rbp - 8], r12
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x10], r13
nop dword [rax + rax]
mov r9, qword [r15]
mov rbx, qword [r15 + 8]
test sil, sil
je 0x14003e660
mov eax, dword [0x141dc6708]
xor edx, edx
div dword [0x141dc670c]
mov eax, dword [0x141dc6710]
or eax, dword [0x141dc6714]
add eax, 0xedd58f0a
cmp eax, 0x5eccf163
jb 0x14003e4ce
movzx ecx, sil
mov r12d, 0x80
sub r12, rcx
cmp r12, rbx
mov rsi, rbx
cmovb rsi, r12
lea r8, [rsi + rcx]
mov eax, dword [0x141dc6718]
xor edx, edx
div dword [0x141dc671c]
test dil, dil
jne 0x14003e50f
cmp r8, rcx
jb 0x14003ec89
cmp r8, 0x80
ja 0x14003eb8b
mov r13, r14
mov r14, r15
mov r15, qword [rbp - 8]
add rcx, r15
sub rsp, 0x20
mov rdx, r9
mov r8, rsi
mov rdi, r9
call sub.VCRUNTIME140.dll_memcpy
mov r9, rdi
add rsp, 0x20
movzx r10d, byte [r15 + 0xd0]
add r10b, sil
mov byte [r15 + 0xd0], r10b
mov r15, rbx
sub r15, rsi
add r9, rsi
mov eax, dword [0x141dc6730]
xor edx, edx
div dword [0x141dc6734]
mov eax, dword [0x141dc6738]
sub eax, dword [0x141dc673c]
or eax, 0x9b0b7876
cmp eax, 0x1d3522b5
je 0x14003e579
cmp r12, rbx
jae 0x14003e670
mov rsi, r9
mov r12, qword [rbp - 8]
mov r9, qword [rbp]
xor edi, edi
nop word [rax + rax]
mov eax, dword [0x141dc6740]
xor edx, edx
div dword [0x141dc6744]
imul rax, rax, 0x78cbf005
shr rax, 0x3d
or eax, 0x58b1a058
cmp eax, 0x26504439
jb 0x14003e5b0
mov rax, qword [r12 + 0xc0]
mov rdx, qword [r12 + 0xc8]
movzx r8d, byte [r12 + 0xd3]
movzx ecx, byte [r12 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], r8b
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x38], 1
mov r8d, 0x80
mov rdx, r12
call fcn.140040ef0
add rsp, 0x40
add qword [r12 + 0xc0], 0x80
adc qword [r12 + 0xc8], 0
mov byte [r12 + 0xd0], 0
xor r10d, r10d
mov rbx, r15
mov r15, r14
mov r14, r13
mov r13, qword [rbp - 0x10]
mov r9, rsi
jmp 0x14003e683
xor r10d, r10d
jmp 0x14003e683
mov rbx, r15
mov r12, qword [rbp - 8]
mov r15, r14
mov r14, r13
mov r13, qword [rbp - 0x10]
xor edi, edi
mov rax, rbx
sub rax, 1
mov r8d, 0
cmovae r8, rax
and r8, 0xffffffffffffff80
je 0x14003e860
mov eax, dword [0x141dc6748]
xor edx, edx
div dword [0x141dc674c]
mov ecx, 0x83bf69ff
nop word cs:[rax + rax]
mov eax, dword [0x141dc6750]
and eax, dword [0x141dc6754]
imul eax, eax, 0x6eb9ed3a
or eax, 0xb85818ca
and eax, 0xbe7fdaee
cmp eax, 0x9fb51921
jb 0x14003e6c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6758]
and eax, dword [0x141dc675c]
add eax, 0xd3f1c070
imul rax, rcx
shr rax, 0x3b
cmp eax, 0xa77fa274
ja 0x14003e6f0
mov qword [rbp - 0x38], r15
sub rbx, r8
jb 0x14003ebbc
mov qword [rbp - 0x30], rbx
mov rax, r12
mov r12, qword [r12 + 0xc0]
mov r14, qword [rax + 0xc8]
movzx r13d, byte [rax + 0xd3]
movzx r15d, byte [rax + 0xd2]
mov eax, dword [0x141dc6788]
imul eax, dword [0x141dc678c]
add eax, 0x6f0dc534
imul rax, rax, 0x42cc8f2d
shr rax, 0x3c
cmp eax, 0x383ad212
jbe 0x14003e79e
sub rsp, 0x40
mov byte [rsp + 0x30], r13b
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r12
mov byte [rsp + 0x38], 1
mov ecx, r15d
mov rdx, r9
mov rsi, r9
mov r9, qword [rbp]
mov rdi, r8
call fcn.140040ef0
mov r8, rdi
mov r9, rsi
add rsp, 0x40
mov rdi, qword [rbp]
nop word cs:[rax + rax]
sub rsp, 0x40
mov byte [rsp + 0x30], r13b
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r12
mov byte [rsp + 0x38], 1
mov ecx, r15d
mov rdx, r9
mov rsi, r9
mov r9, rdi
mov rbx, r8
call fcn.140040ef0
mov r8, rbx
mov r9, rsi
add rsp, 0x40
xor eax, eax
test al, al
jne 0x14003e7b0
mov eax, dword [0x141dc6790]
sub eax, dword [0x141dc6794]
xor eax, 0x1ce2711f
imul eax, eax, 0xa20c7f46
add eax, 0xd3bd37e0
cmp eax, 0xf8fcede3
mov r12, qword [rbp - 8]
jbe 0x14003e8f0
jmp 0x14003e950
add rcx, r12
sub rsp, 0x20
mov rdx, r9
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add sil, byte [r12 + 0xd0]
mov byte [r12 + 0xd0], sil
cmp r15, qword [rbp - 0x28]
jne 0x14003e4b0
jmp 0x14003e963
add r15, 0x10
nop word cs:[rax + rax]
mov eax, dword [0x141dc6760]
and eax, dword [0x141dc6764]
add eax, 0x1740f468
shr eax, 5
imul rax, rax, 0x89ae31b
shr rax, 0x35
and eax, 1
movzx ecx, r10b
mov esi, 0x80
sub rsi, rcx
cmp rsi, rbx
cmovae rsi, rbx
cmp eax, 0x82a82778
ja 0x14003e870
lea r8, [rsi + rcx]
cmp r8, rcx
jb 0x14003eb58
mov eax, dword [0x141dc6768]
xor edx, edx
div dword [0x141dc676c]
add eax, 0x3e898ba8
or eax, 0x8b2f917
imul eax, eax, 0x35edb18d
cmp eax, 0x5ed1b953
ja 0x14003e8b9
cmp r8, 0x80
jbe 0x14003e820
jmp 0x14003eac2
mov eax, dword [0x141dc6798]
add eax, dword [0x141dc679c]
shr eax, 1
imul rax, rax, 0x52eada25
shr rax, 0x36
imul eax, eax, 0x956ee701
add qword [r12 + 0xc0], r8
adc qword [r12 + 0xc8], 0
cmp eax, 0x58505911
je 0x14003e950
add r9, r8
movzx r10d, byte [r12 + 0xd0]
mov r14, qword [rbp - 0x20]
mov r13, qword [rbp - 0x10]
mov r15, qword [rbp - 0x38]
xor edi, edi
mov rbx, qword [rbp - 0x30]
jmp 0x14003e860
add qword [r12 + 0xc0], r8
adc qword [r12 + 0xc8], 0
jmp 0x14003e8f0
mov rax, qword [rbp]
movaps xmm0, xmmword [rax]
movaps xmm1, xmmword [rax + 0x10]
movaps xmm2, xmmword [rax + 0x20]
movaps xmm3, xmmword [rax + 0x30]
movaps xmmword [rbp - 0x50], xmm3
movaps xmmword [rbp - 0x60], xmm2
movaps xmmword [rbp - 0x70], xmm1
movaps xmmword [rbp - 0x80], xmm0
cmp sil, 0x81
jae 0x14003ec89
mov eax, dword [0x141dc66c0]
xor eax, dword [0x141dc66c4]
imul eax, eax, 0x2b1d6b66
mov ecx, 0xb50ab7b1
imul rcx, rax
shr rcx, 0x3f
imul eax, ecx, 0x2ac80d9d
movzx esi, sil
cmp eax, 0xa770b566
jbe 0x14003ea09
movaps xmm0, xmmword [r12 + 0xc0]
movzx eax, byte [r12 + 0xd3]
movzx ecx, byte [r12 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
lea r9, [rbp - 0x80]
mov rdx, r12
mov r8, rsi
call fcn.140040ef0
add rsp, 0x40
movaps xmm0, xmmword [rbp - 0x80]
movaps xmmword [r13], xmm0
lea rdi, [rbp - 0x80]
nop dword [rax]
mov eax, dword [0x141dc66c8]
xor edx, edx
div dword [0x141dc66cc]
mov r15d, eax
add r15d, 0xaed4dc9a
and r15d, 0x9e985d23
add r15d, 0x22d80950
movaps xmm0, xmmword [r12 + 0xc0]
movzx eax, byte [r12 + 0xd3]
movzx ecx, byte [r12 + 0xd2]
sub rsp, 0x40
mov byte [rsp + 0x30], al
movups xmmword [rsp + 0x20], xmm0
mov byte [rsp + 0x38], 0
mov rdx, r12
mov r8, rsi
mov r9, rdi
call fcn.140040ef0
add rsp, 0x40
movzx ecx, byte [r12 + 0xd1]
movaps xmm0, xmmword [rbp - 0x80]
movaps xmmword [r13], xmm0
cmp r15d, 0x3dc17801
jb 0x14003ea10
movzx eax, cl
mov edx, dword [0x141dc66d0]
xor edx, dword [0x141dc66d4]
imul edx, edx, 0x58a949aa
or edx, 0x6089
and edx, 0x5180f08d
cmp edx, 0xc2517512
jne 0x14003ec8b
jmp 0x14003ecc6
ud2
sub rsp, 0x20
call fcn.1400fd3e0
add rsp, 0x20
mov rcx, rax
and ecx, 0x8000
xor edx, edx
mov al, 1
nop word cs:[rax + rax]
test al, al
je 0x14003eb00
jmp 0x14003e270
sub rsp, 0x20
call fcn.1400fd3e0
add rsp, 0x20
mov rcx, rax
and ecx, 0x400
xor r8d, r8d
nop word cs:[rax + rax]
mov eax, dword [0x141dc6688]
or eax, dword [0x141dc668c]
imul eax, eax, 0x18313e25
add eax, 0x36c3eb3e
or eax, 0x60166415
cmp eax, 0x6c122868
jb 0x14003eb30
jmp 0x14003e345
mov eax, dword [0x141dc6770]
or eax, dword [0x141dc6774]
imul eax, eax, 0xa1451777
and eax, 0xaf756928
add eax, 0xca0f2550
cmp eax, 0x88afc504
jbe 0x14003eb7d
ud2
xor eax, eax
nop
ud2
mov eax, dword [0x141dc6720]
sub eax, dword [0x141dc6724]
and eax, 0xb9e7deda
imul rax, rax, 0x6400a78d
shr rax, 0x3c
or eax, 0xc2dea70d
cmp eax, 0x32e858ce
jae 0x14003ee03
jmp 0x14003ee2b
mov eax, dword [0x141dc6778]
xor eax, dword [0x141dc677c]
xor eax, 0xb0084601
or eax, 0xfb1b1fe
cmp eax, 0x4c00125f
jne 0x14003ebdb
ud2
mov eax, 0x85a44aa3
mov ecx, dword [0x141dc6780]
sub ecx, dword [0x141dc6784]
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x148cb969
imul rcx, rcx, 0x28bde375
shr rcx, 0x38
ud2
mov eax, dword [0x141dc66a8]
xor edx, edx
div dword [0x141dc66ac]
add eax, 0xcf178887
or eax, 0xc385eee5
add eax, 0x40df11e3
cmp eax, 0x408568f2
ja 0x14003ec62
mov eax, dword [0x141dc66b0]
or eax, dword [0x141dc66b4]
and eax, 0x3b7c42e7
add eax, 0x8cbefcdb
shr eax, 2
imul rax, rax, 0x43dbffa7
shr rax, 0x3b
ud2
ud2
ud2
mov edx, dword [0x141dc66d8]
sub edx, dword [0x141dc66dc]
add edx, 0x971f2a88
mov r8d, 0xb48d1d05
imul r8, rdx
shr r8, 0x3f
movaps xmm0, xmmword [rbp - 0x70]
movaps xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmmword [r13 + 0x20], xmm0
cmp r8d, 0xade25ff9
jbe 0x14003ecda
movaps xmm0, xmmword [rbp - 0x70]
movaps xmmword [r13 + 0x10], xmm0
movaps xmm0, xmmword [rbp - 0x60]
movaps xmmword [r13 + 0x20], xmm0
jmp 0x14003ec8b
movaps xmm0, xmmword [rbp - 0x50]
movaps xmmword [r13 + 0x30], xmm0
mov byte [r13 + 0x40], cl
cmp cl, 0x41
mov rdi, qword [rbp - 0x18]
jae 0x14003ec89
mov ecx, dword [0x141dc66e0]
xor ecx, dword [0x141dc66e4]
or ecx, 0x554af499
add ecx, 0x4bc289a3
or ecx, 0x8d99da4c
cmp ecx, 0x15cca9f4
jb 0x14003ecf0
cmp rax, rdi
jne 0x14003edd3
mov eax, dword [0x141dc66f0]
xor edx, edx
div dword [0x141dc66f4]
mov ecx, 0xd9c4b74f
imul rcx, rax
shr rcx, 0x3f
or ecx, 0x4fe3cde8
cmp ecx, 0xdf34a5ea
jbe 0x14003ed60
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
nop
mov esi, dword [0x141dc66f8]
sub esi, dword [0x141dc66fc]
add esi, 0xed2c5519
and esi, 0xdf0be873
add esi, 0xa685e27
sub rsp, 0x20
mov rcx, r14
mov rdx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp esi, 0xf49ef3e9
ja 0x14003ed60
nop dword [rax]
mov eax, dword [0x141dc6700]
or eax, dword [0x141dc6704]
or eax, 0xb81ed7e7
add eax, 0xb96f2161
or eax, 0x62b82cf6
cmp eax, 0x1c9e3535
jb 0x14003eda0
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
mov eax, dword [0x141dc6728]
xor eax, dword [0x141dc672c]
or eax, 0x486a8641
xor eax, 0x38ca0d41
or eax, 0x831150be
ud2
ud2