Function at 0x558ce0
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5590e7
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x70], rcx
test rbx, rbx
jne 0x558d1b
mov rdx, rdi
xor ebx, ebx
xor esi, esi
xor r11d, r11d
xor r12d, r12d
jmp 0x558e6f
nop
nop dword [rax]
cmp rbx, 0x14
jae 0x5590d3
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x98], r10
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r8
mov rdx, qword [0x00bb0ee0]
movzx edx, byte [rdx + rbx]
cmp rdi, rdx
je 0x558db4
nop
lea rax, [0x00696f80]
nop
call fcn.0040c9c0
mov qword [rax + 8], 0x28
lea rcx, [0x006f3d9c]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x98]
lea rbx, [0x00765980]
xor edi, edi
xor esi, esi
xor r11d, r11d
mov r12, rax
mov rax, qword [rsp + 0x60]
jmp 0x558e6f
mov qword [rsp + 0x40], rdx
mov rdx, qword [0x00bc4a18]
lea rax, [0x0068dfe0]
mov rcx, rbx
mov rbx, rdx
call fcn.00410600
test bl, bl
je 0x558e13
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x98]
xor ebx, ebx
mov rdi, qword [rsp + 0x40]
mov r11, rdx
xor r12d, r12d
mov rdx, qword [rsp + 0x78]
jmp 0x558e6f
nop
lea rax, [0x00696f80]
nop dword [rax + rax]
call fcn.0040c9c0
mov qword [rax + 8], 0x25
lea rcx, [0x006f27b7]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0x98]
lea rbx, [0x00765980]
xor edi, edi
xor esi, esi
xor r11d, r11d
mov r12, rax
mov rax, qword [rsp + 0x60]
test rbx, rbx
jne 0x558ff1
mov r12, qword [rax]
mov r13, qword [r12 + 0x10]
lea r15, [r13 - 1]
lea rbx, [rdi + rsi]
nop
test r15, r15
jl 0x558ef1
mov r12, qword [r12 + 8]
mov r12, qword [r12 + r13*8 - 8]
mov r13, r12
shr r12, 1
or r12, r13
mov r13, r12
shr r12, 2
or r12, r13
mov r13, r12
shr r12, 4
or r12, r13
mov r13, r12
shr r12, 8
or r12, r13
mov r13, r12
shr r12, 0x10
or r12, r13
mov r13, r12
shr r12, 0x20
or r12, r13
shl r15, 6
bsr r12, r12
mov r13, 0xffffffffffffffff
cmove r12, r13
lea r12, [r12 + r15]
lea r12, [r12 + 1]
jmp 0x558ef4
xor r12d, r12d
lea r13, [rdi + rsi]
lea r13, [r13 + 0xb]
lea r15, [r12 + 7]
sar r15, 0x3f
shr r15, 0x3d
lea r12, [r15 + r12]
lea r12, [r12 + 7]
sar r12, 3
cmp r13, r12
jg 0x558fdd
nop
cmp r9, r12
jne 0x558fc9
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x28], rsi
mov rbx, r8
mov rcx, r9
mov rdi, r10
call fcn.00559da0
test rdi, rdi
jne 0x558fb5
movzx edx, byte [rax]
movzx esi, byte [rax + 1]
mov rdi, qword [rsp + 0x20]
mov r8, qword [rsp + 0x38]
mov r9, rdi
sub rdi, r8
mov r8, r9
sub r9, rdi
mov r10, rdi
sub rdi, rcx
sar rdi, 0x3f
and rdi, r10
dec edx
shr edx, 0x1f
xor esi, 1
movzx esi, sil
dec esi
shr esi, 0x1f
and rdx, rsi
lea rsi, [rdi + rax]
mov rdi, qword [rsp + 0x78]
nop dword [rax]
cmp rdi, r9
je 0x558fa9
xor esi, esi
jmp 0x55901f
mov rdi, qword [rsp + 0x70]
xor ebx, ebx
xor r11d, r11d
jmp 0x559010
mov rax, qword [0x00baf0a0]
mov rbx, qword [0x00baf0a8]
add rsp, 0x50
pop rbp
ret
mov rax, qword [0x00baf0a0]
mov rbx, qword [0x00baf0a8]
add rsp, 0x50
pop rbp
ret
mov rax, qword [0x00baf0a0]
mov rbx, qword [0x00baf0a8]
add rsp, 0x50
pop rbp
ret
mov rax, rbx
mov rbx, r12
add rsp, 0x50
pop rbp
ret
movzx r12d, byte [rbx + rsi]
movzx r13d, byte [rdi + rbx]
xor r13d, r12d
inc rbx
or r11d, r13d
cmp rbx, r9
jl 0x558ffd
movzx esi, r11b
dec esi
nop
shr esi, 0x1f
mov rdi, qword [rsp + 0x30]
sub r8, rdi
sub r10, r8
mov rdi, r8
sub r8, rcx
sar r8, 0x3f
and r8, rdi
and rsi, rdx
lea rcx, [r8 + rax]
mov rdx, qword [rsp + 0x28]
cmp rdx, r10
je 0x55904c
xor ecx, ecx
jmp 0x55907a
mov rdx, qword [rsp + 0x48]
xor ebx, ebx
xor r8d, r8d
jmp 0x55906b
movzx r9d, byte [rbx + rcx]
movzx r11d, byte [rdx + rbx]
xor r11d, r9d
inc rbx
or r8d, r11d
cmp rbx, r10
jl 0x559058
movzx ecx, r8b
dec ecx
nop
shr ecx, 0x1f
and rcx, rsi
movzx edx, byte [rdi + rax - 1]
dec edx
shr edx, 0x1f
and rcx, rdx
lea rdx, [rdi - 1]
mov ebx, 2
jmp 0x5590aa
movzx esi, byte [rbx + rax]
not esi
movzx esi, sil
dec esi
shr esi, 0x1f
inc rbx
and rcx, rsi
cmp rbx, rdx
jl 0x559095
cmp rcx, 1
je 0x5590c9
mov rax, qword [0x00baf0a0]
mov rbx, qword [0x00baf0a8]
add rsp, 0x50
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x50
pop rbp
ret
lea rax, [0x0067b560]
lea rbx, [0x00764ba0]
call fcn.00431120
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
call fcn.0045a0c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
nop dword [rax]
jmp fcn.00558ce0