Function at 0x567950
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 8]
cmp rax, qword [rcx + 0x10]
jbe 0x567f32
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x28]
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x98]
cmp rax, rcx
jne 0x567ecc
mov rdx, qword [rsp + 0xc0]
lea rbx, [rdx + 7]
sar rbx, 0x3f
shr rbx, 0x3d
lea rbx, [rbx + rdx + 7]
sar rbx, 3
mov rsi, qword [rsp + 0xc8]
lea rdi, [rax + rsi + 2]
cmp rbx, rdi
jl 0x567e9e
mov rdi, qword [rsp + 0xb0]
lea r8, [rdi - 1]
cmp r8, rdi
jae 0x567f2b
mov r9, qword [rsp + 0xa8]
movzx edi, byte [rdi + r9 - 1]
cmp dil, 0xbc
jne 0x567e70
mov rdi, rbx
sub rbx, rax
lea r10, [rbx - 1]
test r10, r10
jl 0x567f24
mov r11, qword [rsp + 0xb8]
cmp r10, r11
ja 0x567f24
test r8, r8
jl 0x567f1d
cmp r10, r8
ja 0x567f1d
mov qword [rsp + 0x70], rdi
sub r8, r10
mov r12, r11
sub r11, r10
mov r13, r11
neg r11
sar r11, 0x3f
and r11, r10
add r11, r9
movzx r14d, byte [r9]
shl rdi, 3
sub rdi, rdx
lea rdx, [rdi - 8]
neg rdx
mov rcx, rdx
mov r15d, 0xffffffff
shl r15d, cl
cmp rcx, 0x20
sbb edx, edx
and r15d, edx
test r14b, r15b
jne 0x567e42
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x58], rdi
mov qword [rsp], r9
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], r12
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x18], rax
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r11
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r13
call fcn.00569760
mov rax, qword [rsp + 0x50]
test rax, rax
jbe 0x567f16
mov rdx, qword [rsp + 0xa8]
movzx ebx, byte [rdx]
mov rcx, qword [rsp + 0x58]
mov esi, 0xffffffff
shr sil, cl
cmp rcx, 8
sbb edi, edi
and esi, edi
and esi, ebx
mov byte [rdx], sil
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
jne 0x567d92
mov rcx, qword [rsp + 0x40]
add rcx, 2
mov rbx, qword [rsp + 0x70]
sub rbx, rcx
mov rcx, qword [rsp + 0x68]
jmp 0x567b5b
dec rbx
mov rcx, rsi
test rbx, rbx
jl 0x567b88
mov rsi, rcx
sub rcx, rbx
lea rdi, [rcx - 2]
cmp rdi, rax
jae 0x567f0f
movzx ecx, byte [rdx + rcx - 2]
test cl, cl
je 0x567b55
cmp cl, 1
jne 0x567d64
test rbx, rbx
jl 0x567d36
mov rcx, rax
sub rax, rbx
cmp rax, rcx
ja 0x567efa
mov qword [rsp + 0x70], rax
lea rax, [0x008614a0]
mov qword [rsp], rax
call fcn.0040c4b0
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x38]
mov qword [rsp + 0x10], 8
mov qword [rsp + 0x18], 8
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0x90]
mov qword [rsp + 8], rdx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0xd8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x70]
sub rax, rcx
mov rdx, rax
neg rax
sar rax, 0x3f
and rax, rcx
mov rbx, qword [rsp + 0xa8]
add rax, rbx
mov rbx, qword [rsp + 0xd0]
mov rsi, qword [rbx + 0x38]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x50]
sub rax, rcx
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rdx
mov rax, qword [rsp + 0xd8]
mov qword [rsp], rax
call rsi
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x30]
mov qword [rsp + 8], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x10], xmm0
mov rcx, qword [rsp + 0xd8]
mov qword [rsp], rcx
call rax
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
call fcn.00402450
lea rax, [rsp + 0x30]
cmp byte [rax], 0
je 0x567d08
xorps xmm0, xmm0
movups xmmword [rsp + 0xe0], xmm0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d8]
mov rcx, qword [0x00d674d0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d8]
mov rcx, qword [0x00d674d0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d0]
mov rcx, qword [0x00d674d8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rcx, qword [rsp + 0x68]
sub rcx, rbx
lea rsi, [rcx - 2]
test rsi, rsi
jl 0x567f08
mov rdi, qword [rsp + 0xb8]
cmp rsi, rdi
ja 0x567f08
xor r8d, r8d
jmp 0x567dc0
inc r8
cmp r8, rsi
jge 0x567dfd
movzx r9d, byte [rdx + r8]
test r9b, r9b
je 0x567dbd
mov rax, qword [0x00d674d8]
mov rcx, qword [0x00d674d0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
cmp rsi, rax
jae 0x567f01
movzx ecx, byte [rdx + rcx - 2]
cmp cl, 1
je 0x567b8e
mov rax, qword [0x00d674d8]
mov rcx, qword [0x00d674d0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d0]
mov rcx, qword [0x00d674d8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d0]
mov rcx, qword [0x00d674d8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d8]
mov rcx, qword [0x00d674d0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov rax, qword [0x00d674d0]
mov rcx, qword [0x00d674d8]
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rcx
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.0042ba70
ud2
call fcn.0042bba0
ud2
call fcn.0042bba0
ud2
call fcn.0042ba70
ud2
call fcn.004555f0
jmp fcn.00567950