Function at 0x180026030
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x90
mov r9, qword [rdx]
test r9, r9
je 0x18002673c
mov rax, qword [rdx + 8]
test rax, rax
je 0x18002673c
mov rdi, rcx
mov rcx, qword [rdx + 0x10]
test rcx, rcx
je 0x18002673c
add rcx, r9
jb 0x18002673c
mov r11, r9
sub r11, rax
jb 0x18002673c
mov rax, rcx
shr rax, 0x3d
jne 0x18002673c
mov eax, dword [rdx + 0x18]
mov rdx, rcx
shr rdx, 0x20
mov rbx, rcx
shl rbx, 0x20
lea r10d, [rax - 0x20]
test rdx, rdx
cmovne rbx, rcx
cmovne r10d, eax
mov rcx, rbx
shr rcx, 0x30
mov rdx, rbx
shl rdx, 0x10
lea esi, [r10 - 0x10]
test rcx, rcx
cmovne rdx, rbx
cmovne esi, r10d
mov rcx, rdx
shr rcx, 0x38
mov rbx, rdx
shl rbx, 8
lea r10d, [rsi - 8]
test rcx, rcx
cmovne rbx, rdx
cmovne r10d, esi
mov rcx, rbx
shr rcx, 0x3c
mov rsi, rbx
shl rsi, 4
test rcx, rcx
cmovne rsi, rbx
lea ecx, [r10 - 4]
cmovne ecx, r10d
mov rbx, rsi
shr rbx, 0x3e
lea rdx, [rsi*4]
lea r10d, [rcx - 2]
test rbx, rbx
cmovne rdx, rsi
cmovne r10d, ecx
xor ecx, ecx
test rdx, rdx
setns cl
shl rdx, cl
sub r10d, ecx
sub ax, r10w
js 0x18002673c
and eax, 0x3f
mov rsi, 0xffffffffffffffff
mov ecx, eax
shr rsi, cl
cmp r11, rsi
ja 0x18002673c
mov ecx, eax
shl r11, cl
cmp r9, rsi
ja 0x18002673c
mov ecx, 0xffffffa0
sub ecx, r10d
movsx ecx, cx
lea ecx, [rcx + rcx*4]
shl ecx, 4
add ecx, 0x153b0
movsxd rcx, ecx
imul rsi, rcx, 0x7b4dc993
mov rcx, rsi
shr rcx, 0x3f
sar rsi, 0x2a
add esi, ecx
cmp esi, 0x51
jae 0x18002673c
mov r14, r8
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x10], r8
mov ecx, eax
shl r9, cl
mov eax, esi
shl rax, 4
lea rbx, [0x18018db40]
mov rsi, qword [rax + rbx]
movzx ecx, word [rax + rbx + 0xa]
mov dword [rsp], ecx
mov r15, rdx
shr r15, 0x20
mov edx, edx
mov ecx, esi
mov r14, rsi
shr r14, 0x20
mov rbp, r14
imul rbp, rdx
mov r13, rcx
imul r13, r15
imul rdx, rcx
shr rdx, 0x20
mov esi, r13d
add rsi, rdx
mov edi, ebp
add rdi, rsi
add r10w, word [rax + rbx + 8]
mov rbx, r11
shr rbx, 0x20
mov eax, r11d
mov rdx, r14
imul rdx, rbx
mov qword [rsp + 8], rdx
mov r12, r14
imul r12, rax
imul rbx, rcx
imul rax, rcx
shr rax, 0x20
mov edx, ebx
add rdx, rax
mov eax, r12d
add rax, rdx
mov rsi, r9
shr rsi, 0x20
mov edx, r9d
mov r8, r14
imul r8, rdx
mov r9, rcx
imul r9, rsi
imul rcx, rdx
shr rcx, 0x20
mov edx, r9d
add rdx, rcx
mov r11d, r8d
add r11, rdx
mov rcx, r14
imul rcx, r15
sub rdi, 0xffffffff80000000
shr r13, 0x20
shr rbp, 0x20
shr rdi, 0x20
neg r10d
sub rax, 0xffffffff80000000
shr rbx, 0x20
shr r12, 0x20
shr rax, 0x20
mov qword [rsp + 0x78], r14
imul r14, rsi
sub r11, 0xffffffff80000000
shr r9, 0x20
mov qword [rsp + 0x50], r9
add r14, r9
shr r8, 0x20
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x40], rcx
add rcx, r13
add rcx, rbp
mov qword [rsp + 0x30], rdi
lea r9, [rdi + rcx]
inc r9
mov rdi, r14
and r10d, 0x3f
mov r13, r9
mov ecx, r10d
shr r13, cl
mov edx, 1
shl rdx, cl
mov qword [rsp + 0x48], r8
add rdi, r8
shr r11, 0x20
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x88], rdx
lea r11, [rdx - 1]
cmp r13d, 0x2710
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x58], rsi
jae 0x180026331
cmp r13d, 0x64
jae 0x18002635d
mov r15, qword [rsp + 0x10]
xor ecx, ecx
cmp r13d, 0xa
setae cl
lea r14d, [rcx + rcx*8]
inc r14d
jmp 0x18002637e
cmp r13d, 0xf4240
jae 0x180026389
mov r15, qword [rsp + 0x10]
cmp r13d, 0x186a0
setb cl
mov edx, 0x2710
mov r14d, 0x186a0
cmovb r14d, edx
xor cl, 5
jmp 0x18002637e
mov r15, qword [rsp + 0x10]
cmp r13d, 0x3e8
setb cl
mov edx, 0x64
mov r14d, 0x3e8
cmovb r14d, edx
xor cl, 3
mov rdx, qword [rsp + 8]
mov r8d, dword [rsp]
jmp 0x1800263df
cmp r13d, 0x5f5e100
mov r8d, dword [rsp]
jae 0x1800263b9
mov r15, qword [rsp + 0x10]
cmp r13d, 0x989680
setb cl
mov edx, 0xf4240
mov r14d, 0x989680
cmovb r14d, edx
xor cl, 7
jmp 0x1800263da
mov r15, qword [rsp + 0x10]
cmp r13d, 0x3b9aca00
setb cl
mov edx, 0x5f5e100
mov r14d, 0x3b9aca00
cmovb r14d, edx
xor cl, 9
mov rdx, qword [rsp + 8]
add rdi, qword [rsp + 0x38]
mov qword [rsp], rdi
mov rsi, r9
mov rbp, r11
and rsi, r11
movzx r11d, cl
mov ecx, r11d
sub ecx, r8d
inc ecx
mov dword [rsp + 0x2c], ecx
add rdx, rbx
add rdx, r12
add rdx, rax
mov qword [rsp + 0x20], r9
mov rdi, r9
mov qword [rsp + 8], rdx
sub rdi, rdx
inc rdi
mov r9, rdi
mov qword [rsp + 0x80], rbp
and r9, rbp
xor ebx, ebx
mov ebp, 0xcccccccd
nop word cs:[rax + rax]
mov eax, r13d
xor edx, edx
div r14d
add al, 0x30
mov r13d, edx
mov rdx, r13
mov ecx, r10d
shl rdx, cl
mov byte [r15 + rbx], al
lea r8, [rdx + rsi]
mov r12, rdi
sub r12, r8
ja 0x18002648b
cmp r11, rbx
je 0x180026588
mov eax, r14d
imul rax, rbp
shr rax, 0x23
inc rbx
cmp r14d, 0xa
mov r14d, eax
jae 0x180026440
jmp 0x18002673c
mov r9d, r14d
mov ecx, r10d
shl r9, cl
cmp rbx, 0x11
jae 0x18002673c
mov rbp, qword [rsp + 0x20]
sub rbp, qword [rsp]
lea rcx, [rbp + 1]
dec rbp
cmp r12, r9
setae r11b
cmp rbp, r8
mov r13, r15
jbe 0x180026676
cmp r12, r9
jb 0x180026676
mov qword [rsp + 0x20], rcx
mov r11, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
lea r10, [r12 + r11]
add r10, qword [rsp + 0x30]
add r10, qword [rsp + 0x40]
mov r14, r10
sub r14, qword [rsp]
sub r14, rdx
sub r14, rsi
sub r10, qword [rsp + 8]
lea r15, [rsi + r9]
sub r10, r15
sub r10, rdx
mov r13, qword [rsp + 0x50]
add r13, r15
add r13, qword [rsp + 0x48]
add r13, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
sub r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
imul rcx, r8
add rcx, r13
mov r13, qword [rsp + 0x10]
sub rcx, r12
sub rcx, r11
sub rcx, qword [rsp + 0x30]
add r10, 2
nop
lea r12, [rdx + r15]
cmp r12, rbp
jb 0x180026556
lea r8, [rdx + rcx]
cmp r14, r8
jb 0x180026668
dec al
mov r8, r10
sub r8, r9
setae r11b
add rsi, r9
mov byte [r13 + rbx], al
cmp r12, rbp
jae 0x180026580
sub r14, r9
add rcx, r9
add r15, r9
cmp r10, r9
mov r10, r8
jae 0x180026540
add rdx, rsi
jmp 0x18002666e
inc rbx
mov r8d, 1
mov r12, r15
mov r13, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x88]
mov r14, qword [rsp + 0x80]
nop dword [rax]
cmp rbx, 0x10
ja 0x18002673c
mov rax, r8
add rsi, rsi
lea rdx, [rsi + rsi*4]
mov rsi, rdx
and rsi, r14
lea rcx, [r8 + r8]
lea r8, [rcx + rcx*4]
mov rdi, r9
add rdi, r9
lea r9, [rdi + rdi*4]
mov ecx, r10d
shr rdx, cl
lea ecx, [rdx + 0x30]
mov byte [r12 + rbx], cl
inc rbx
mov r11, r9
sub r11, rsi
jbe 0x1800265b0
sub r13, qword [rsp]
imul r13, r8
lea rcx, [r8 + r13]
cmp r11, rbp
setae r11b
jb 0x1800266bf
sub r13, r8
mov r8, r13
sub r8, rsi
jbe 0x1800266bf
add dl, 0x2f
lea rdi, [rdi + rdi*4]
sub rdi, rbp
sub rdi, rsi
mov r14, rbp
sub r14, r13
nop
lea r10, [rsi + rbp]
cmp r10, r13
jb 0x180026642
lea r11, [r14 + rsi]
cmp r8, r11
jb 0x1800266bc
mov r15, rdi
sub r15, rbp
setae r11b
mov byte [r12 + rbx - 1], dl
cmp r10, r13
jae 0x1800266c2
dec dl
sub r8, rbp
mov rsi, r10
cmp rdi, rbp
mov rdi, r15
jae 0x180026630
jmp 0x1800266c2
add rdx, rsi
mov r11b, 1
mov r8, rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
sub rax, r8
jbe 0x180026694
test r11b, r11b
je 0x180026694
add r9, r8
sub r9, rcx
jb 0x180026713
cmp rax, r9
jae 0x180026713
cmp r8, 2
jb 0x180026713
add rdi, 0xfffffffffffffffc
cmp r8, rdi
ja 0x180026713
inc rbx
mov rax, qword [rsp + 0x18]
mov qword [rax], r13
mov qword [rax + 8], rbx
mov ecx, dword [rsp + 0x2c]
mov word [rax + 0x10], cx
jmp 0x180026728
mov r11b, 1
mov r10, rsi
mov rdx, rcx
sub rdx, r10
jbe 0x1800266dc
test r11b, r11b
je 0x1800266dc
add rbp, r10
sub rbp, rcx
jb 0x180026713
cmp rdx, rbp
jae 0x180026713
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r10
mov rcx, qword [rsp + 0x18]
ja 0x180026721
shl rax, 3
lea rax, [rax + rax*4]
sub r9, rax
cmp r10, r9
ja 0x180026721
mov qword [rcx], r12
mov qword [rcx + 8], rbx
mov eax, dword [rsp + 0x2c]
mov word [rcx + 0x10], ax
jmp 0x180026728
mov rax, qword [rsp + 0x18]
mov qword [rax], 0
jmp 0x180026728
mov qword [rcx], 0
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2