Function at 0x4f7b60
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x4f8446
push rbp
mov rbp, rsp
sub rsp, 0xa0
mov qword [rsp + 0xc0], rax
lea rdx, [rdi + 2]
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
cmp rbx, rdx
jge 0x4f7bc0
mov rsi, rbx
lea rbx, [0x005aad20]
mov rdx, rsi
xor edi, edi
jmp 0x4f7bf5
cmp rbx, rdi
jb 0x4f8435
mov rsi, rbx
sub rbx, rdi
mov r8, rdi
sub rdi, rcx
sar rdi, 0x3f
and r8, rdi
nop dword [rax]
cmp rbx, 1
jbe 0x4f8428
movzx edi, word [rax + r8]
rol di, 8
xor ebx, ebx
mov qword [rsp + 0x40], rsi
nop word [rax + rax]
test rbx, rbx
jne 0x4f8273
lea r8, [rdx + 1]
cmp rsi, r8
jge 0x4f7c22
lea rbx, [0x005aad20]
mov r8, rsi
xor edx, edx
nop
jmp 0x4f7c31
cmp rsi, rdx
jbe 0x4f841d
movzx edx, byte [rax + rdx]
xor ebx, ebx
test rbx, rbx
jne 0x4f81e1
lea r9, [r8 + 1]
nop
cmp rsi, r9
jge 0x4f7c54
lea rbx, [0x005aad20]
mov r9, rsi
xor r8d, r8d
jmp 0x4f7c64
cmp rsi, r8
jbe 0x4f8412
movzx r8d, byte [rax + r8]
xor ebx, ebx
test rbx, rbx
jne 0x4f814f
mov byte [rsp + 0x1f], dl
mov byte [rsp + 0x1e], r8b
mov qword [rsp + 0x20], r9
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd0], rcx
cmp di, 1
je 0x4f7d4b
cmp di, 2
jne 0x4f7cb9
lea rax, [0x00531940]
mov ebx, 0x10
mov rcx, rbx
call fcn.0044a940
mov ecx, 0x10
jmp 0x4f7d64
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x1f
lea rcx, [0x0056a2a4]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x00531940]
mov ebx, 4
mov rcx, rbx
call fcn.0044a940
mov ecx, 4
movzx r11d, byte [rsp + 0x1f]
movzx r12d, r11b
mov rbx, rcx
shl rbx, 3
cmp r12, rbx
jg 0x4f80bd
movzx r13d, byte [rsp + 0x1e]
mov r15d, r13d
and r13d, 0x7f
lea rdx, [r12 + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rdx, [rdx + r12]
lea rdx, [rdx + 7]
sar rdx, 3
cmp rdx, r13
jne 0x4f802b
mov edx, r15d
mov r15, qword [rsp + 0x20]
lea rsi, [r13 + r15]
mov rdi, r12
mov r12, qword [rsp + 0x40]
cmp r12, rsi
jl 0x4f7f94
mov r8, r12
mov r12, qword [rsp + 0xd0]
cmp r12, rsi
jb 0x4f8407
nop
cmp r15, rsi
ja 0x4f83fc
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rdi
mov rsi, r15
sub r15, r12
sar r15, 0x3f
and r15, rsi
mov r12, qword [rsp + 0xc0]
add r12, r15
cmp rcx, r13
mov r15, rcx
cmovg r15, r13
cmp rax, r12
je 0x4f7e6c
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x48], r15
mov rbx, r12
mov rcx, r15
call fcn.00465de0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
movzx edx, byte [rsp + 0x1e]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
movzx r11d, byte [rsp + 0x1f]
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
and r11d, 7
lea r10, [r15 + rsi]
test r11b, r11b
jbe 0x4f7f3b
lea r12, [r13 - 1]
cmp rcx, r12
jbe 0x4f83f4
movzx r12d, byte [r13 + rax - 1]
mov rsi, rcx
mov ecx, r11d
mov r13d, 0xffffffff
shr r13b, cl
nop
test r12b, r13b
jbe 0x4f7f3e
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x16
lea rcx, [0x0056706c]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
mov rsi, rcx
nop
cmp rbx, 0x20
je 0x4f7f58
cmp rbx, 0x80
je 0x4f7f58
xor ecx, ecx
xor ebx, ebx
jmp 0x4f8305
test rdi, rdi
jl 0x4f7f8b
mov qword [rsp + 0x40], r10
sar rbx, 3
mov qword [rsp + 0x28], rbx
lea rax, [0x00531940]
mov rcx, rbx
call fcn.0044a940
mov rdx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x58]
xor ecx, ecx
jmp 0x4f83a0
xor ecx, ecx
xor ebx, ebx
jmp 0x4f8305
lea rax, [0x0053da80]
nop dword [rax + rax]
call fcn.0040d180
mov qword [rax + 8], 0x1e
lea rcx, [0x00569e11]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x1a
lea rcx, [0x00568973]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x13
lea rcx, [0x00565de1]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x1d
lea rcx, [0x00569964]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x1d
lea rcx, [0x00569964]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
lea rax, [0x0053da80]
call fcn.0040d180
mov qword [rax + 8], 0x1d
lea rcx, [0x00569964]
mov qword [rax], rcx
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx edx, byte [rsp + 0x68]
lea r10, [0x005aad20]
mov qword [rsp + 0xb0], r10
mov qword [rsp + 0xb8], rax
mov eax, edx
mov r10, qword [rsp + 0x40]
add rsp, 0xa0
pop rbp
ret
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
movups xmmword [rsp + 0x90], xmm15
test dl, 0x80
setne byte [rsp + 0x68]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rcx
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
movzx eax, byte [rsp + 0x68]
movups xmmword [rsp + 0xb0], xmm15
add rsp, 0xa0
pop rbp
ret
inc rcx
mov rsi, r11
nop dword [rax]
cmp rcx, rdx
jge 0x4f83d3
cmp rsi, 8
jb 0x4f83b5
mov byte [rax + rcx], 0xff
lea r11, [rsi - 8]
jmp 0x4f8396
mov rbx, rcx
mov rcx, rsi
mov r12d, 0xffffffff
shr r12b, cl
not r12d
mov byte [rax + rbx], r12b
mov rcx, rbx
xor r11d, r11d
jmp 0x4f8396
movzx edx, byte [rsp + 0x1e]
mov rsi, qword [rsp + 0x30]
mov r10, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x28]
mov rbx, rax
mov rax, qword [rsp + 0x60]
jmp 0x4f8305
mov rax, r12
call fcn.00465400
mov rax, r15
mov rcx, rsi
call fcn.004654c0
mov rcx, rsi
mov rdx, r12
call fcn.00465480
mov rax, r8
mov rcx, rsi
call fcn.00465400
mov rax, rdx
mov rcx, rsi
call fcn.00465400
mov eax, 1
mov rcx, rbx
call fcn.00465400
mov rax, rdi
mov rcx, rbx
nop dword [rax + rax]
call fcn.004654c0
nop
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
call fcn.00463140
mov rax, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
jmp fcn.004f7b60