Function at 0x180030880
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
test r9d, r9d
mov r12d, r9d
mov r11, r8
mov rsi, rdx
jne 0x1800308b6
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r8
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
xor r9d, r9d
lea eax, [r12 - 4]
test eax, eax
mov ebp, r9d
mov r14d, r9d
lea ebx, [r9 + 0x3e]
lea r15d, [r9 + 0x3f]
jle 0x180030af4
add eax, 0xffffffff
mov qword [rsp + 0x50], r13
shr eax, 2
add eax, 1
mov r13d, eax
lea ebp, [rax + rax*2]
lea r14d, [rax*4]
mov edx, dword [r11]
cmp dl, 0x41
jl 0x180030907
cmp dl, 0x5a
jg 0x180030907
movsx r8d, dl
sub r8d, 0x41
jmp 0x180030944
cmp dl, 0x61
jl 0x18003091b
cmp dl, 0x7a
jg 0x18003091b
movsx r8d, dl
sub r8d, 0x47
jmp 0x180030944
cmp dl, 0x30
jl 0x18003092f
cmp dl, 0x39
jg 0x18003092f
movsx r8d, dl
add r8d, 4
jmp 0x180030944
cmp dl, 0x2b
jne 0x180030939
mov r8d, ebx
jmp 0x180030944
or r8d, 0xffffffff
cmp dl, 0x2f
cmove r8d, r15d
mov edi, edx
shr edi, 8
lea eax, [rdi - 0x41]
cmp al, 0x19
ja 0x180030959
movsx ecx, dil
sub ecx, 0x41
jmp 0x18003098e
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x180030969
movsx ecx, dil
sub ecx, 0x47
jmp 0x18003098e
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x180030979
movsx ecx, dil
add ecx, 4
jmp 0x18003098e
cmp dil, 0x2b
jne 0x180030983
mov ecx, ebx
jmp 0x18003098e
or ecx, 0xffffffff
cmp dil, 0x2f
cmove ecx, r15d
shl ecx, 2
lea eax, [r8*4]
sar ecx, 6
or ecx, eax
lea eax, [rdi - 0x41]
cmp al, 0x19
movzx r10d, cl
ja 0x1800309b3
movsx r8d, dil
sub r8d, 0x41
jmp 0x1800309ec
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x1800309c4
movsx r8d, dil
sub r8d, 0x47
jmp 0x1800309ec
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x1800309d5
movsx r8d, dil
add r8d, 4
jmp 0x1800309ec
cmp dil, 0x2b
jne 0x1800309e0
mov r8d, ebx
jmp 0x1800309ec
or r8d, 0xffffffff
cmp dil, 0x2f
cmove r8d, r15d
mov ecx, edx
shr ecx, 0x10
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180030a00
movsx eax, cl
sub eax, 0x41
jmp 0x180030a31
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180030a0f
movsx eax, cl
sub eax, 0x47
jmp 0x180030a31
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180030a1e
movsx eax, cl
add eax, 4
jmp 0x180030a31
cmp cl, 0x2b
jne 0x180030a27
mov eax, ebx
jmp 0x180030a31
or eax, 0xffffffff
cmp cl, 0x2f
cmove eax, r15d
shl eax, 2
shl r8d, 4
sar eax, 4
or eax, r8d
movzx r8d, al
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180030a51
movsx edi, cl
sub edi, 0x41
jmp 0x180030a82
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180030a60
movsx edi, cl
sub edi, 0x47
jmp 0x180030a82
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180030a6f
movsx edi, cl
add edi, 4
jmp 0x180030a82
cmp cl, 0x2b
jne 0x180030a78
mov edi, ebx
jmp 0x180030a82
or edi, 0xffffffff
cmp cl, 0x2f
cmove edi, r15d
shr edx, 0x18
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x180030a94
movsx eax, dl
sub eax, 0x41
jmp 0x180030ac5
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x180030aa3
movsx eax, dl
sub eax, 0x47
jmp 0x180030ac5
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x180030ab2
movsx eax, dl
add eax, 4
jmp 0x180030ac5
cmp dl, 0x2b
jne 0x180030abb
mov eax, ebx
jmp 0x180030ac5
or eax, 0xffffffff
cmp dl, 0x2f
cmove eax, r15d
shl edi, 6
add rsi, 3
add r11, 4
or edi, eax
movzx eax, dil
shl eax, 8
or eax, r8d
shl eax, 8
or eax, r10d
sub r13, 1
mov dword [rsi - 3], eax
jne 0x1800308f0
mov r13, qword [rsp + 0x50]
cmp r14d, r12d
jge 0x180030d41
sub r12d, r14d
mov dword [rsp + 0x68], r9d
test r12d, r12d
movsxd r8, r12d
jle 0x180030b1f
lea rcx, [rsp + 0x68]
mov rdx, r11
call fcn.1800999d0
mov r9d, dword [rsp + 0x68]
cmp r9b, 0x41
jl 0x180030b34
cmp r9b, 0x5a
jg 0x180030b34
movsx edx, r9b
sub edx, 0x41
jmp 0x180030b73
cmp r9b, 0x61
jl 0x180030b49
cmp r9b, 0x7a
jg 0x180030b49
movsx edx, r9b
sub edx, 0x47
jmp 0x180030b73
cmp r9b, 0x30
jl 0x180030b5e
cmp r9b, 0x39
jg 0x180030b5e
movsx edx, r9b
add edx, 4
jmp 0x180030b73
cmp r9b, 0x2b
jne 0x180030b68
mov edx, ebx
jmp 0x180030b73
or edx, 0xffffffff
cmp r9b, 0x2f
cmove edx, r15d
mov ecx, r9d
shr ecx, 8
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180030b88
movsx eax, cl
sub eax, 0x41
jmp 0x180030bb9
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180030b97
movsx eax, cl
sub eax, 0x47
jmp 0x180030bb9
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180030ba6
movsx eax, cl
add eax, 4
jmp 0x180030bb9
cmp cl, 0x2b
jne 0x180030baf
mov eax, ebx
jmp 0x180030bb9
or eax, 0xffffffff
cmp cl, 0x2f
cmove eax, r15d
shl eax, 2
shl dl, 2
add rsi, 1
sar eax, 6
add ebp, 1
or al, dl
cmp cl, 0x3d
mov byte [rsi - 1], al
je 0x180030c81
mov edi, r9d
shr edi, 0x10
cmp dil, 0x3d
je 0x180030c81
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180030bf6
movsx edx, cl
sub edx, 0x41
jmp 0x180030c27
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180030c05
movsx edx, cl
sub edx, 0x47
jmp 0x180030c27
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180030c14
movsx edx, cl
add edx, 4
jmp 0x180030c27
cmp cl, 0x2b
jne 0x180030c1d
mov edx, ebx
jmp 0x180030c27
or edx, 0xffffffff
cmp cl, 0x2f
cmove edx, r15d
lea eax, [rdi - 0x41]
cmp al, 0x19
ja 0x180030c37
movsx eax, dil
sub eax, 0x41
jmp 0x180030c6c
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x180030c47
movsx eax, dil
sub eax, 0x47
jmp 0x180030c6c
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x180030c57
movsx eax, dil
add eax, 4
jmp 0x180030c6c
cmp dil, 0x2b
jne 0x180030c61
mov eax, ebx
jmp 0x180030c6c
or eax, 0xffffffff
cmp dil, 0x2f
cmove eax, r15d
shl eax, 2
shl dl, 4
add rsi, 1
sar eax, 4
or al, dl
add ebp, 1
mov byte [rsi - 1], al
mov ecx, r9d
shr ecx, 0x10
cmp cl, 0x3d
je 0x180030d3c
shr r9d, 0x18
cmp r9d, 0x3d
je 0x180030d3c
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180030cad
movsx edx, cl
sub edx, 0x41
jmp 0x180030cde
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180030cbc
movsx edx, cl
sub edx, 0x47
jmp 0x180030cde
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180030ccb
movsx edx, cl
add edx, 4
jmp 0x180030cde
cmp cl, 0x2b
jne 0x180030cd4
mov edx, ebx
jmp 0x180030cde
or edx, 0xffffffff
cmp cl, 0x2f
cmove edx, r15d
lea eax, [r9 - 0x41]
cmp al, 0x19
ja 0x180030cef
movsx ebx, r9b
sub ebx, 0x41
jmp 0x180030d22
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x180030d00
movsx ebx, r9b
sub ebx, 0x47
jmp 0x180030d22
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180030d11
movsx ebx, r9b
add ebx, 4
jmp 0x180030d22
cmp r9b, 0x2b
je 0x180030d22
or ebx, 0xffffffff
cmp r9b, 0x2f
cmove ebx, r15d
lea ecx, [rbx*4]
shl dl, 6
lea eax, [rbp + 1]
sar ecx, 2
or cl, dl
mov byte [rsi], cl
mov byte [rsi + 1], 0
jmp 0x180030d46
mov byte [rsi], 0
jmp 0x180030d44
mov byte [rsi], r9b
mov eax, ebp
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret