Function at 0x180026e30
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test rdx, rdx
je 0x18002713c
mov rax, rdx
shr rax, 0x3d
jne 0x18002713c
mov r14, rcx
mov rax, rdx
shr rax, 0x20
mov rcx, rdx
shl rcx, 0x20
lea r10d, [r8 - 0x20]
test rax, rax
cmovne rcx, rdx
cmovne r10d, r8d
mov rax, rcx
shr rax, 0x30
mov rdx, rcx
shl rdx, 0x10
lea r8d, [r10 - 0x10]
test rax, rax
cmovne rdx, rcx
cmovne r8d, r10d
mov rax, rdx
shr rax, 0x38
mov rcx, rdx
shl rcx, 8
lea r11d, [r8 - 8]
test rax, rax
cmovne rcx, rdx
cmovne r11d, r8d
mov rax, rcx
shr rax, 0x3c
mov rdx, rcx
shl rdx, 4
lea r10d, [r11 - 4]
test rax, rax
cmovne rdx, rcx
cmovne r10d, r11d
mov rcx, rdx
shr rcx, 0x3e
lea rax, [rdx*4]
test rcx, rcx
cmovne rax, rdx
lea r8d, [r10 - 2]
cmovne r8d, r10d
xor ecx, ecx
test rax, rax
setns cl
sub r8d, ecx
mov ecx, 0xffffffa0
sub ecx, r8d
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rdx, rcx, 0x7b4dc993
mov rcx, rdx
shr rcx, 0x3f
sar rdx, 0x2a
add edx, ecx
cmp edx, 0x51
jae 0x18002713c
test rax, rax
setns cl
shl rax, cl
mov r10d, edx
shl r10, 4
lea rsi, [0x180193060]
mov rdx, qword [r10 + rsi]
mov rcx, rax
shr rcx, 0x20
mov eax, eax
mov ebx, edx
shr rdx, 0x20
mov r11, rdx
imul r11, rcx
imul rdx, rax
imul rcx, rbx
imul rbx, rax
shr rbx, 0x20
mov edi, ecx
add rdi, rbx
mov eax, edx
add rax, rdi
sub rax, 0xffffffff80000000
shr rcx, 0x20
add rcx, r11
shr rdx, 0x20
add rdx, rcx
shr rax, 0x20
add rax, rdx
add r8w, word [r10 + rsi + 8]
mov edx, 0xffffffc0
sub edx, r8d
mov r8d, edx
and r8d, 0x3f
mov rbx, rax
mov ecx, r8d
shr rbx, cl
mov r11d, 1
shl r11, cl
lea rdi, [r11 - 1]
mov r13, rax
and r13, rdi
je 0x1800271a6
movzx ebp, word [rsp + 0xb8]
movzx ecx, word [r10 + rsi + 0xa]
cmp ebx, 0x2710
mov qword [rsp + 0x40], rdi
jae 0x180026fff
cmp ebx, 0x64
jae 0x180027024
xor r10d, r10d
cmp ebx, 0xa
setae r10b
lea esi, [r10 + r10*8]
inc esi
jmp 0x180027081
cmp ebx, 0xf4240
jae 0x180027041
cmp ebx, 0x186a0
setb r10b
mov edi, 0x2710
mov esi, 0x186a0
cmovb esi, edi
xor r10b, 5
jmp 0x180027081
cmp ebx, 0x3e8
setb r10b
mov edi, 0x64
mov esi, 0x3e8
cmovb esi, edi
xor r10b, 3
jmp 0x180027081
cmp ebx, 0x5f5e100
jae 0x180027066
cmp ebx, 0x989680
setb r10b
mov edi, 0xf4240
mov esi, 0x989680
cmovb esi, edi
xor r10b, 7
jmp 0x180027081
cmp ebx, 0x3b9aca00
setb r10b
mov edi, 0x5f5e100
mov esi, 0x3b9aca00
cmovb esi, edi
xor r10b, 9
movzx r12d, r10b
mov r15d, r12d
sub r15d, ecx
mov edi, r15d
inc edi
cmp di, bp
jle 0x180027140
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x20], r14
movzx r10d, dx
mov r11, qword [rsp + 0xb0]
movsx rax, di
mov dword [rsp + 0x2c], edi
mov ecx, edi
sub ecx, ebp
movsx rdx, bp
sub rax, rdx
cmp rax, r11
movsx r14, cx
cmovae r14, r11
neg r12
mov rbp, r11
neg rbp
mov r15d, 1
mov edi, 0xcccccccd
nop word cs:[rax + rax]
lea r11, [r15 + rbp]
mov eax, ebx
xor edx, edx
div esi
cmp r11, 1
je 0x18002713c
mov ecx, edx
mov eax, ebx
xor edx, edx
div esi
add al, 0x30
mov byte [r9 + r15 - 1], al
cmp r14, r15
je 0x1800271b2
lea rax, [r12 + r15]
cmp rax, 1
je 0x180027294
mov eax, esi
imul rax, rdi
shr rax, 0x23
inc r15
mov ebx, ecx
cmp esi, 0xa
mov esi, eax
jae 0x1800270f0
ud2
movabs rcx, 0xcccccccccccccccd
mul rcx
mov eax, esi
mov ecx, r8d
shl rax, cl
mov rcx, rax
sub rcx, r11
jbe 0x1800271a6
cmp rcx, r11
jbe 0x1800271a6
shr rdx, 3
mov rcx, rax
sub rcx, rdx
cmp rcx, rdx
jbe 0x180027195
mov rsi, r11
mov r11, rax
sub r11, rdx
sub r11, rdx
mov r10d, 2
mov ecx, r8d
shl r10, cl
cmp r11, r10
mov r11, rsi
jae 0x18002736a
sub rdx, r11
jbe 0x1800271a6
sub rax, rdx
cmp rax, rdx
jbe 0x18002737c
mov qword [r14], 0
jmp 0x180027359
mov eax, ecx
mov ecx, r8d
shl rax, cl
mov edx, esi
shl rdx, cl
mov rcx, rdx
mov r10, qword [rsp + 0x30]
sub rcx, r10
jbe 0x18002734d
cmp rcx, r10
jbe 0x18002734d
add rax, r13
mov rcx, rdx
sub rcx, rax
cmp rcx, rax
jbe 0x18002720a
mov r11, rdx
sub r11, rax
sub r11, rax
mov r10d, 2
mov ecx, r8d
shl r10, cl
cmp r11, r10
mov r10, qword [rsp + 0x30]
jae 0x180027390
sub rax, r10
mov ebp, dword [rsp + 0x2c]
mov rbx, qword [rsp + 0xb0]
jbe 0x18002734d
sub rdx, rax
cmp rdx, rax
ja 0x18002734d
cmp r14, rbx
ja 0x18002713c
mov rsi, r9
mov r8, 0xffffffffffffffff
xor eax, eax
mov rcx, r9
movzx edi, word [rsp + 0xb8]
mov r15, qword [rsp + 0x38]
cmp r14, rax
je 0x1800273de
inc rax
inc r8
lea rdx, [rcx - 1]
cmp byte [rcx + r14 - 1], 0x39
mov rcx, rdx
je 0x180027250
inc byte [rdx + r14]
mov rax, r14
sub rax, r8
cmp rax, r14
jae 0x1800274e4
lea rcx, [rdx + r14]
inc rcx
mov dl, 0x30
call fcn.180182690
jmp 0x1800274e4
dec r10d
and r10d, 0x3f
mov edx, 1
mov rsi, r9
mov r11, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x40]
mov rax, rdx
mov ecx, r10d
shr rdx, cl
test rdx, rdx
jne 0x18002734d
cmp r15, r11
jae 0x18002713c
add r13, r13
lea r9, [r13*4]
add r9, r13
mov r13, r9
and r13, rdi
lea rcx, [rax + rax]
lea rdx, [rcx + rcx*4]
mov ecx, r8d
shr r9, cl
add r9b, 0x30
mov byte [rsi + r15], r9b
inc r15
cmp r14, r15
jne 0x1800272b0
mov rcx, qword [rsp + 0x30]
sub rcx, rdx
jbe 0x18002734d
cmp rcx, rdx
jbe 0x18002734d
mov r8, qword [rsp + 0x30]
mov rcx, r8
sub rcx, r13
cmp rcx, r13
jbe 0x180027333
sub r8, r13
sub r8, r13
shl rax, 2
lea rax, [rax + rax*4]
cmp r8, rax
jae 0x1800273bc
sub r13, rdx
mov ebx, dword [rsp + 0x2c]
jbe 0x18002734d
mov rax, qword [rsp + 0x30]
sub rax, r13
cmp rax, r13
jbe 0x18002740a
mov rax, qword [rsp + 0x20]
mov qword [rax], 0
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [r14], r9
mov qword [r14 + 8], 0
mov word [r14 + 0x10], di
jmp 0x180027359
lea eax, [r15 + 2]
cmp ax, bp
jle 0x1800273ac
mov byte [r9], 0x31
mov ecx, 1
jmp 0x1800273ae
cmp r14, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0x2c]
ja 0x18002713c
mov rax, qword [rsp + 0x20]
mov qword [rax], r9
jmp 0x1800273d1
xor ecx, ecx
mov qword [r14], r9
mov qword [r14 + 8], rcx
mov word [r14 + 0x10], ax
jmp 0x180027359
cmp r14, r11
mov ecx, dword [rsp + 0x2c]
ja 0x18002713c
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rax + 8], r14
mov word [rax + 0x10], cx
jmp 0x180027359
test r14, r14
je 0x1800274c0
mov byte [rsi], 0x31
mov bl, 0x30
cmp r14, 1
je 0x1800274c2
lea rcx, [rsi + 1]
lea r8, [r14 - 1]
mov dl, 0x30
call fcn.180182690
jmp 0x1800274c2
cmp r14, qword [rsp + 0xb0]
ja 0x18002713c
mov r8, 0xffffffffffffffff
xor eax, eax
mov rcx, rsi
movzx edi, word [rsp + 0xb8]
mov r15, qword [rsp + 0x38]
cmp r14, rax
je 0x18002746a
inc rax
inc r8
lea rdx, [rcx - 1]
cmp byte [rcx + r14 - 1], 0x39
mov rcx, rdx
je 0x180027431
inc byte [rdx + r14]
mov rax, r14
sub rax, r8
cmp rax, r14
jae 0x18002749d
lea rcx, [rdx + r14]
inc rcx
mov dl, 0x30
call fcn.180182690
jmp 0x18002749d
mov byte [rsi], 0x31
cmp r14, 1
je 0x180027482
lea rcx, [rsi + 1]
lea r8, [r14 - 1]
mov dl, 0x30
call fcn.180182690
lea ebx, [r15 + 2]
cmp bx, di
jle 0x18002749d
cmp r14, qword [rsp + 0xb0]
jae 0x18002749d
mov byte [rsi + r14], 0x30
inc r14
cmp r14, qword [rsp + 0xb0]
ja 0x18002713c
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rax + 8], r14
mov word [rax + 0x10], bx
jmp 0x180027359
mov bl, 0x31
lea ebp, [r15 + 2]
cmp bp, di
jle 0x1800274dc
cmp r14, qword [rsp + 0xb0]
jae 0x1800274dc
mov byte [rsi + r14], bl
inc r14
mov rbx, qword [rsp + 0xb0]
cmp r14, rbx
ja 0x18002713c
mov rax, qword [rsp + 0x20]
mov qword [rax], rsi
mov qword [rax + 8], r14
mov word [rax + 0x10], bp
jmp 0x180027359