Function at 0x68838650
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x68838fca
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x78], rbp
lea rbp, [rsp + 0x78]
mov rdx, qword [rsp + 0xc0]
mov rdx, qword [rdx]
lea rcx, [rdx - 0x3c]
neg rcx
cmp rcx, 0x40
sbb rdx, rdx
mov rbx, qword [rsp + 0xb0]
test rbx, rbx
mov rsi, qword [rsp + 0xb8]
mov edi, 0
cmove rsi, rdi
shl rbx, cl
and rbx, rdx
jmp 0x688386bb
shl rbx, 1
dec rsi
test rbx, rbx
je 0x688386c7
bt rbx, 0x3c
jae 0x688386b5
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
jl 0x68838fbf
cmp rcx, 0xf
jge 0x68838fbf
mov rdx, rcx
shl rcx, 2
cmp rcx, 0x40
sbb rdi, rdi
lea r8, [rcx - 0x3c]
neg r8
cmp r8, 0x40
sbb r9, r9
mov r10, rbx
shl rbx, cl
and rdi, rbx
movabs rbx, 0xfffffffffffffff
and rbx, rdi
mov rcx, r8
shr r10, cl
and r10, r9
mov rdi, r10
and r10, 1
or rbx, r10
movabs r10, 0x800000000000000
cmp rbx, r10
jbe 0x68838fb7
lea rbx, [rdi + 1]
shl rbx, cl
and rbx, r9
bt rbx, 0x3d
jae 0x68838faf
shr rbx, 1
lea rcx, [rsi + 1]
movzx esi, byte [rsp + 0xa8]
cmp sil, 0x58
jne 0x68838fa3
lea rax, [0x688edfff]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xb0], rbx
movzx edi, byte [rsp + 0xa9]
test dil, dil
je 0x68838f86
mov rdi, qword [rsp + 0x90]
lea r8, [rdi + 1]
mov r9, qword [rsp + 0x98]
cmp r8, r9
ja 0x68838f15
mov r10, qword [rsp + 0x88]
mov byte [r10 + rdi], 0x2d
lea rdi, [r8 + 3]
cmp rdi, r9
ja 0x68838ea4
mov qword [rsp + 0x90], rdi
mov byte [r10 + r8], 0x30
mov byte [r10 + r8 + 1], sil
mov r11, rbx
shr rbx, 0x3c
and rbx, 1
add ebx, 0x30
mov byte [r10 + r8 + 2], bl
shl r11, 4
mov qword [rsp + 0x68], r11
test rdx, rdx
jge 0x68838d60
test r11, r11
je 0x68838d5d
lea rdx, [rdi + 1]
cmp rdx, r9
ja 0x68838cff
mov byte [r10 + rdi], 0x2e
jmp 0x6883882e
mov byte [r10 + rdx], r8b
shl rdi, 4
mov r11, rdi
mov rdx, rbx
test r11, r11
je 0x688388c0
lea rbx, [rdx + 1]
mov rdi, r11
shr r11, 0x3c
and r11, 0xf
movzx r8d, byte [rax + r11]
cmp rbx, r9
jbe 0x68838820
mov qword [rsp + 0x68], rdi
mov byte [rsp + 0x47], r8b
mov qword [rsp + 0x60], rdx
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
movzx r8d, byte [rsp + 0x47]
jmp 0x68838820
mov ebx, esi
or esi, 0x20
cmp sil, bl
jne 0x68838cf5
mov eax, 0x70
lea rbx, [rdx + 1]
cmp rbx, r9
ja 0x68838c98
mov byte [r10 + rdx], al
test rcx, rcx
jge 0x68838c8e
neg rcx
mov eax, 0x2d
mov qword [rsp + 0xb8], rcx
lea rdx, [rbx + 1]
cmp rdx, r9
ja 0x68838c31
mov qword [rsp + 0x90], rdx
mov byte [r10 + rbx], al
cmp rcx, 0x64
jge 0x688389e0
lea rbx, [rdx + 2]
mov rax, rcx
movabs rsi, 0xcccccccccccccccd
mov rdi, rdx
imul rsi
add rdx, rcx
sar rdx, 3
mov rsi, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rcx, [rdx + rdx*4]
shl rcx, 1
sub rsi, rcx
cmp rbx, r9
ja 0x68838988
lea eax, [rdx + 0x30]
mov byte [r10 + rdi], al
lea eax, [rsi + 0x30]
mov byte [r10 + rdi + 1], al
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xd8], r9
mov rbp, qword [rsp + 0x78]
sub rsp, 0xffffffffffffff80
ret
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rsi
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 2]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x90]
jmp 0x68838957
cmp rcx, 0x3e8
jge 0x68838aea
lea rbx, [rdx + 3]
mov rax, rcx
movabs rsi, 0xa3d70a3d70a3d70b
mov rdi, rdx
imul rsi
add rdx, rcx
sar rdx, 6
mov rax, rcx
sar rcx, 0x3f
sub rdx, rcx
movabs rsi, 0xcccccccccccccccd
mov r8, rdx
imul rsi
mov r11, qword [rsp + 0xb8]
add rdx, r11
sar rdx, 3
sub rdx, rcx
mov rax, rsi
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov rsi, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rcx, [rdx + rdx*4]
shl rcx, 1
mov rdx, rsi
sub rsi, rcx
lea rcx, [rdx + rdx*4]
shl rcx, 1
sub r11, rcx
cmp rbx, r9
ja 0x68838a8b
lea eax, [r8 + 0x30]
mov byte [r10 + rdi], al
lea eax, [rsi + 0x30]
mov byte [r10 + rdi + 1], al
lea eax, [r11 + 0x30]
mov byte [r10 + rdi + 2], al
jmp 0x68838966
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r11
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 3]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x60]
mov r11, qword [rsp + 0x50]
jmp 0x68838a6d
lea rbx, [rdx + 4]
mov rax, rcx
movabs rsi, 0x4189374bc6a7ef9e
mov rdi, rdx
imul rsi
sar rdx, 8
mov rax, rcx
sar rcx, 0x3f
sub rdx, rcx
movabs rsi, 0xa3d70a3d70a3d70b
mov r8, rdx
imul rsi
mov rax, qword [rsp + 0xb8]
add rdx, rax
sar rdx, 6
sub rdx, rcx
movzx esi, dl
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [rsi + rsi*4]
shl esi, 1
sub edx, esi
movabs rsi, 0xcccccccccccccccd
mov r11d, edx
imul rsi
mov r12, qword [rsp + 0xb8]
add rdx, r12
sar rdx, 3
sub rdx, rcx
mov rax, rsi
mov rcx, rdx
imul rdx
add rdx, rcx
sar rdx, 3
mov rsi, rcx
sar rcx, 0x3f
sub rdx, rcx
lea rcx, [rdx + rdx*4]
shl rcx, 1
mov rdx, rsi
sub rsi, rcx
lea rcx, [rdx + rdx*4]
shl rcx, 1
sub r12, rcx
cmp rbx, r9
ja 0x68838bc4
lea eax, [r8 + 0x30]
mov byte [r10 + rdi], al
lea eax, [r11 + 0x30]
mov byte [r10 + rdi + 1], al
lea eax, [rsi + 0x30]
mov byte [r10 + rdi + 2], al
lea eax, [r12 + 0x30]
mov byte [r10 + rdi + 3], al
jmp 0x68838966
mov qword [rsp + 0x60], r8
mov byte [rsp + 0x46], r11b
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x50], r12
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 4]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x60]
movzx r11d, byte [rsp + 0x46]
mov r12, qword [rsp + 0x50]
jmp 0x68838b9c
mov qword [rsp + 0x90], rbx
mov byte [rsp + 0x45], al
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rdx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rdx, [rax + 1]
movzx eax, byte [rsp + 0x45]
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x90]
jmp 0x6883890a
mov eax, 0x2b
jmp 0x688388f5
mov byte [rsp + 0x45], al
mov qword [rsp + 0x90], rdx
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 1]
movzx eax, byte [rsp + 0x45]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x90]
jmp 0x688388e0
mov eax, 0x50
jmp 0x688388d3
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rdx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rdx, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x90]
mov r11, qword [rsp + 0x68]
jmp 0x68838819
test rdx, rdx
jle 0x68838e9f
lea rbx, [rdi + 1]
cmp rbx, r9
ja 0x68838e39
mov byte [r10 + rdi], 0x2e
xor edi, edi
jmp 0x68838d8d
mov byte [r10 + rbx], r11b
inc rdi
shl r12, 4
mov r11, r12
mov rbx, r8
cmp rdi, rdx
jge 0x68838e31
lea r8, [rbx + 1]
mov r12, r11
shr r11, 0x3c
and r11, 0xf
movzx r11d, byte [rax + r11]
cmp r8, r9
jbe 0x68838d7c
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rdi
mov byte [rsp + 0x47], r11b
mov qword [rsp + 0x68], r12
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], r8
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea r8, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x48]
movzx r11d, byte [rsp + 0x47]
mov r12, qword [rsp + 0x68]
jmp 0x68838d7c
mov rdx, rbx
jmp 0x688388c0
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rbx
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rbx, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x90]
mov r11, qword [rsp + 0x68]
jmp 0x68838d73
mov rbx, rdi
jmp 0x68838e31
mov qword [rsp + 0x90], r8
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], rdi
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea rdi, [rax + 3]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rsp + 0xa8]
mov r8, qword [rsp + 0x90]
jmp 0x688387cc
lea rax, [0x688c4b00]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], r9
mov qword [rsp + 0x20], r8
call sym.dpapi.dll_runtime.growslice
mov r10, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea r8, [rax + 1]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [rsp + 0x90]
jmp 0x688387ba
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
jmp 0x688387bf
lea rax, [0x688ee00f]
jmp 0x6883876f
mov rcx, rsi
jmp 0x68838756
mov rbx, rdi
jmp 0x6883873e
mov rdx, rcx
mov rcx, rsi
jmp 0x68838756
call sym.dpapi.dll_runtime.morestack_noctxt
jmp sym.dpapi.dll_strconv.fmtX