Function at 0x180032390
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 0x1800323c6
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 0x180032604
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 0x180032417
cmp dl, 0x5a
jg 0x180032417
movsx r8d, dl
sub r8d, 0x41
jmp 0x180032454
cmp dl, 0x61
jl 0x18003242b
cmp dl, 0x7a
jg 0x18003242b
movsx r8d, dl
sub r8d, 0x47
jmp 0x180032454
cmp dl, 0x30
jl 0x18003243f
cmp dl, 0x39
jg 0x18003243f
movsx r8d, dl
add r8d, 4
jmp 0x180032454
cmp dl, 0x2b
jne 0x180032449
mov r8d, ebx
jmp 0x180032454
or r8d, 0xffffffff
cmp dl, 0x2f
cmove r8d, r15d
mov edi, edx
shr edi, 8
lea eax, [rdi - 0x41]
cmp al, 0x19
ja 0x180032469
movsx ecx, dil
sub ecx, 0x41
jmp 0x18003249e
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x180032479
movsx ecx, dil
sub ecx, 0x47
jmp 0x18003249e
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x180032489
movsx ecx, dil
add ecx, 4
jmp 0x18003249e
cmp dil, 0x2b
jne 0x180032493
mov ecx, ebx
jmp 0x18003249e
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 0x1800324c3
movsx r8d, dil
sub r8d, 0x41
jmp 0x1800324fc
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x1800324d4
movsx r8d, dil
sub r8d, 0x47
jmp 0x1800324fc
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x1800324e5
movsx r8d, dil
add r8d, 4
jmp 0x1800324fc
cmp dil, 0x2b
jne 0x1800324f0
mov r8d, ebx
jmp 0x1800324fc
or r8d, 0xffffffff
cmp dil, 0x2f
cmove r8d, r15d
mov ecx, edx
shr ecx, 0x10
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180032510
movsx eax, cl
sub eax, 0x41
jmp 0x180032541
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18003251f
movsx eax, cl
sub eax, 0x47
jmp 0x180032541
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x18003252e
movsx eax, cl
add eax, 4
jmp 0x180032541
cmp cl, 0x2b
jne 0x180032537
mov eax, ebx
jmp 0x180032541
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 0x180032561
movsx edi, cl
sub edi, 0x41
jmp 0x180032592
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180032570
movsx edi, cl
sub edi, 0x47
jmp 0x180032592
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x18003257f
movsx edi, cl
add edi, 4
jmp 0x180032592
cmp cl, 0x2b
jne 0x180032588
mov edi, ebx
jmp 0x180032592
or edi, 0xffffffff
cmp cl, 0x2f
cmove edi, r15d
shr edx, 0x18
lea eax, [rdx - 0x41]
cmp al, 0x19
ja 0x1800325a4
movsx eax, dl
sub eax, 0x41
jmp 0x1800325d5
lea eax, [rdx - 0x61]
cmp al, 0x19
ja 0x1800325b3
movsx eax, dl
sub eax, 0x47
jmp 0x1800325d5
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x1800325c2
movsx eax, dl
add eax, 4
jmp 0x1800325d5
cmp dl, 0x2b
jne 0x1800325cb
mov eax, ebx
jmp 0x1800325d5
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 0x180032400
mov r13, qword [rsp + 0x50]
cmp r14d, r12d
jge 0x180032851
sub r12d, r14d
mov dword [rsp + 0x68], r9d
test r12d, r12d
movsxd r8, r12d
jle 0x18003262f
lea rcx, [rsp + 0x68]
mov rdx, r11
call fcn.1800a2480
mov r9d, dword [rsp + 0x68]
cmp r9b, 0x41
jl 0x180032644
cmp r9b, 0x5a
jg 0x180032644
movsx edx, r9b
sub edx, 0x41
jmp 0x180032683
cmp r9b, 0x61
jl 0x180032659
cmp r9b, 0x7a
jg 0x180032659
movsx edx, r9b
sub edx, 0x47
jmp 0x180032683
cmp r9b, 0x30
jl 0x18003266e
cmp r9b, 0x39
jg 0x18003266e
movsx edx, r9b
add edx, 4
jmp 0x180032683
cmp r9b, 0x2b
jne 0x180032678
mov edx, ebx
jmp 0x180032683
or edx, 0xffffffff
cmp r9b, 0x2f
cmove edx, r15d
mov ecx, r9d
shr ecx, 8
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180032698
movsx eax, cl
sub eax, 0x41
jmp 0x1800326c9
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800326a7
movsx eax, cl
sub eax, 0x47
jmp 0x1800326c9
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1800326b6
movsx eax, cl
add eax, 4
jmp 0x1800326c9
cmp cl, 0x2b
jne 0x1800326bf
mov eax, ebx
jmp 0x1800326c9
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 0x180032791
mov edi, r9d
shr edi, 0x10
cmp dil, 0x3d
je 0x180032791
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x180032706
movsx edx, cl
sub edx, 0x41
jmp 0x180032737
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180032715
movsx edx, cl
sub edx, 0x47
jmp 0x180032737
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x180032724
movsx edx, cl
add edx, 4
jmp 0x180032737
cmp cl, 0x2b
jne 0x18003272d
mov edx, ebx
jmp 0x180032737
or edx, 0xffffffff
cmp cl, 0x2f
cmove edx, r15d
lea eax, [rdi - 0x41]
cmp al, 0x19
ja 0x180032747
movsx eax, dil
sub eax, 0x41
jmp 0x18003277c
lea eax, [rdi - 0x61]
cmp al, 0x19
ja 0x180032757
movsx eax, dil
sub eax, 0x47
jmp 0x18003277c
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x180032767
movsx eax, dil
add eax, 4
jmp 0x18003277c
cmp dil, 0x2b
jne 0x180032771
mov eax, ebx
jmp 0x18003277c
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 0x18003284c
shr r9d, 0x18
cmp r9d, 0x3d
je 0x18003284c
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x1800327bd
movsx edx, cl
sub edx, 0x41
jmp 0x1800327ee
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800327cc
movsx edx, cl
sub edx, 0x47
jmp 0x1800327ee
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1800327db
movsx edx, cl
add edx, 4
jmp 0x1800327ee
cmp cl, 0x2b
jne 0x1800327e4
mov edx, ebx
jmp 0x1800327ee
or edx, 0xffffffff
cmp cl, 0x2f
cmove edx, r15d
lea eax, [r9 - 0x41]
cmp al, 0x19
ja 0x1800327ff
movsx ebx, r9b
sub ebx, 0x41
jmp 0x180032832
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x180032810
movsx ebx, r9b
sub ebx, 0x47
jmp 0x180032832
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x180032821
movsx ebx, r9b
add ebx, 4
jmp 0x180032832
cmp r9b, 0x2b
je 0x180032832
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 0x180032856
mov byte [rsi], 0
jmp 0x180032854
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