Function at 0x579140
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x57971e
sub rsp, 0xb8
mov qword [rsp + 0xb0], rbp
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xc0], rax
test rbx, rbx
jne 0x57919d
mov rdx, rdi
xor esi, esi
xor ebx, ebx
xor r11d, r11d
xor r12d, r12d
jmp 0x579318
nop
nop
cmp rbx, 0x14
jae 0x57970a
mov rdx, qword [0x008ebee8]
mov rsi, qword [0x008ebee0]
nop dword [rax + rax]
cmp rbx, rdx
jae 0x5796ff
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], r9
mov qword [rsp + 0xf8], r10
movzx edx, byte [rbx + rsi]
cmp rdi, rdx
je 0x57924f
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x28
lea rcx, [0x0072798c]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
xor edi, edi
xor esi, esi
lea rbx, [0x0079f200]
mov r11, rax
xor r12d, r12d
mov rax, qword [rsp + 0xc0]
jmp 0x579318
mov qword [rsp + 0x58], rdx
mov rdx, qword [0x008f1b58]
lea rax, [0x006d0d00]
mov rcx, rbx
mov rbx, rdx
call fcn.00410160
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
test bl, bl
je 0x5792b7
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x58]
xor ebx, ebx
xor r11d, r11d
mov r12, rdx
mov rdx, qword [rsp + 0xd8]
jmp 0x579318
nop
lea rax, [0x006de8a0]
nop
call fcn.0040bf40
mov qword [rax + 8], 0x25
lea rcx, [0x00726eab]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0xf8]
xor edi, edi
xor esi, esi
lea rbx, [0x0079f200]
mov r11, rax
xor r12d, r12d
mov rax, qword [rsp + 0xc0]
nop dword [rax + rax]
test rbx, rbx
jne 0x579588
mov r11, qword [rax]
lea r13, [rdi + rsi]
mov qword [rsp + 0x48], r13
nop
mov r15, qword [r11 + 8]
mov r11, qword [r11 + 0x10]
mov rbx, r12
lea r12, [r11 - 1]
test r12, r12
jl 0x5793bc
mov r11, qword [r15 + r11*8 - 8]
nop
movabs r15, 0x100000000
cmp r11, r15
jb 0x57936b
shr r11, 0x20
mov r15d, 0x20
jmp 0x57936e
xor r15d, r15d
cmp r11, 0x10000
jb 0x579380
shr r11, 0x10
add r15, 0x10
nop
cmp r11, 0x100
jb 0x579391
shr r11, 8
add r15, 8
cmp r11, 0x100
jae 0x5796f2
shl r12, 6
lea r13, [0x0072c19b]
movzx r11d, byte [r13 + r11]
add r11, r15
add r11, r12
mov r13, qword [rsp + 0x48]
jmp 0x5793bf
xor r11d, r11d
lea r12, [rdi + rsi]
lea r12, [r12 + 0xb]
lea r15, [r11 + 7]
sar r15, 0x3f
shr r15, 0x3d
lea r11, [r15 + r11]
lea r11, [r11 + 7]
sar r11, 3
cmp r12, r11
jg 0x57956a
cmp r9, r11
jne 0x57954c
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
movups xmmword [rsp + 0xa0], xmm15
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r9
mov r8, r10
call fcn.004ee380
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
mov byte [rsp + 0x90], 0
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
movups xmmword [rsp + 0x80], xmm15
lea rax, [rsp + 0x70]
mov rbx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x90]
call fcn.0057b620
mov qword [rsp + 0x60], rax
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
lea rax, [0x006c14c0]
nop dword [rax]
call fcn.00443fe0
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov rdi, rcx
mov rax, qword [rsp + 0x60]
call fcn.004e4ec0
nop word [rax + rax]
test rbx, rbx
jbe 0x5796e8
movzx esi, byte [rax]
cmp rbx, 1
jbe 0x5796db
movzx edi, byte [rax + 1]
dec esi
shr esi, 0x1f
xor edi, 1
movzx edi, dil
dec edi
shr edi, 0x1f
and rsi, rdi
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9, rdi
sub rdi, r8
nop
cmp rcx, r9
jb 0x5796d0
cmp r9, rdi
jb 0x5796c5
mov rdx, r9
sub r9, rdi
mov r8, rdi
sub rdi, rcx
sar rdi, 0x3f
and rdi, r8
add rdi, rax
mov r10, qword [rsp + 0xd8]
cmp r10, r9
je 0x57953c
xor edi, edi
jmp 0x5795ce
mov r10, qword [rsp + 0xd0]
xor r11d, r11d
xor r12d, r12d
jmp 0x5795c0
mov rax, qword [0x008f3030]
mov rbx, qword [0x008f3038]
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rax, qword [0x008f3030]
mov rbx, qword [0x008f3038]
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rax, rbx
mov rbx, r11
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
lea r13, [r12 + 1]
mov qword [rsp + 0x40], r13
movzx r15d, byte [r12 + rdi]
movzx r13d, byte [r12 + r10]
xor r13d, r15d
or r11d, r13d
mov r13, qword [rsp + 0x40]
mov r12, r13
cmp r12, r9
jl 0x57959e
movzx edi, r11b
dec edi
shr edi, 0x1f
and rdi, rsi
mov rsi, qword [rsp + 0x48]
sub rdx, rsi
nop dword [rax]
cmp rdx, r8
ja 0x5796b7
sub r8, rdx
mov rsi, rdx
sub rdx, rcx
sar rdx, 0x3f
and rdx, rsi
add rdx, rax
mov r9, qword [rsp + 0x38]
cmp r9, r8
je 0x57960a
xor edx, edx
jmp 0x57963a
mov r9, qword [rsp + 0x68]
xor ecx, ecx
xor r10d, r10d
jmp 0x57962d
lea r11, [r10 + 1]
movzx r12d, byte [r10 + rdx]
movzx r13d, byte [r9 + r10]
xor r13d, r12d
or ecx, r13d
mov r10, r11
cmp r10, r8
jl 0x579616
movzx edx, cl
dec edx
shr edx, 0x1f
and rdx, rdi
lea rdi, [rsi - 1]
cmp rbx, rdi
jbe 0x5796ac
movzx ecx, byte [rsi + rax - 1]
dec ecx
shr ecx, 0x1f
and rdx, rcx
mov ecx, 2
jmp 0x57966f
movzx esi, byte [rcx + rax]
inc rcx
not esi
movzx esi, sil
dec esi
shr esi, 0x1f
and rdx, rsi
cmp rcx, rdi
jl 0x57965a
cmp rdx, 1
je 0x579698
mov rax, qword [0x008f3030]
mov rbx, qword [0x008f3038]
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb0]
add rsp, 0xb8
ret
mov rax, rdi
mov rcx, rbx
call fcn.0045a320
mov rax, rdx
mov rcx, r8
nop dword [rax]
call fcn.0045a3e0
mov rax, rdi
mov rcx, r9
call fcn.0045a3e0
mov rdx, rcx
mov rcx, r9
call fcn.0045a3a0
mov eax, 1
mov rcx, rax
call fcn.0045a320
xor eax, eax
mov rcx, rax
call fcn.0045a320
mov rax, r11
mov ecx, 0x100
call fcn.0045a340
mov rax, rbx
mov rcx, rdx
call fcn.0045a340
lea rax, [0x006c1340]
lea rbx, [0x0079ea20]
call fcn.004321c0
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.00457c40
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.00579140