Function at 0x527500
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x448]
cmp r12, qword [r14 + 0x10]
jbe 0x527b8e
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.00527c00
test rcx, rcx
jne 0x5276ed
mov qword [rsp + 0x450], rbx
nop
lea rdi, [rsp + 0x340]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045f994
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.00527120
mov rdx, qword [rsp + 0x4d0]
mov rsi, qword [rdx]
mov rax, qword [rsp + 0x450]
call rsi
nop word [rax + rax]
test rdi, rdi
jne 0x5276dd
lea rdi, [rsp + 0x240]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045f994
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.0050bb40
test rbx, rbx
jne 0x5276c7
mov rdx, qword [rax]
mov r9, qword [rax + 8]
xor ecx, ecx
mov ebx, 1
jmp 0x52772e
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
nop
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 0x527703
cmp rbx, 1
je 0x52791b
mov qword [rsp + 0x448], rax
nop
lea rdi, [rsp + 0x140]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045f994
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.005272e0
lea rdi, [rsp + 0x40]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0045f994
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.004f6680
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.0050ba20
test rbx, rbx
jne 0x527905
mov qword [rsp + 0x440], rax
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rbx, qword [rsp + 0x448]
call fcn.0050dc80
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x478]
call fcn.0050ce60
mov rdx, qword [rsp + 0x4d8]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x440]
lea rbx, [rsp + 0x4a8]
call fcn.0050dc80
mov rdx, qword [rsp + 0x440]
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
xor eax, eax
mov ecx, 1
jmp 0x527980
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x4c0
pop rbp
ret
nop
lea rax, [0x0061fdc0]
call fcn.0040d520
mov qword [rax + 8], 0x20
lea rcx, [0x00659bc6]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x006bca20]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
mov r8, qword [rsi + rax*8]
inc rax
nop
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
cmp rax, rdi
jl 0x527954
cmp rcx, 1
je 0x5279ee
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, [0x0060be60]
mov rbx, rcx
call fcn.00447780
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 0x527a2d
nop
lea rax, [0x0061fdc0]
call fcn.0040d520
mov qword [rax + 8], 0x20
lea rcx, [0x00659be6]
mov qword [rax], rcx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x006bca20]
mov rsi, rax
xor eax, eax
add rsp, 0x4c0
pop rbp
ret
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x527a4f
mov r8, qword [rsi + rbx*8]
xor r9d, r9d
jmp 0x527b54
test r8, r8
je 0x527a27
jmp 0x527b72
mov r10, rdi
jmp 0x527a27
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, [0x0060be60]
mov rbx, rcx
call fcn.00447780
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 0x527ac0
inc rbx
mov rdi, r10
cmp rbx, rdx
jge 0x527ada
mov r9, qword [rsi + rbx*8]
xor r8d, r8d
jmp 0x527b10
test r9, r9
je 0x527aba
jmp 0x527b27
mov r10, rdi
jmp 0x527aba
mov rbx, qword [rsp + 0x38]
mov rdi, rax
mov rsi, rcx
mov r8, rsi
mov rax, qword [rsp + 0x458]
mov rcx, rbx
call fcn.005242a0
add rsp, 0x4c0
pop rbp
ret
mov byte [rdi + rax - 1], r9b
inc r8
shr r9, 8
mov rdi, r10
cmp r8, 8
jge 0x527ad5
lea r10, [rdi - 1]
test r10, r10
jl 0x527ace
nop
cmp rcx, r10
ja 0x527b01
jmp 0x527b3a
lea rax, [0x0060bde0]
lea rbx, [0x006bbbf0]
call fcn.00433580
mov rax, r10
nop dword [rax]
call fcn.0045f6c0
mov byte [rdi + rax - 1], r8b
inc r9
shr r8, 8
mov rdi, r10
cmp r9, 8
jge 0x527a4a
lea r10, [rdi - 1]
test r10, r10
jl 0x527a40
cmp rcx, r10
ja 0x527b45
jmp 0x527b85
lea rax, [0x0060bde0]
lea rbx, [0x006bbbf0]
call fcn.00433580
mov rax, r10
call fcn.0045f6c0
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.0045d3e0
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.00527500