Function at 0x519200
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x70]
cmp rax, qword [rcx + 0x10]
jbe 0x5198dd
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
nop
mov rax, qword [rsp + 0x100]
test rax, rax
jne 0x519761
mov rax, qword [rsp + 0x110]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor esi, esi
xor edi, edi
test rsi, rsi
jne 0x519741
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsi]
lea r8, [rax + rdx]
nop
nop
mov r9, qword [rdi + 0x10]
mov rdi, qword [rdi + 8]
nop
lea r10, [r9 - 1]
test r10, r10
jl 0x51973a
mov rdi, qword [rdi + r9*8 - 8]
bsr rdi, rdi
mov r9, 0xffffffffffffffff
cmove rdi, r9
shl r10, 6
lea rdi, [rdi + r10]
lea rdi, [rdi + 1]
lea r9, [rax + rdx]
lea r9, [r9 + 0xb]
lea r10, [rdi + 7]
sar r10, 0x3f
shr r10, 0x3d
lea rdi, [r10 + rdi]
lea rdi, [rdi + 7]
sar rdi, 3
cmp rdi, r9
jl 0x51970c
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], rbx
mov byte [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], xmm0
nop
mov qword [rsp], 0
movups xmmword [rsp + 8], xmm0
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x28], rax
call fcn.004ed620
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0xc8], 0
mov byte [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
lea rax, [rsp + 0xa8]
mov qword [rsp], rax
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 8], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x10], rax
call fcn.0051ba50
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0x90], rax
nop
mov rcx, qword [rax + 0x10]
lea rdx, [0x00633fa0]
mov qword [rsp], rdx
shl rcx, 3
mov qword [rsp + 0x88], rcx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rcx
call fcn.00440560
mov rax, qword [rsp + 0x18]
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rcx
call fcn.004ed590
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
ja 0x5198b1
mov qword [rsp + 0x80], rax
nop
lea rax, [0x00633fa0]
mov qword [rsp], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rax
call fcn.00440560
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
mov rdx, qword [rsp + 0x78]
cmp rax, rdx
mov rbx, rax
cmovg rax, rdx
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rcx, rbx
mov rbx, qword [rsp + 0xa0]
add rcx, rbx
mov rbx, qword [rsp + 0x18]
mov rdi, rdx
sub rdx, rax
cmp rdx, rdi
ja 0x5198aa
mov qword [rsp + 0xa0], rbx
mov rax, rdi
sub rdi, rdx
cmp rdi, rsi
mov r8, rdi
cmovg rdi, rsi
neg r8
sar r8, 0x3f
and rdx, r8
add rdx, rbx
cmp rdx, rcx
jne 0x5196e7
test rax, rax
jbe 0x5198a3
nop
movzx ecx, byte [rbx]
cmp rax, 1
jbe 0x51989c
movzx edx, byte [rbx + 1]
dec ecx
shr ecx, 0x1f
xor edx, 1
movzx edx, dl
dec edx
shr edx, 0x1f
and rcx, rdx
nop
mov rdx, qword [rsp + 0x70]
mov rsi, rax
sub rax, rdx
test rsi, rsi
jl 0x519895
cmp rax, rsi
ja 0x519895
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x88], rax
sub rsi, rax
mov rdx, rsi
neg rsi
sar rsi, 0x3f
and rsi, rax
add rsi, rbx
mov qword [rsp], rsi
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rdx
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x110]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x28], rdx
call fcn.0046b8b0
mov rax, qword [rsp + 0x68]
and rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov rbx, rcx
sub rcx, rdx
mov rdx, qword [rsp + 0x88]
test rdx, rdx
jl 0x51988e
cmp rcx, rdx
ja 0x51988e
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], rcx
sub rbx, rcx
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, rcx
mov rdi, qword [rsp + 0xa0]
add rbx, rdi
mov qword [rsp], rbx
sub rdx, rcx
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], rsi
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x20], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x28], rdx
call fcn.0046b8b0
mov rax, qword [rsp + 0x68]
and rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x88]
lea rdx, [rcx - 1]
mov rbx, qword [rsp + 0x78]
cmp rdx, rbx
jae 0x519887
mov rbx, qword [rsp + 0xa0]
movzx ecx, byte [rcx + rbx - 1]
dec ecx
shr ecx, 0x1f
and rcx, rax
nop
mov eax, 2
jmp 0x519693
lea rsi, [rax + 1]
movzx edi, byte [rax + rbx]
xor edi, 0xffffffff
movzx edi, dil
dec edi
shr edi, 0x1f
and rcx, rdi
nop
mov rax, rsi
cmp rax, rdx
jl 0x519678
cmp rcx, 1
je 0x5196cc
mov rax, qword [0x0086bde8]
mov rcx, qword [0x0086bde0]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xorps xmm0, xmm0
movups xmmword [rsp + 0x138], xmm0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdi
call fcn.00458580
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xa0]
jmp 0x5194fe
mov rax, qword [0x0086bde8]
mov rcx, qword [0x0086bde0]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xor edi, edi
jmp 0x5192aa
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rdi
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
nop
cmp rax, 0x14
jae 0x5198bf
mov rcx, qword [0x008636d0]
cmp qword [0x008636d8], rax
jbe 0x5198b8
movzx ecx, byte [rcx + rax]
mov rdx, qword [rsp + 0x110]
cmp rcx, rdx
je 0x5197e4
nop
lea rax, [0x0064d5c0]
mov qword [rsp], rax
call fcn.0040c140
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x28
cmp dword [0x00887210], 0
jne 0x5197d6
lea rax, [0x0069171f]
mov qword [rdi], rax
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea rsi, [0x006d3680]
jmp 0x51925a
lea rax, [0x0069171f]
call fcn.00457460
jmp 0x5197c2
mov byte [rsp + 0x4f], cl
lea rcx, [0x00640be0]
mov qword [rsp], rcx
mov rcx, qword [0x0086b2a0]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.00410a60
mov rax, qword [rsp + 0x18]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 8]
mov rax, qword [rax]
cmp byte [rsp + 0x20], 0
je 0x519834
mov rbx, rcx
xor esi, esi
xor edi, edi
mov rcx, rax
movzx eax, byte [rsp + 0x4f]
jmp 0x51925a
nop
lea rax, [0x0064d5c0]
mov qword [rsp], rax
call fcn.0040c140
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x25
cmp dword [0x00887210], 0
jne 0x519879
lea rax, [0x0069097f]
mov qword [rdi], rax
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
lea rsi, [0x006d3680]
jmp 0x51925a
lea rax, [0x0069097f]
call fcn.00457460
jmp 0x519865
call fcn.0042cc40
ud2
call fcn.0042cd80
ud2
call fcn.0042cd80
ud2
call fcn.0042cc40
ud2
call fcn.0042cc40
ud2
call fcn.0042cd80
ud2
call fcn.0042cd80
ud2
call fcn.0042cc40
ud2
lea rax, [0x00633e20]
mov qword [rsp], rax
lea rax, [0x006ce8c0]
mov qword [rsp + 8], rax
call fcn.0042dc60
ud2
call fcn.004555d0
jmp fcn.00519200