Function at 0x140138794
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov r12, r8
mov r8, rdx
mov rbx, rcx
xor r10d, r10d
mov dword [rsp + 0x24], r10d
mov qword [rcx + 0x10], r10
mov qword [rcx + 0x18], 7
mov word [rcx], r10w
mov dword [rsp + 0x24], 1
cmp r12, 3
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jb 0x140138d59
movabs r9, 0x7ffffffffffffffe
movzx ecx, byte [r8]
mov dl, byte [r8 + 1]
mov r14b, cl
and r14b, 3
shl r14b, 4
mov al, dl
shr al, 4
or r14b, al
mov byte [rbp + 0xf0], r14b
mov r8b, byte [r8 + 2]
and dl, 0xf
shl dl, 2
mov al, r8b
shr al, 6
or dl, al
mov byte [rbp + 0xf8], dl
and r8b, 0x3f
mov byte [rsp + 0x20], r8b
shr rcx, 2
movsx ecx, byte [rcx + r15]
mov word [rsp + 0x22], cx
mov r14, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp r14, r15
jae 0x140138888
lea rax, [r14 + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x140138878
mov rax, qword [rbx]
mov word [rax + r14*2], cx
mov word [rax + r14*2 + 2], r10w
jmp 0x14013898d
mov qword [rsp + 0x58], 8
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x140138f76
lea r13, [r14 + 1]
mov qword [rsp + 0x78], 8
mov rdi, r13
or rdi, 7
cmp rdi, r9
jbe 0x1401388bf
mov rdi, r9
jmp 0x1401388db
mov rcx, r15
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r15, rax
ja 0x1401388ba
lea rax, [rcx + r15]
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.14000f458
mov rsi, rax
mov qword [rsp + 0x28], rax
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], rdi
add r14, r14
mov r8, r14
mov rcx, rax
cmp r15, 8
jb 0x140138965
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.1401572b0
movzx eax, word [rsp + 0x22]
mov word [r14 + rsi], ax
xor eax, eax
mov word [r14 + rsi + 2], ax
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x14013894d
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140138d52
mov rdi, rcx
lfence
mov rcx, rdi
call fcn.14015449c
mov rax, qword [rsp + 0x28]
mov qword [rbx], rax
xor r10d, r10d
jmp 0x140138983
mov rdx, rbx
call fcn.1401572b0
movzx eax, word [rsp + 0x22]
mov word [r14 + rsi], ax
xor r10d, r10d
mov word [r14 + rsi + 2], r10w
mov qword [rbx], rsi
movabs r9, 0x7ffffffffffffffe
movzx eax, byte [rbp + 0xf0]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r13d, byte [rax + rcx]
mov rsi, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp rsi, r15
jae 0x1401389d1
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x1401389c1
mov rax, qword [rbx]
mov word [rax + rsi*2], r13w
mov word [rax + rsi*2 + 2], r10w
jmp 0x140138ac1
mov qword [rbp - 0x58], 8
mov rax, r9
sub rax, rsi
cmp rax, 1
jb 0x140138f76
lea rdi, [rsi + 1]
mov qword [rbp - 0x38], 8
or rdi, 7
cmp rdi, r9
jbe 0x140138a03
mov rdi, r9
jmp 0x140138a1f
mov rcx, r15
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r15, rax
ja 0x1401389fe
lea rax, [rcx + r15]
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.14000f458
mov r14, rax
mov qword [rsp + 0x30], rax
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rdi
add rsi, rsi
mov r8, rsi
mov rcx, r14
cmp r15, 8
jb 0x140138aa8
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.1401572b0
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x140138a90
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140138d52
mov rdi, rcx
lfence
mov rcx, rdi
call fcn.14015449c
mov rax, qword [rsp + 0x30]
mov qword [rbx], rax
xor r10d, r10d
jmp 0x140138ac1
mov rdx, rbx
call fcn.1401572b0
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
mov qword [rbx], r14
movzx eax, byte [rbp + 0xf8]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r13d, byte [rax + r9]
mov rsi, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp rsi, r15
jae 0x140138b05
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x140138af5
mov rax, qword [rbx]
mov word [rax + rsi*2], r13w
mov word [rax + rsi*2 + 2], r10w
jmp 0x140138bff
mov qword [rbp - 8], 8
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x140138f76
lea rdi, [rsi + 1]
mov qword [rbp + 0x18], 8
or rdi, 7
cmp rdi, rdx
jbe 0x140138b41
mov rdi, rdx
jmp 0x140138b5d
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x140138b3c
lea rax, [rcx + r15]
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.14000f458
mov r14, rax
mov qword [rsp + 0x38], rax
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rdi
add rsi, rsi
mov r8, rsi
mov rcx, r14
cmp r15, 8
jb 0x140138be6
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.1401572b0
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x140138bce
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140138d52
mov rdi, rcx
lfence
mov rcx, rdi
call fcn.14015449c
mov rax, qword [rsp + 0x38]
mov qword [rbx], rax
xor r10d, r10d
jmp 0x140138bff
mov rdx, rbx
call fcn.1401572b0
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
mov qword [rbx], r14
movzx eax, byte [rsp + 0x20]
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r13d, byte [rax + rsi]
mov rsi, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
cmp rsi, r15
jae 0x140138c41
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r15, 8
jb 0x140138c31
mov rax, qword [rbx]
mov word [rax + rsi*2], r13w
mov word [rax + rsi*2 + 2], r10w
jmp 0x140138d37
mov qword [rbp + 0x48], 8
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x140138f76
lea rdi, [rsi + 1]
mov qword [rbp + 0x68], 8
or rdi, 7
cmp rdi, rdx
jbe 0x140138c7d
mov rdi, rdx
jmp 0x140138c99
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x140138c78
lea rax, [rcx + r15]
cmp rdi, rax
cmovb rdi, rax
lea rdx, [rdi + 1]
call fcn.14000f458
mov r14, rax
mov qword [rsp + 0x40], rax
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rdi
add rsi, rsi
mov r8, rsi
mov rcx, r14
cmp r15, 8
jb 0x140138d1e
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.1401572b0
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
cmp rdx, 0x1000
jb 0x140138d06
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x140138d52
mov rdi, rcx
lfence
mov rcx, rdi
call fcn.14015449c
mov rax, qword [rsp + 0x40]
mov qword [rbx], rax
xor r10d, r10d
jmp 0x140138d37
mov rdx, rbx
call fcn.1401572b0
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
mov qword [rbx], r14
sub r12, 3
mov r8, qword [rbp + 0xe8]
add r8, 3
mov qword [rbp + 0xe8], r8
jmp 0x1401387eb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
sub r12, 1
je 0x140138e67
cmp r12, 1
jne 0x140138f5f
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 + r15]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138dc6
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138db9
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x140138dd1
mov rcx, rbx
call fcn.14001e67c
xor r10d, r10d
movzx eax, dil
movsx r9d, byte [rax + r15]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138e06
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138df9
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x140138e11
mov rcx, rbx
call fcn.14001e67c
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r15]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138e46
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138e39
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x140138e4e
mov rcx, rbx
call fcn.14001e67c
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jb 0x140138f36
mov r9d, 0x3d
jmp 0x140138f57
movzx eax, byte [r8]
mov dil, al
and dil, 3
shl dil, 4
shr rax, 2
movsx r9d, byte [rax + r15]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138eab
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138e9e
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x140138eb6
mov rcx, rbx
call fcn.14001e67c
xor r10d, r10d
movzx eax, dil
movsx r9d, byte [rax + r15]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138eeb
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138ede
mov rax, qword [rbx]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x140138ef3
mov rcx, rbx
call fcn.14001e67c
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138f1c
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138f12
mov rax, qword [rbx]
mov edi, 0x3d
mov dword [rax + rcx*2], edi
jmp 0x140138f2c
mov edi, 0x3d
mov r9d, edi
mov rcx, rbx
call fcn.14001e67c
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x140138f54
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 8
jb 0x140138f4b
mov rax, qword [rbx]
mov dword [rax + rcx*2], 0x3d
jmp 0x140138f5f
mov r9d, edi
mov rcx, rbx
call fcn.14001e67c
mov rax, rbx
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14000f444
int3