Function at 0x1402a2a90
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
mov qword [r11 + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov qword [r11 - 0x50], 0xfffffffffffffffe
mov rax, r8
mov r8, rdx
mov rbx, rcx
xor r13d, r13d
mov dword [r11 - 0x54], r13d
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], 7
mov word [rcx], r13w
mov dword [rsp + 0x24], 1
cmp rax, 3
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jb 0x1402a31b3
movabs r10, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov r13b, byte [r8]
mov cl, r13b
shr cl, 2
mov dl, byte [r8 + 1]
and r13b, 3
shl r13b, 4
mov al, dl
shr al, 4
or r13b, al
mov r8b, byte [r8 + 2]
and dl, 0xf
shl dl, 2
mov al, r8b
shr al, 6
or dl, al
mov byte [rsp + 0x98], dl
and r8b, 0x3f
mov byte [rsp + 0x20], r8b
movzx eax, cl
movsx r12d, byte [rax + rbp]
mov r14, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
cmp r14, rbp
jae 0x1402a2b7e
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rbp, 8
jb 0x1402a2b6c
mov rax, qword [rbx]
mov word [rax + r14*2], r12w
xor ecx, ecx
mov word [rax + r14*2 + 2], cx
jmp 0x1402a2cbc
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1402a31ad
lea r15, [r14 + 1]
mov rdi, r15
or rdi, 7
cmp rdi, r9
jbe 0x1402a2ba3
mov rdi, r9
jmp 0x1402a2bbf
mov rcx, rbp
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rbp, rax
ja 0x1402a2b9e
lea rax, [rcx + rbp]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
xor eax, eax
test rcx, rcx
je 0x1402a2c07
cmp rcx, r10
ja 0x1402a31a7
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402a2c02
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402a33c4
mov rcx, rax
call fcn.1402aee08
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402a2c0a
call fcn.1402aee08
mov rsi, rax
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp rbp, 8
jb 0x1402a2c90
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], r12w
xor ecx, ecx
mov word [r14 + rsi + 2], cx
lea rax, [rbp + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402a3155
add rax, rax
cmp rax, 0x1000
jb 0x1402a2c86
test dil, 0x1f
jne 0x1402a3155
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402a3155
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402a3155
mov rdi, rax
mov rcx, rdi
call fcn.1402aed28
jmp 0x1402a2ca5
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], r12w
xor ecx, ecx
mov word [r14 + rsi + 2], cx
movabs r10, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rbx], rsi
movzx eax, r13b
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rcx]
mov r14, qword [rbx + 0x10]
mov rbp, qword [rbx + 0x18]
cmp r14, rbp
jae 0x1402a2d00
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rbp, 8
jb 0x1402a2ced
mov rax, qword [rbx]
mov word [rax + r14*2], r15w
xor r13d, r13d
mov word [rax + r14*2 + 2], r13w
jmp 0x1402a2e2c
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1402a31a1
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, r9
jbe 0x1402a2d25
mov rdi, r9
jmp 0x1402a2d41
mov rcx, rbp
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp rbp, rax
ja 0x1402a2d20
lea rax, [rcx + rbp]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
xor r13d, r13d
test rcx, rcx
jne 0x1402a2d52
mov esi, r13d
jmp 0x1402a2d92
cmp rcx, r10
ja 0x1402a319b
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402a2d8a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402a315c
mov rcx, rax
call fcn.1402aee08
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402a2d92
call fcn.1402aee08
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp rbp, 8
jb 0x1402a2e16
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r15w
mov word [rsi + r14 + 2], r13w
lea rax, [rbp + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402a3162
add rax, rax
cmp rax, 0x1000
jb 0x1402a2e0c
test dil, 0x1f
jne 0x1402a3162
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402a3162
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402a3162
mov rdi, rax
mov rcx, rdi
call fcn.1402aed28
jmp 0x1402a2e29
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [rsi + r14], r15w
mov word [rsi + r14 + 2], r13w
mov qword [rbx], rsi
movzx eax, byte [rsp + 0x98]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + r9]
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r14, r15
jae 0x1402a2e71
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x1402a2e61
mov rax, qword [rbx]
mov word [rax + r14*2], bp
mov word [rax + r14*2 + 2], r13w
jmp 0x1402a2fae
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x1402a3195
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, rdx
jbe 0x1402a2ea0
mov rdi, rdx
jmp 0x1402a2ebc
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1402a2e9b
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1402a2eca
mov rsi, r13
jmp 0x1402a2f14
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1402a318f
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402a2f0c
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402a3169
mov rcx, rax
call fcn.1402aee08
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402a2f14
call fcn.1402aee08
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp r15, 8
jb 0x1402a2f98
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
lea rax, [r15 + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402a316f
add rax, rax
cmp rax, 0x1000
jb 0x1402a2f8e
test dil, 0x1f
jne 0x1402a316f
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402a316f
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402a316f
mov rdi, rax
mov rcx, rdi
call fcn.1402aed28
jmp 0x1402a2fab
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
mov qword [rbx], rsi
movzx eax, byte [rsp + 0x20]
lea rbp, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + rbp]
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r14, r15
jae 0x1402a2fef
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x1402a2fdf
mov rax, qword [rbx]
mov word [rax + r14*2], bp
mov word [rax + r14*2 + 2], r13w
jmp 0x1402a3128
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, r14
cmp rax, 1
jb 0x1402a3189
lea r12, [r14 + 1]
mov rdi, r12
or rdi, 7
cmp rdi, rdx
jbe 0x1402a301e
mov rdi, rdx
jmp 0x1402a303a
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1402a3019
lea rax, [r15 + rcx]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x1402a3048
mov rsi, r13
jmp 0x1402a3092
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1402a3183
add rcx, rcx
cmp rcx, 0x1000
jb 0x1402a308a
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1402a3176
mov rcx, rax
call fcn.1402aee08
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x1402a3092
call fcn.1402aee08
mov rsi, rax
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rsi
cmp r15, 8
jb 0x1402a3112
mov rdi, qword [rbx]
mov rdx, rdi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
lea rax, [r15 + 1]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1402a317c
add rax, rax
cmp rax, 0x1000
jb 0x1402a3108
test dil, 0x1f
jne 0x1402a317c
mov rax, qword [rdi - 8]
cmp rax, rdi
jae 0x1402a317c
sub rdi, rax
sub rdi, 8
cmp rdi, 0x1f
ja 0x1402a317c
mov rdi, rax
mov rcx, rdi
call fcn.1402aed28
jmp 0x1402a3125
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov word [r14 + rsi], bp
mov word [r14 + rsi + 2], r13w
mov qword [rbx], rsi
mov rax, qword [rsp + 0x90]
sub rax, 3
mov qword [rsp + 0x90], rax
mov r8, qword [rsp + 0x88]
add r8, 3
mov qword [rsp + 0x88], r8
jmp 0x1402a2adf
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004a86c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004a86c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004a86c
int3
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004a86c
int3
call fcn.14004a858
int3
call fcn.14004a86c
int3
call fcn.14004a858
int3
call fcn.14004a86c
int3
call fcn.14004a858
int3
call fcn.14004a86c
int3
call fcn.14004a858
int3
sub rax, 1
je 0x1402a32bb
cmp rax, 1
jne 0x1402a33b0
movzx ecx, byte [r8]
mov sil, byte [r8 + 1]
mov dil, cl
and dil, 3
shl dil, 4
mov al, sil
shr al, 4
or dil, al
and sil, 0xf
shl sil, 2
shr rcx, 2
movsx r9d, byte [rcx + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a3220
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a3213
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402a3228
mov rcx, rbx
call fcn.14007bbe8
movzx eax, dil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a325d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a3250
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402a3265
mov rcx, rbx
call fcn.14007bbe8
movzx eax, sil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a329a
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a328d
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402a32a2
mov rcx, rbx
call fcn.14007bbe8
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jb 0x1402a3387
mov r9d, 0x3d
jmp 0x1402a33a8
movzx eax, byte [r8]
mov dil, al
and dil, 3
shl dil, 4
shr rax, 2
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a32ff
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a32f2
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402a3307
mov rcx, rbx
call fcn.14007bbe8
movzx eax, dil
movsx r9d, byte [rax + rbp]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a333c
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a332f
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r13w
jmp 0x1402a3344
mov rcx, rbx
call fcn.14007bbe8
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a336d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a3363
mov rax, qword [rbx]
mov edi, 0x3d
mov dword [rax + rcx*2], edi
jmp 0x1402a337d
mov edi, 0x3d
mov r9d, edi
mov rcx, rbx
call fcn.14007bbe8
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1402a33a5
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x1402a339c
mov rax, qword [rbx]
mov dword [rax + rcx*2], 0x3d
jmp 0x1402a33b0
mov r9d, edi
mov rcx, rbx
call fcn.14007bbe8
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.14004a86c
int3