Function at 0x140079920
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xbb8]
sub rsp, 0xcb8
mov rax, qword [0x140241cc0]
xor rax, rsp
mov qword [rbp + 0xba0], rax
mov ebx, dword [rbp + 0xc20]
mov r14, qword [rbp + 0xc08]
mov r12, qword [rbp + 0xc10]
mov r13, qword [rbp + 0xc00]
mov r15, qword [rbp + 0xc18]
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], r12
test ebx, ebx
je case.0x1400799b5.0
mov eax, dword [r15]
and eax, 7
cmp rax, 7
ja case.default.0x1400799b5
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x7a094]
add rax, rcx
jmp rax
xor edi, edi
lea eax, [rbx - 1]
movsxd r8, eax
mov edx, edi
test eax, eax
js 0x1400799f1
nop word [rax + rax]
mov rax, qword [r15 + r8*8]
shr rax, 2
or rax, rdx
mov rdx, qword [r15 + r8*8]
shl rdx, 0x3e
mov qword [rbp + r8*8 + 0x580], rax
sub r8, 1
jns 0x1400799d0
test ebx, ebx
je 0x140079a19
lea r8, [rbp + 0x580]
nop dword [rax]
mov rax, qword [r8]
inc rax
mov qword [r8], rax
cmp rax, 1
jae 0x140079a19
inc edi
add r8, 8
cmp edi, ebx
jb 0x140079a00
mov rax, qword [r13 + 8]
lea r8, [rbp + 0x580]
mov qword [rsp + 0x30], rax
mov r9d, ebx
mov dword [rsp + 0x28], ebx
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], r15
call fcn.140078090
mov al, 1
jmp 0x14007a06e
lea edx, [rbx - 1]
xor edi, edi
movsxd rsi, edx
mov r8d, edi
mov r9, rsi
test edx, edx
js 0x140079a81
nop dword [rax]
mov rax, qword [r15 + r9*8]
shr rax, 3
or rax, r8
mov r8, qword [r15 + r9*8]
shl r8, 0x3d
mov qword [rbp + r9*8 + 0x580], rax
sub r9, 1
jns 0x140079a60
mov r9, rdi
test ebx, ebx
je 0x140079ac0
lea rax, [rbp + 0x370]
mov r11, r12
sub r11, rax
lea r8, [rbp + 0x370]
mov r10, rbx
nop
mov rcx, qword [r11 + r8]
lea r8, [r8 + 8]
lea rax, [rcx + rcx]
or rax, r9
mov r9, rcx
shr r9, 0x3f
mov qword [r8 - 8], rax
sub r10, 1
jne 0x140079aa0
test edx, edx
js 0x140079ae6
lea r9, [rbp + 0x370]
sub r9, r15
lea rax, [r15 + rsi*8]
mov rcx, qword [r9 + rax]
cmp rcx, qword [rax]
ja 0x140079ae6
jb 0x140079b39
sub rax, 8
sub edx, 1
jns 0x140079ad2
mov rdx, rdi
test ebx, ebx
je 0x140079b39
lea rax, [rbp + 0x370]
mov r10, r15
sub r10, rax
lea rcx, [rbp + 0x370]
mov r9, rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rcx]
mov r8, qword [r10 + rcx]
sub rax, rdx
cmp rax, 0xffffffffffffffff
je 0x140079b29
cmp rax, r8
mov rdx, rdi
setb dl
sub rax, r8
mov qword [rcx], rax
add rcx, 8
sub r9, 1
jne 0x140079b10
mov rax, qword [r13 + 8]
lea r8, [rbp + 0x580]
mov qword [rsp + 0x30], rax
lea rdx, [rbp + 0x370]
mov dword [rsp + 0x28], ebx
lea rcx, [rbp + 0x160]
mov r9d, ebx
mov qword [rsp + 0x20], r15
call fcn.140078090
mov rcx, qword [r13]
test rcx, rcx
jne 0x140079bee
mov r14, qword [r13 + 8]
lea esi, [rbx + rbx]
lea eax, [rsi - 1]
mov r8d, ebx
lea ecx, [rsi - 2]
mov qword [rbp + rax*8 + 0x790], rdi
mov qword [rbp + rcx*8 + 0x790], rdi
lea rdx, [rbp + 0x160]
lea rcx, [rbp + 0x790]
call fcn.140077bd0
test r14, r14
je 0x140079bc8
mov r8d, ebx
lea rdx, [rbp + 0x790]
lea rcx, [rsp + 0x50]
mov rax, r14
call qword [case.0x1400cd6b1.0]
mov r14, qword [rsp + 0x40]
jmp 0x140079c06
mov dword [rsp + 0x28], ebx
lea r8, [rbp + 0x790]
mov r9d, esi
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x50]
xor ecx, ecx
call fcn.140077840
mov r14, qword [rsp + 0x40]
jmp 0x140079c06
mov r9, r15
mov dword [rsp + 0x20], ebx
lea r8, [rbp + 0x160]
lea rdx, [rsp + 0x50]
call fcn.140078ca0
mov rcx, qword [r13]
lea rdx, [rsp + 0x50]
test rcx, rcx
jne 0x140079c37
mov rax, qword [r13 + 8]
lea r8, [rbp + 0x370]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x50]
mov r9, r15
mov dword [rsp + 0x20], ebx
call fcn.140077f80
jmp 0x140079c51
mov dword [rsp + 0x28], ebx
lea r9, [rbp + 0x370]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x20], r15
call fcn.140078a70
mov r8d, edi
test ebx, ebx
je 0x140079ce8
lea rdx, [rsp + 0x50]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rdx]
lea rax, [rcx - 1]
mov qword [rdx], rax
cmp rcx, 1
jae 0x140079ce8
inc r8d
add rdx, 8
cmp r8d, ebx
jb 0x140079c70
lea rax, [rsp + 0x50]
mov r8, r15
sub r8, rax
lea rdx, [rsp + 0x50]
nop dword [rax]
mov rcx, qword [r8 + rdx]
lea rax, [rcx - 1]
mov qword [rdx], rax
cmp rcx, 1
jae 0x140079cbd
inc edi
add rdx, 8
cmp edi, ebx
jb 0x140079ca0
jmp 0x140079ce8
lea rax, [rsp + 0x50]
cmp rax, r15
je 0x140079ce8
mov eax, ebx
lea ecx, [rdi + 1]
sub eax, edi
lea rdx, [r15 + rcx*8]
lea r8d, [rax*8 - 8]
lea rax, [rsp + 0x50]
lea rcx, [rax + rcx*8]
call fcn.14019ace0
mov rcx, qword [r13]
test rcx, rcx
jne 0x140079d15
mov rax, qword [r13 + 8]
lea r8, [rbp + 0x160]
mov qword [rsp + 0x28], rax
mov r9, r15
mov rdx, r12
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.140077f80
jmp 0x140079d30
mov dword [rsp + 0x28], ebx
lea r9, [rbp + 0x160]
mov r8, r12
mov qword [rsp + 0x20], r15
mov rdx, r14
call fcn.140078a70
mov rcx, qword [r13]
mov rdx, r14
test rcx, rcx
jne 0x140079d60
mov rax, qword [r13 + 8]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov r9, r15
mov rcx, r14
mov dword [rsp + 0x20], ebx
call fcn.140077f80
mov al, 1
jmp 0x14007a06e
mov dword [rsp + 0x28], ebx
lea r9, [rsp + 0x50]
mov r8, r14
mov qword [rsp + 0x20], r15
call fcn.140078a70
mov al, 1
jmp 0x14007a06e
lea r8d, [rbx*8 - 8]
xor edx, edx
lea rcx, [rsp + 0x58]
call fcn.14019b380
xor edi, edi
mov qword [rsp + 0x50], 1
mov edx, edi
test ebx, ebx
je 0x140079e0b
lea rax, [rbp + 0x580]
mov r8, r15
sub r8, rax
lea rcx, [rbp + 0x580]
nop word [rax + rax]
mov rax, qword [rcx + r8]
inc rax
mov qword [rcx], rax
cmp rax, 1
jae 0x140079ddc
inc edx
add rcx, 8
cmp edx, ebx
jb 0x140079dc0
jmp 0x140079e0b
lea rax, [rbp + 0x580]
cmp rax, r15
je 0x140079e0b
lea ecx, [rdx + 1]
mov eax, ebx
sub eax, edx
lea rdx, [r15 + rcx*8]
lea r8d, [rax*8 - 8]
lea rax, [rbp + 0x580]
lea rcx, [rax + rcx*8]
call fcn.14019ace0
lea r12d, [rbx - 1]
mov rdx, rdi
movsxd r8, r12d
test r12d, r12d
js 0x140079e4a
nop word [rax + rax]
mov rcx, qword [rbp + r8*8 + 0x580]
mov rax, rcx
shr rax, 1
or rax, rdx
mov rdx, rcx
shl rdx, 0x3f
mov qword [rbp + r8*8 + 0x580], rax
sub r8, 1
jns 0x140079e20
lea r12d, [rbx - 1]
movsxd r14, ebx
lea esi, [rbx - 1]
mov ecx, edi
test esi, esi
je 0x140079e73
lea rax, [rsp + 0x58]
nop dword [rax + rax]
cmp qword [rax], rdi
jne case.0x1400799b5.0
inc ecx
add rax, 8
cmp ecx, esi
jb 0x140079e60
cmp qword [rsp + 0x50], 0x63
ja case.0x1400799b5.0
mov dword [rsp + 0x38], ebx
lea rax, [rbp + 0x580]
mov qword [rsp + 0x30], r15
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea r8, [rbp + 0x370]
mov rax, qword [rsp + 0x48]
lea rdx, [rbp + 0x160]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.140078fe0
test byte [rbp + 0x160], 1
je 0x140079f0e
mov r8, rdi
test ebx, ebx
je 0x140079f0e
lea rax, [rbp + 0x160]
mov r10, r15
sub r10, rax
lea rdx, [rbp + 0x160]
mov r9, rbx
mov rcx, qword [rdx]
mov rax, qword [rdx + r10]
add rcx, r8
cmp rcx, r8
jae 0x140079ef4
mov rcx, rax
jmp 0x140079f01
add rcx, rax
mov r8, rdi
cmp rcx, rax
setb r8b
mov qword [rdx], rcx
add rdx, 8
sub r9, 1
jne 0x140079ee0
lea rdx, [r14 - 1]
mov r9, rdi
test rdx, rdx
js 0x140079f51
mov rax, qword [rsp + 0x40]
lea r10, [rbp + 0x160]
sub r10, rax
lea r8, [rax + rdx*8]
nop dword [rax]
mov rax, qword [r10 + r8]
lea r8, [r8 - 8]
shr rax, 1
or rax, r9
mov r9, qword [r10 + r8 + 8]
shl r9, 0x3f
sub rdx, 1
mov qword [r8 + 8], rax
jns 0x140079f30
mov r8, qword [rsp + 0x40]
lea rdx, [rbp + 0x160]
mov r9, r15
mov dword [rsp + 0x20], ebx
mov rcx, r13
call fcn.140078ed0
mov ecx, r12d
test r12d, r12d
js 0x140079a40
mov r9, qword [rsp + 0x48]
lea rdx, [rbp + 0x160]
sub r9, rdx
lea rax, [rbp + r14*8 + 0x158]
nop
mov rdx, qword [rax]
cmp rdx, qword [r9 + rax]
ja 0x140079fab
jb 0x140079fab
sub rax, 8
sub ecx, 1
jns 0x140079f90
mov al, 1
jmp 0x14007a06e
mov ecx, edi
test esi, esi
je 0x140079fc7
lea rax, [rbp + 0x378]
cmp qword [rax], rdi
jne 0x140079fe2
inc ecx
add rax, 8
cmp ecx, esi
jb 0x140079fb8
cmp qword [rbp + 0x370], 1
je 0x14007a034
mov eax, 1
mov ecx, 0xffffffff
cmovb eax, ecx
test eax, eax
jle 0x14007a034
mov edx, edi
test ebx, ebx
je 0x14007a009
lea rcx, [rbp + 0x370]
nop
mov rax, qword [rcx]
inc rax
mov qword [rcx], rax
cmp rax, 1
jae 0x14007a009
inc edx
add rcx, 8
cmp edx, ebx
jb 0x140079ff0
lea rax, [r15 - 8]
mov ecx, r12d
lea r9, [rbp + 0x370]
lea rax, [rax + r14*8]
sub r9, r15
nop
mov rdx, qword [rax + r9]
cmp rdx, qword [rax]
ja 0x14007a034
jb case.0x1400799b5.0
sub rax, 8
sub ecx, 1
jns 0x14007a020
mov edx, edi
test ebx, ebx
je 0x140079e50
lea rcx, [rsp + 0x50]
mov rax, qword [rcx]
inc rax
mov qword [rcx], rax
cmp rax, 1
jae 0x140079e50
inc edx
add rcx, 8
cmp edx, ebx
jb 0x14007a043
jmp 0x140079e50
mov ecx, 0x25
int 0x29
xor al, al
mov rcx, qword [rbp + 0xba0]
xor rcx, rsp
call fcn.140144310
add rsp, 0xcb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret