Function at 0x566570
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x58]
cmp rax, qword [rcx + 0x10]
jbe 0x566e02
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
lea rax, [0x00642360]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rbx
lea rsi, [0x0060b1c0]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.00510c80
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x566b96
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax]
cmp rcx, 1
jne 0x566af8
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x566aca
mov rax, qword [rcx + 8]
mov rdx, qword [rcx]
mov rcx, qword [rcx + 0x10]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
call fcn.0056c7e0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
je 0x566a70
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xa8], rcx
lea rax, [0x00634560]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 8]
mov rdi, qword [rax + 0x18]
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 8]
mov qword [rsp], r9
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rdx
call fcn.004f29f0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x98]
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], rax
cmp dword [0x00842670], 0
jne 0x566a5f
mov qword [rbx + 8], rdx
mov byte [rbx], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x98]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.004e4f10
cmp qword [rsp + 0x10], 0
jge 0x566a05
lea rax, [0x00648e80]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
cmp dword [0x00842670], 0
jne 0x5669d2
mov rdx, qword [rsp + 0xa8]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x98]
mov qword [rax + 0x20], rbx
mov qword [rsp + 0x90], rax
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
lea rdi, [rsi - 1]
test rdi, rdi
jl 0x5669cb
mov rbx, qword [rbx + rsi*8 - 8]
bsr rbx, rbx
mov rsi, 0xffffffffffffffff
cmove rbx, rsi
shl rdi, 6
lea rbx, [rbx + rdi]
lea rbx, [rbx + 1]
lea rax, [0x00615360]
mov qword [rsp], rax
lea rax, [rbx + 7]
sar rax, 0x3f
shr rax, 0x3d
lea rax, [rax + rbx]
lea rax, [rax + 7]
sar rax, 3
mov qword [rsp + 0x68], rax
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call fcn.00448c20
mov rax, qword [rsp + 0xb8]
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
mov r8, qword [rax + 8]
cmp rsi, rdx
jle 0x5668de
cmp byte [r8], 0
jne 0x566884
dec rsi
mov qword [rax + 0x10], rsi
dec rbx
mov qword [rax + 0x18], rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
add rbx, r8
cmp dword [0x00842670], 0
jne 0x566874
mov qword [rax + 8], rbx
jmp 0x56682e
mov rsi, rax
mov rax, rbx
call fcn.00461b30
mov rax, rsi
jmp 0x56682e
lea rax, [0x0062bda0]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x20
lea rcx, [0x00667c09]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006ad800]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, rdx
sub rax, rsi
cmp rax, rdx
ja 0x566df9
mov rbx, rdx
sub rdx, rax
cmp rdx, rsi
cmovg rdx, rsi
mov rsi, rax
sub rax, rbx
sar rax, 0x3f
and rax, rsi
add rax, rcx
cmp rax, r8
jne 0x56699e
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa8]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbx
call rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp dword [0x00842670], 0
jne 0x56697f
mov rdx, qword [rsp + 0x90]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov qword [rsp + 0x100], rdx
xorps xmm0, xmm0
movups xmmword [rsp + 0x108], xmm0
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rdx, qword [rsp + 0x90]
lea rdi, [rdx + 0x10]
call fcn.00461b30
lea rdi, [rdx + 0x18]
mov rax, rcx
call fcn.00461b30
jmp 0x56695c
mov qword [rsp + 0xb0], rcx
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rdx
call fcn.00462d10
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x68]
jmp 0x566913
xor ebx, ebx
jmp 0x5667e1
lea rdi, [rax + 8]
mov rdx, rax
mov rax, qword [rsp + 0xa8]
call fcn.00461b30
lea rdi, [rdx + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.00461b30
mov rax, rdx
mov rdx, rbx
jmp 0x56679c
lea rax, [0x0062bda0]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x2e
lea rcx, [0x0066bd65]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006ad800]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rdi, [rbx + 8]
mov rax, rdx
call fcn.00461b30
jmp 0x56670d
lea rax, [0x0062bda0]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1c
lea rcx, [0x006661f9]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006ad800]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, qword [rax + 0x30]
mov rdx, qword [rax + 0x28]
mov rbx, qword [rax + 0x20]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.0056c7e0
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x18]
jmp 0x566668
mov qword [rsp], rcx
call fcn.0040a0c0
mov rax, qword [rsp + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
lea rcx, [0x006149e0]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x0066a1ba]
mov qword [rsp], rax
mov qword [rsp + 8], 0x27
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov qword [rsp + 0x20], 1
call fcn.004ce270
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x70], rcx
lea rax, [0x0063b760]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 8], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rbx
lea rsi, [0x0060b300]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.00510c80
cmp qword [rsp + 0x50], 0
je 0x566d9f
lea rax, [0x0064fd00]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xe8]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rsp + 8], rcx
mov rcx, qword [rsp + 0xf8]
mov qword [rsp + 0x10], rcx
lea rcx, [0x0060b280]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.00510c80
cmp qword [rsp + 0x50], 0
je 0x566d45
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa0]
mov qword [rsp], rcx
call rax
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x00669d51]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x26
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.0044cbb0
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x88], rcx
lea rdx, [0x0062bda0]
mov qword [rsp], rdx
call fcn.0040cf00
mov rdi, qword [rsp + 8]
mov rax, qword [rsp + 0x60]
mov qword [rdi + 8], rax
cmp dword [0x00842670], 0
jne 0x566d36
mov rax, qword [rsp + 0x88]
mov qword [rdi], rax
mov qword [rsp + 0x100], 0
lea rax, [0x006ad800]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0x88]
call fcn.00461b30
jmp 0x566d03
lea rax, [0x0062bda0]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x0066f3e7]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006ad800]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rax, [0x0062bda0]
mov qword [rsp], rax
call fcn.0040cf00
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x0066f43f]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x006ad800]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, rdx
call fcn.00462550
nop
call fcn.0045fb00
jmp fcn.00566570