Function at 0x1f591e420
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x88]
cmp r12, qword [r14 + 0x10]
jbe 0x1f591ed51
push rbp
mov rbp, rsp
sub rsp, 0x100
cmp byte [rax + 0x29], 0
jne 0x1f591e510
mov qword [rsp + 0x110], rax
mov rcx, qword [rax]
mov qword [rsp + 0xe0], rcx
mov rdx, qword [rcx + 0x50]
nop
cmp qword [rdx + 0x90], 0
jle 0x1f591e632
lea rax, [0x1f5a0fa40]
call fcn.1f573f0e0
mov byte [rax + 0x18], 1
mov byte [rax + 0x19], 1
mov rcx, qword [0x1f59a6498]
mov rdx, qword [0x1f59a64a0]
mov rbx, qword [0x1f59a6490]
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rdx
cmp dword [0x1f5c994a0], 0
je 0x1f591e4af
call fcn.1f579c580
mov qword [r11], rbx
mov qword [rsp + 0xd0], rax
mov qword [rax + 0x20], rbx
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rdx + 0x50]
mov r8, qword [r8 + 0x98]
test r8, r8
je 0x1f591e5df
mov qword [rsp + 0xf8], r8
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x48], rcx
lea rax, [0x1f59d2600]
mov rbx, rcx
call fcn.1f577fce0
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov rdi, qword [rsp + 0x48]
xor ecx, ecx
jmp 0x1f591e528
xor eax, eax
xor ebx, ebx
add rsp, 0x100
pop rbp
ret
mov qword [rax + r8*8], r11
add rsi, 0x28
inc rcx
cmp rcx, rdx
jge 0x1f591e5a5
mov r8, qword [rsi]
mov qword [rsp + 0x98], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0xb0], xmm0
cmp rcx, rdi
jae 0x1f591ed45
lea r8, [rcx + rcx*2]
mov r9, qword [rsp + 0xa0]
mov r10, qword [rsp + 0xa8]
mov r11, qword [rsp + 0x98]
mov qword [rax + r8*8 + 8], r9
mov qword [rax + r8*8 + 0x10], r10
cmp dword [0x1f5c994a0], 0
je 0x1f591e51d
mov rbx, r11
call fcn.1f579c5a0
mov qword [r11], rbx
mov r9, qword [rax + r8*8]
mov qword [r11 + 8], r9
mov r11, rbx
nop
jmp 0x1f591e51d
mov rcx, qword [rsp + 0xd0]
mov qword [rcx + 0x58], rdi
mov qword [rcx + 0x60], rdi
cmp dword [0x1f5c994a0], 0
je 0x1f591e5d0
nop
call fcn.1f579c5a0
mov qword [r11], rax
mov rdx, qword [rcx + 0x50]
mov qword [r11 + 8], rdx
mov qword [rcx + 0x50], rax
mov rax, rcx
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0x110]
mov r9, qword [r8 + 0xc0]
mov rsi, qword [r8 + 0xc8]
test r9, r9
je 0x1f591e611
mov rbx, qword [r9 + 8]
mov r10, qword [0x1f59a6f70]
mov r11, qword [r10]
mov r9d, dword [r9 + 0x10]
jmp 0x1f591ece5
mov rdx, qword [r8]
lea rbx, [0x1f5a9cd50]
mov rcx, rax
mov rdi, r9
mov rax, rdx
call fcn.1f58f1920
test rbx, rbx
jne 0x1f591e725
lea rax, [0x1f5a07da0]
call fcn.1f573f0e0
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x110]
mov rsi, qword [rcx + 0x38]
test byte [rsi], al
cmp dword [0x1f5c994a0], 0
je 0x1f591e690
mov qword [rsp + 0xf0], rsi
lea rbx, [rax + 0x18]
mov rcx, rsi
lea rax, [0x1f5a0f840]
call fcn.1f5745200
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0xf0]
mov rdx, qword [rsi]
mov qword [rax + 0x18], rdx
add rsi, 8
lea rdi, [rax + 0x20]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.1f579cf9e
mov rbp, qword [rbp]
mov rdx, qword [rcx + 0x18]
cmp byte [rdx + 0x158], 0
nop
je 0x1f591e6d0
mov rdx, qword [rcx + 0x38]
cmp qword [rdx + 0x60], 0
setne dl
jmp 0x1f591e6d2
xor edx, edx
mov byte [rax + 0x91], dl
mov rdx, qword [rcx + 0x18]
cmp byte [rdx + 0x90], 0
je 0x1f591e6f3
mov rdx, qword [rcx + 0x38]
cmp qword [rdx + 0x48], 0
setne dl
jmp 0x1f591e6f5
xor edx, edx
mov byte [rax + 0x90], dl
mov rdx, qword [rcx + 0xc0]
mov rsi, qword [rcx + 0xc8]
test rdx, rdx
je 0x1f591e734
mov rbx, qword [rdx + 8]
mov r8, qword [0x1f59a6f90]
mov r9, qword [r8]
mov edx, dword [rdx + 0x10]
nop
jmp 0x1f591ec86
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
mov r8, qword [rcx]
lea rbx, [0x1f5a9cd78]
mov rdi, rdx
mov rdx, rax
mov rax, r8
mov rcx, rdx
call fcn.1f58f1920
test rbx, rbx
jne 0x1f591e874
lea rax, [0x1f5a07ce0]
nop
call fcn.1f573f0e0
mov qword [rsp + 0xc8], rax
mov byte [rax + 0x18], 1
mov rcx, qword [rsp + 0x110]
movzx edx, word [rcx + 0x40]
mov word [rax + 0x1a], dx
movzx edx, word [rcx + 0x40]
mov eax, edx
call fcn.1f58e5fe0
test rcx, rcx
jne 0x1f591e859
mov byte [rsp + 0x47], al
mov qword [rsp + 0x70], rbx
mov rdx, qword [rsp + 0x110]
mov rdi, qword [rdx + 0xc0]
mov rsi, qword [rdx + 0xc8]
mov rax, rbx
lea rbx, [0x1f5a30f52]
mov ecx, 0x22
call fcn.1f58e5dc0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rcx
mov rax, qword [rsp + 0x70]
nop
call fcn.1f573c140
movzx edx, byte [rsp + 0x47]
cmp dl, 0xe2
je 0x1f591e7f8
lea rcx, [0x1f5a9c3c0]
jmp 0x1f591e821
lea rax, [0x1f59f7c00]
nop
call fcn.1f573f0e0
mov qword [rax], 0xffffffffffffffff
mov rcx, qword [rsp + 0x70]
mov qword [rax + 8], rcx
movzx edx, byte [rsp + 0x47]
lea rcx, [0x1f5a9c3e0]
mov r11, qword [rsp + 0x110]
mov r12, qword [r11 + 0x38]
mov rbx, qword [r12 + 0x18]
mov r12, qword [r12 + 0x20]
nop word [rax + rax]
test rbx, rbx
je 0x1f591ec7a
mov r13, qword [0x1f59a6fb0]
mov r15, qword [r13]
mov esi, dword [rbx + 0x10]
jmp 0x1f591e883
mov rax, qword [rsp + 0xe0]
mov ebx, 0x50
call fcn.1f58f0960
add rsp, 0x100
pop rbp
ret
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
mov rdi, rsi
and rsi, r15
shl rsi, 4
mov r8, qword [r13 + rsi + 8]
cmp rbx, r8
je 0x1f591e8ed
lea rsi, [rdi + 1]
nop dword [rax + rax]
test r8, r8
jne 0x1f591e883
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xe8], r12
mov qword [rsp + 0x68], rcx
lea rax, [0x1f59a6fb0]
call fcn.1f573c320
mov rcx, qword [rsp + 0x68]
movzx edx, byte [rsp + 0x47]
mov r11, qword [rsp + 0x110]
mov r12, qword [rsp + 0xe8]
mov r13, rax
mov rax, qword [rsp + 0x90]
jmp 0x1f591e8f2
mov r13, qword [r13 + rsi + 0x10]
mov r15, qword [rsp + 0xe0]
mov rbx, qword [r15 + 0x50]
mov rsi, qword [rbx]
test rsi, rsi
je 0x1f591e90c
mov rbx, qword [rbx + 8]
jmp 0x1f591e91a
mov rsi, qword [0x1f5c12570]
mov rbx, qword [0x1f5c12578]
mov rdx, qword [r13 + 0x20]
mov rdi, qword [rsp + 0x88]
mov r8, qword [rsp + 0x60]
mov r9, rcx
mov r10, rax
mov rax, r12
mov rcx, rbx
mov rbx, rsi
mov rsi, qword [rsp + 0x58]
nop
call rdx
test rdi, rdi
je 0x1f591e989
mov rcx, qword [rsp + 0x110]
mov rcx, qword [rcx + 0x38]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
nop dword [rax + rax]
test rbx, rbx
je 0x1f591ec6e
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0x78], rdi
mov rcx, qword [0x1f59a6fd0]
mov rdx, qword [rcx]
mov r8d, dword [rbx + 0x10]
jmp 0x1f591ea77
mov rdx, qword [rsp + 0xc8]
mov qword [rdx + 0x28], rbx
mov qword [rdx + 0x30], rcx
cmp dword [0x1f5c994a0], 0
je 0x1f591e9b2
call fcn.1f579c5a0
mov qword [r11], rax
mov r8, qword [rdx + 0x20]
mov qword [r11 + 8], r8
mov qword [rdx + 0x20], rax
mov r8, qword [rsp + 0x110]
mov r9, qword [r8 + 0xc0]
mov rsi, qword [r8 + 0xc8]
test r9, r9
je 0x1f591e9e5
mov rbx, qword [r9 + 8]
mov r10, qword [0x1f59a6ff0]
mov r11, qword [r10]
mov r9d, dword [r9 + 0x10]
jmp 0x1f591ea1b
mov rax, qword [r8]
lea rbx, [0x1f5a9cd00]
mov rcx, rdx
mov rdi, r9
call fcn.1f58f1920
test rbx, rbx
je 0x1f591ea0e
mov rax, rbx
mov rbx, rcx
add rsp, 0x100
pop rbp
ret
xor eax, eax
xor ebx, ebx
add rsp, 0x100
pop rbp
ret
mov r12, r9
and r9, r11
shl r9, 4
mov r13, qword [r10 + r9 + 8]
cmp r13, rbx
je 0x1f591ea6d
lea r9, [r12 + 1]
test r13, r13
jne 0x1f591ea1b
mov qword [rsp + 0xe8], rsi
lea rax, [0x1f59a6ff0]
call fcn.1f573c320
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x110]
mov r9, rax
jmp 0x1f591e9e5
mov r9, qword [r10 + r9 + 0x10]
jmp 0x1f591e9e5
mov r9, r8
and r8, rdx
shl r8, 4
mov r10, qword [rcx + r8 + 8]
cmp rbx, r10
je 0x1f591eab5
lea r8, [r9 + 1]
test r10, r10
jne 0x1f591ea77
mov qword [rsp + 0xe8], rax
lea rax, [0x1f59a6fd0]
call fcn.1f573c320
mov rcx, rax
mov rax, qword [rsp + 0xe8]
jmp 0x1f591eaba
mov rcx, qword [rcx + r8 + 0x10]
mov rcx, qword [rcx + 0x18]
nop
call rcx
lea rcx, [0x1f59e7ce0]
cmp rax, rcx
je 0x1f591ead3
mov ebx, 0
jne 0x1f591ebbd
movzx edx, byte [rsp + 0x47]
nop
cmp dl, 0xe2
jne 0x1f591ebbd
mov rdx, qword [rbx]
mov rsi, qword [rdx + 0x10]
lea rdi, [rsi - 1]
test rdi, rdi
jl 0x1f591eb5a
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rsi*8 - 8]
mov rsi, rdx
shr rdx, 1
or rdx, rsi
mov rsi, rdx
shr rdx, 2
or rdx, rsi
mov rsi, rdx
shr rdx, 4
or rdx, rsi
mov rsi, rdx
shr rdx, 8
or rdx, rsi
mov rsi, rdx
shr rdx, 0x10
or rdx, rsi
mov rsi, rdx
shr rdx, 0x20
or rdx, rsi
shl rdi, 6
bsr rdx, rdx
mov rsi, 0xffffffffffffffff
cmove rdx, rsi
lea rdx, [rdx + rdi]
lea rdx, [rdx + 1]
jmp 0x1f591eb5c
xor edx, edx
mov rax, qword [rsp + 0x70]
lea rsi, [rax - 1]
cmp rsi, 0x13
jae 0x1f591ec5b
mov rcx, qword [0x1f59a75d8]
cmp rax, rcx
jae 0x1f591ec56
mov rcx, rdx
sar rdx, 0x3f
shr rdx, 0x3d
add rcx, rdx
sar rcx, 3
mov rdx, qword [0x1f59a75d0]
movzx edx, byte [rdx + rax]
lea rdx, [rdx + rdx]
lea rdx, [rdx + 2]
cmp rdx, rcx
jle 0x1f591ebbd
mov rax, qword [rsp + 0xe0]
mov ebx, 0x28
call fcn.1f58f0960
jmp 0x1f591ebcf
mov rax, qword [rsp + 0xe0]
mov ebx, 0x50
call fcn.1f58f0960
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0xc0]
call rcx
mov ecx, 0x1f
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x1f5a2f9a3]
call fcn.1f5783b60
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x80], rax
lea rax, [0x1f59ecac0]
call fcn.1f573f0e0
mov rcx, qword [rsp + 0x50]
mov qword [rax + 8], rcx
cmp dword [0x1f5c994a0], 0
jne 0x1f591ec30
mov rcx, qword [rsp + 0x80]
jmp 0x1f591ec40
call fcn.1f579c580
mov rcx, qword [rsp + 0x80]
mov qword [r11], rcx
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x1f5a9c160]
add rsp, 0x100
pop rbp
ret
call fcn.1f579c960
lea rax, [0x1f59d4f40]
lea rbx, [0x1f5a9af20]
call fcn.1f5769000
lea rax, [0x1f59ea220]
call fcn.1f573bee0
lea rax, [0x1f59ea220]
call fcn.1f573bee0
mov r10, rdx
and rdx, r9
shl rdx, 4
mov r11, qword [r8 + rdx + 8]
cmp r11, rbx
je 0x1f591ecd9
lea rdx, [r10 + 1]
nop
test r11, r11
jne 0x1f591ec86
mov qword [rsp + 0xe8], rsi
lea rax, [0x1f59a6f90]
call fcn.1f573c320
mov rcx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0xe8]
mov rdx, rax
mov rax, qword [rsp + 0xd8]
jmp 0x1f591e734
mov rdx, qword [r8 + rdx + 0x10]
nop
jmp 0x1f591e734
mov r12, r9
and r9, r11
shl r9, 4
mov r13, qword [r10 + r9 + 8]
cmp r13, rbx
je 0x1f591ed39
lea r9, [r12 + 1]
nop
test r13, r13
jne 0x1f591ece5
mov qword [rsp + 0xe8], rsi
lea rax, [0x1f59a6f70]
call fcn.1f573c320
mov rsi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x110]
mov r9, rax
mov rax, qword [rsp + 0xd0]
jmp 0x1f591e611
mov r9, qword [r10 + r9 + 0x10]
nop
jmp 0x1f591e611
mov rax, rcx
mov rcx, rdi
call fcn.1f579c940
nop
mov qword [rsp + 8], rax
call fcn.1f579a640
mov rax, qword [rsp + 8]
jmp fcn.1f591e420