Function at 0x517120
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x448]
cmp r12, qword [r14 + 0x10]
jbe 0x5177ae
push rbp
mov rbp, rsp
sub rsp, 0x4c0
mov qword [rsp + 0x4e8], rdi
mov qword [rsp + 0x4f0], rsi
mov qword [rsp + 0x4d0], rax
mov qword [rsp + 0x4d8], rbx
mov qword [rsp + 0x4e0], rcx
mov qword [rsp + 0x4f8], r8
mov qword [rsp + 0x500], r9
mov qword [rsp + 0x508], r10
mov rdx, qword [rax + 8]
mov rax, rdx
mov rcx, rdi
mov rdi, rsi
call fcn.00517820
test rcx, rcx
jne 0x51730d
mov qword [rsp + 0x450], rbx
nop
lea rdi, [rsp + 0x340]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00469314
mov rbp, qword [rbp]
mov qword [rsp + 0x4a8], 0
movups xmmword [rsp + 0x4b0], xmm15
mov qword [rsp + 0x4b0], 0
mov qword [rsp + 0x4b8], 0x20
lea rdx, [rsp + 0x340]
mov qword [rsp + 0x4a8], rdx
mov rdx, qword [rsp + 0x4d0]
mov rsi, qword [rdx + 0x10]
mov rbx, qword [rsp + 0x4d8]
lea rcx, [rsp + 0x4a8]
mov rdi, rax
mov rax, rsi
nop dword [rax + rax]
call fcn.00516d40
mov rdx, qword [rsp + 0x4d0]
mov rsi, qword [rdx]
mov rax, qword [rsp + 0x450]
call rsi
nop word [rax + rax]
test rdi, rdi
jne 0x5172fd
lea rdi, [rsp + 0x240]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00469314
mov rbp, qword [rbp]
mov qword [rsp + 0x490], 0
movups xmmword [rsp + 0x498], xmm15
mov qword [rsp + 0x498], 0
mov qword [rsp + 0x4a0], 0x20
lea rdx, [rsp + 0x240]
mov qword [rsp + 0x490], rdx
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x490]
call fcn.004c8e20
test rbx, rbx
jne 0x5172e7
mov rdx, qword [rax]
mov r9, qword [rax + 8]
xor ecx, ecx
mov ebx, 1
jmp 0x51734d
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
mov r10, qword [rdx + rcx*8]
inc rcx
mov r11, r10
sub r10, 0
sbb r10, r10
neg r10
xor r12d, r12d
sub r12, r11
sbb r11, r11
neg r11
or r11, r10
xor r11, 1
and rbx, r11
cmp rcx, r9
jl 0x517323
cmp rbx, 1
je 0x51753b
mov qword [rsp + 0x448], rax
nop
lea rdi, [rsp + 0x140]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00469314
mov rbp, qword [rbp]
mov qword [rsp + 0x478], 0
movups xmmword [rsp + 0x480], xmm15
mov qword [rsp + 0x480], 0
mov qword [rsp + 0x488], 0x20
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x478], rdx
mov rdx, qword [rsp + 0x4d0]
mov rax, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x4d8]
lea rcx, [rsp + 0x478]
mov rdi, qword [rsp + 0x4f8]
mov rsi, qword [rsp + 0x500]
mov r8, qword [rsp + 0x508]
call fcn.00516f00
lea rdi, [rsp + 0x40]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00469314
mov rbp, qword [rbp]
mov qword [rsp + 0x460], 0
movups xmmword [rsp + 0x468], xmm15
mov qword [rsp + 0x468], 0
mov qword [rsp + 0x470], 0x20
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x460], rdx
mov rdx, qword [rsp + 0x4e0]
mov rax, qword [rdx + 0x20]
call fcn.004b8f40
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
lea rax, [rsp + 0x460]
nop dword [rax + rax]
call fcn.004c8d00
test rbx, rbx
jne 0x517525
mov qword [rsp + 0x440], rax
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x448]
call fcn.004caf60
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x478]
call fcn.004ca140
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x4a8]
call fcn.004caf60
mov rdx, qword [rsp + 0x440]
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
xor eax, eax
mov ecx, 1
jmp 0x5175a0
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
lea rax, [0x0055ba00]
call fcn.0040e820
mov qword [rax + 8], 0x20
lea rcx, [0x00582aaf]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x005cbca0]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
mov r8, qword [rsi + rax*8]
inc rax
mov r9, r8
sub r8, 0
sbb r8, r8
neg r8
xor r10d, r10d
sub r10, r9
sbb r9, r9
neg r9
or r9, r8
xor r9, 1
and rcx, r9
nop dword [rax]
cmp rax, rdi
jl 0x517573
cmp rcx, 1
je 0x51760e
mov rdx, qword [rsp + 0x4d8]
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsi]
mov rdi, qword [rdi + 8]
shl rdi, 6
sub rdi, qword [rsi + 8]
lea rsi, [rdi + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rdi + rsi]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x38], rcx
nop
lea rax, [0x0054fba0]
mov rbx, rcx
call fcn.0044db20
mov rdx, qword [rsp + 0x448]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
xor ebx, ebx
jmp 0x51764c
lea rax, [0x0055ba00]
call fcn.0040e820
mov qword [rax + 8], 0x20
lea rcx, [0x00582acf]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x005cbca0]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x51766f
mov r8, qword [rsi + rbx*8]
xor r9d, r9d
jmp 0x517774
test r8, r8
je 0x517646
jmp 0x517792
mov r10, rdi
jmp 0x517646
mov qword [rsp + 0x458], rax
mov rdx, qword [rsp + 0x4d8]
mov rdx, qword [rdx + 0x18]
mov rsi, qword [rdx]
mov rsi, qword [rsi + 8]
shl rsi, 6
sub rsi, qword [rdx + 8]
lea rdx, [rsi + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rsi + rdx]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x30], rcx
nop
lea rax, [0x0054fba0]
mov rbx, rcx
call fcn.0044db20
mov rdx, qword [rsp + 0x440]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
xor ebx, ebx
jmp 0x5176e0
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x5176fa
mov r9, qword [rsi + rbx*8]
xor r8d, r8d
jmp 0x517730
test r9, r9
je 0x5176da
jmp 0x517747
mov r10, rdi
jmp 0x5176da
mov rbx, qword [rsp + 0x38]
mov rdi, rax
mov rsi, rcx
mov r8, rsi
mov rax, qword [rsp + 0x458]
mov rcx, rbx
call fcn.00513ba0
add rsp, 0x4c0
pop rbp
ret
mov byte [rdi + rax - 1], r9b
inc r8
shr r9, 8
mov rdi, r10
cmp r8, 8
jge 0x5176f5
lea r10, [rdi - 1]
test r10, r10
jl 0x5176ee
nop
cmp rcx, r10
ja 0x517721
jmp 0x51775a
lea rax, [0x0054fb20]
lea rbx, [0x005cafd0]
call fcn.00436e60
mov rax, r10
nop dword [rax]
call fcn.00469060
mov byte [rdi + rax - 1], r8b
inc r9
shr r8, 8
mov rdi, r10
cmp r9, 8
jge 0x51766a
lea r10, [rdi - 1]
test r10, r10
jl 0x517660
cmp rcx, r10
ja 0x517765
jmp 0x5177a5
lea rax, [0x0054fb20]
lea rbx, [0x005cafd0]
call fcn.00436e60
mov rax, r10
call fcn.00469060
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.00466d80
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]
jmp fcn.00517120