Function at 0x576b00
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 0x577386
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
lea rax, [0x006148c0]
mov qword [rsp], rax
call fcn.0040cb40
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, [0x005e7c40]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.0053ecc0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
test rax, rax
jne 0x577115
mov rax, qword [rsp + 0xb8]
cmp qword [rax], 1
jne 0x577074
mov rcx, qword [rsp + 0xe0]
test rcx, rcx
je 0x577044
mov rax, qword [rcx]
mov rdx, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rcx
call fcn.0057cce0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
je 0x576fea
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x78], rax
lea rax, [0x00607880]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rcx + 8]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov rdi, qword [rax + 8]
mov r8, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov qword [rsp], rdi
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], r9
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rsi
call fcn.00521000
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x80]
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], rdx
cmp dword [0x007c0da0], 0
jne 0x576fd7
mov qword [rbx + 8], rax
mov byte [rbx], 0
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.00512fc0
cmp qword [rsp + 0x10], 0
jge 0x576f7d
lea rax, [0x0061a160]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
cmp dword [0x007c0da0], 0
jne 0x576f56
mov rdx, qword [rsp + 0xa0]
mov qword [rax + 8], rdx
mov rbx, qword [rsp + 0x80]
mov qword [rax + 0x20], rbx
mov qword [rsp + 0x98], rax
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rbx + 0x10]
mov rbx, qword [rbx + 8]
lea rdi, [rsi - 1]
test rdi, rdi
jl 0x576f4f
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, [0x005efe20]
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.00444f80
mov rax, qword [rsp + 0xb8]
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x18]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 8]
mov r8, qword [rax + 0x18]
cmp rdx, rbx
jge 0x576e63
cmp byte [rsi], 0
jne 0x576e09
dec rbx
mov qword [rax + 0x10], rbx
lea rbx, [r8 - 1]
mov qword [rax + 0x18], rbx
neg rbx
sar rbx, 0x3f
and rbx, 1
add rbx, rsi
cmp dword [0x007c0da0], 0
jne 0x576e02
mov qword [rax + 8], rbx
nop
jmp 0x576dbb
call fcn.0045ec60
jmp 0x576dbb
lea rax, [0x00600fc0]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x20
lea rcx, [0x006332f5]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x0066f020]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, rdx
sub rax, rbx
cmp rdx, rax
jb 0x57737d
mov rdi, rdx
sub rdx, rax
cmp rbx, rdx
cmovl rdx, rbx
mov rbx, rax
sub rax, rdi
sar rax, 0x3f
and rax, rbx
add rax, rcx
cmp rsi, rax
jne 0x576f22
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x38]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rdi
call rax
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
cmp dword [0x007c0da0], 0
jne 0x576f04
mov rdx, qword [rsp + 0x98]
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 + 0x98]
lea rdi, [rdx + 0x10]
call fcn.0045eb20
lea rdi, [rdx + 0x18]
call fcn.0045ec20
nop
jmp 0x576ee1
mov qword [rsp + 0xb0], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdx
call fcn.0045f8c0
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
jmp 0x576e98
xor ebx, ebx
jmp 0x576d6e
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0xa0]
call fcn.0045ec40
lea rdi, [rax + 0x20]
mov rbx, qword [rsp + 0x80]
call fcn.0045ec60
jmp 0x576d29
lea rax, [0x00600fc0]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x2e
lea rcx, [0x00636d22]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x0066f020]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rdi, [rbx + 8]
nop dword [rax + rax]
call fcn.0045eb20
jmp 0x576c9a
lea rax, [0x00600fc0]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x1c
lea rcx, [0x00631f16]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x0066f020]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, qword [rax + 0x20]
mov rdx, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rbx
nop
call fcn.0057cce0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
jmp 0x576bf5
xorps xmm0, xmm0
movups xmmword [rsp + 0xc0], xmm0
mov rax, qword [rax]
mov qword [rsp], rax
call fcn.00409f60
mov rax, qword [rsp + 8]
lea rcx, [0x005ef560]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x0063534e]
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.004bd280
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x70], rax
lea rax, [0x0060dc00]
mov qword [rsp], rax
call fcn.0040cb40
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, [0x005e7d80]
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
call fcn.0053ecc0
cmp qword [rsp + 0x50], 0
je 0x577323
lea rax, [0x0061f900]
mov qword [rsp], rax
call fcn.0040cb40
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, [0x005e7d00]
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
nop dword [rax + rax]
call fcn.0053ecc0
cmp qword [rsp + 0x50], 0
je 0x5772c9
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp], rcx
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x00634f82]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x26
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
call fcn.00448220
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x60], rcx
lea rdx, [0x00600fc0]
mov qword [rsp], rdx
call fcn.0040cb40
mov rdi, qword [rsp + 8]
mov rax, qword [rsp + 0x60]
mov qword [rdi + 8], rax
cmp dword [0x007c0da0], 0
jne 0x5772ba
mov rax, qword [rsp + 0x90]
mov qword [rdi], rax
mov qword [rsp + 0x100], 0
lea rax, [0x0066f020]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0x90]
call fcn.0045eb20
jmp 0x577287
lea rax, [0x00600fc0]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x00639c5a]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x0066f020]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
lea rax, [0x00600fc0]
mov qword [rsp], rax
call fcn.0040cb40
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x58
lea rcx, [0x00639cb2]
mov qword [rax], rcx
mov qword [rsp + 0x100], 0
lea rcx, [0x0066f020]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rcx, rdx
call fcn.0045f080
nop
call fcn.0045cde0
jmp fcn.00576b00