Function at 0x1f5876120
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x1f58766f5
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdi
mov rdx, qword [r9]
nop dword [rax]
test rdx, rdx
je 0x1f58761a2
mov r8, qword [r9 + 8]
cmp r8, 2
jge 0x1f5876180
mov r8, qword [0x1f59a5920]
mov r10, qword [0x1f59a5928]
jmp 0x1f58761b0
cmp r8, 0x7fffffff
jle 0x1f5876199
mov r8, qword [0x1f59a5930]
mov r10, qword [0x1f59a5938]
jmp 0x1f58761b0
xor r8d, r8d
xor r10d, r10d
nop
jmp 0x1f58761b0
mov r8, qword [0x1f59a5910]
mov r10, qword [0x1f59a5918]
test r8, r8
jne 0x1f5876532
mov r8, qword [rdx + 0x10]
lea r10, [r8 - 1]
nop
test r10, r10
jl 0x1f5876228
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + r8*8 - 8]
mov r8, rdx
shr rdx, 1
or rdx, r8
mov r8, rdx
shr rdx, 2
or rdx, r8
mov r8, rdx
shr rdx, 4
or rdx, r8
mov r8, rdx
shr rdx, 8
or rdx, r8
mov r8, rdx
shr rdx, 0x10
or rdx, r8
mov r8, rdx
shr rdx, 0x20
or rdx, r8
shl r10, 6
bsr rdx, rdx
mov r8, 0xffffffffffffffff
cmove rdx, r8
lea rdx, [rdx + r10]
lea rdx, [rdx + 1]
jmp 0x1f587622a
xor edx, edx
lea r8, [rdx + 7]
sar r8, 0x3f
shr r8, 0x3d
lea rdx, [r8 + rdx]
lea rdx, [rdx + 7]
sar rdx, 3
mov r8, qword [rsp + 0xd8]
cmp r8, rdx
jg 0x1f5876297
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x100], rax
mov rcx, qword [rax + 0x28]
mov rax, rbx
call rcx
lea rcx, [rax + rax]
lea rcx, [rcx + 2]
mov rdx, qword [rsp + 0x50]
cmp rcx, rdx
jle 0x1f58762b5
mov rdi, qword [0x1f59a5950]
mov rsi, qword [0x1f59a5958]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xc0
pop rbp
ret
mov rax, qword [rsp + 0x130]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
xor esi, esi
call fcn.1f5875660
nop dword [rax]
test rdi, rdi
jne 0x1f5876522
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x38]
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
call rsi
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsp + 0x108]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
call rsi
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rbx
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x20]
mov rax, qword [rsp + 0x108]
call rsi
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jbe 0x1f58766ea
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x28]
mov rbx, qword [rsp + 0xb0]
movzx esi, byte [rbx]
mov dword [rsp + 0x44], esi
mov rax, qword [rsp + 0x108]
call rdx
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0x78]
cmp rdx, rcx
jb 0x1f58766e5
cmp rcx, 1
jb 0x1f58766d8
mov qword [rsp + 0x58], rax
lea rcx, [rdx - 1]
mov qword [rsp + 0x60], rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov qword [rsp + 0x98], rcx
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsi + 0x28]
mov rax, qword [rsp + 0x108]
call rdi
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x98]
add rbx, rdx
mov r9, qword [rsp + 0x70]
cmp r9, rcx
jb 0x1f58766cd
mov qword [rsp + 0xa0], rbx
sub r9, rax
mov qword [rsp + 0x98], r9
mov r10, qword [rsp + 0x78]
sub r10, rax
mov qword [rsp + 0x90], r10
lea r11, [r10 - 1]
mov qword [rsp + 0x88], r11
lea r12, [r9 - 1]
mov qword [rsp + 0x80], r12
mov r13, r11
neg r11
sar r11, 0x3f
and rcx, r11
lea r8, [rcx + rdx]
mov qword [rsp + 0xb8], r8
mov rax, rbx
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov r9, r12
mov r10, r13
call fcn.1f5874ac0
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov r8, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x60]
call fcn.1f5874ac0
mov rdx, qword [rsp + 0x100]
mov r11, qword [rdx + 0x28]
mov rax, qword [rsp + 0x108]
call r11
mov rdx, qword [rsp + 0x88]
cmp rax, rdx
ja 0x1f58766c5
mov rcx, qword [rsp + 0x68]
nop dword [rax + rax]
cmp rax, rcx
jne 0x1f587651e
mov rdx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xa8]
xor eax, eax
xor esi, esi
jmp 0x1f58766ac
xor eax, eax
jmp 0x1f5876548
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xc0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r10
add rsp, 0xc0
pop rbp
ret
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0x28]
mov rax, qword [rsp + 0x108]
call rcx
mov rcx, qword [rsp + 0x80]
cmp rax, rcx
ja 0x1f5876696
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rbx, qword [rsp + 0x98]
sub rbx, rax
lea rdx, [rcx - 1]
neg rdx
sar rdx, 0x3f
and rax, rdx
mov rdx, qword [rsp + 0xb8]
add rdx, rax
lea r8, [rbx - 1]
xor eax, eax
mov esi, 1
xor edi, edi
xor r9d, r9d
jmp 0x1f587660d
movzx r10d, byte [rax + rdx]
lea r11d, [r10 - 1]
shr r11d, 0x1f
not r11
xor r10d, 1
movzx r10d, r10b
dec r10d
shr r10d, 0x1f
mov r12, rsi
and r12, r10
mov r13, r12
neg r12
and r12, rax
dec r13
and r9, r13
dec r10
and rsi, r10
and r11, rsi
mov r10, r11
neg r11
and r11d, 1
dec r10
and rdi, r10
inc rax
nop
nop
or r9, r12
or rdi, r11
cmp rax, r8
jl 0x1f58765b5
not rdi
not rsi
mov r10d, dword [rsp + 0x44]
dec r10d
shr r10d, 0x1f
mov r11, qword [rsp + 0x48]
and r11, r10
and r11, rdi
and rsi, r11
cmp rsi, 1
jne 0x1f5876670
lea rax, [r9 + 1]
nop dword [rax]
cmp rax, r8
ja 0x1f587668e
sub rbx, r9
sub rcx, r9
add rcx, 0xfffffffffffffffe
add rbx, 0xfffffffffffffffe
mov r8, rcx
neg r8
sar r8, 0x3f
and rax, r8
add rax, rdx
xor edi, edi
xor esi, esi
add rsp, 0xc0
pop rbp
ret
mov rdi, qword [0x1f59a5950]
mov rsi, qword [0x1f59a5958]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xc0
pop rbp
ret
mov rcx, r8
call fcn.1f579ca00
call fcn.1f579ca00
movzx edi, byte [rax + rbx]
movzx r8d, byte [rax + rdx]
xor edi, r8d
inc rax
or esi, edi
cmp rcx, rax
jg 0x1f587669b
movzx eax, sil
dec eax
nop
shr eax, 0x1f
nop dword [rax + rax]
jmp 0x1f5876548
mov rcx, rax
call fcn.1f579c9c0
mov rax, rcx
mov rcx, r9
call fcn.1f579ca00
mov eax, 1
xor ecx, ecx
nop
call fcn.1f579ca00
call fcn.1f579c9c0
xor eax, eax
mov rcx, rax
call fcn.1f579c940
nop
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
call fcn.1f579a640
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
jmp fcn.1f5876120