Function at 0x14000dee0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rbx, r8
mov rdi, rdx
movzx r15d, word [rsp + 0x168]
movzx r12d, byte [rsp + 0x160]
test r8, r8
mov qword [rsp + 0xb0], rcx
mov byte [rsp + 0x30], r9b
je 0x14000df2d
movzx edx, byte [rdi]
cmp rbx, 1
jne 0x14000df42
mov esi, edx
jmp 0x14000e077
mov r13d, 1
mov r14d, 2
xor ebp, ebp
xor esi, esi
jmp 0x14000e09b
cmp rbx, 9
jae 0x14000df4f
xor eax, eax
jmp 0x14000e052
lea rcx, [rbx - 1]
cmp rbx, 0x21
jae 0x14000df60
xor eax, eax
jmp 0x14000dfef
mov rax, rcx
and rax, 0xffffffffffffffe0
movzx edx, dl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
xor edx, edx
movdqa xmm1, xmm0
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdi + rdx + 1]
pmaxub xmm0, xmm2
movdqu xmm2, xmmword [rdi + rdx + 0x11]
pmaxub xmm1, xmm2
add rdx, 0x20
cmp rax, rdx
jne 0x14000df90
pmaxub xmm0, xmm1
pshufd xmm1, xmm0, 0xee
pmaxub xmm1, xmm0
pshufd xmm0, xmm1, 0x55
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrld xmm1, 0x10
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrlw xmm0, 8
pmaxub xmm0, xmm1
movd edx, xmm0
cmp rcx, rax
je 0x14000df26
test cl, 0x18
je 0x14000e052
mov r8, rax
mov rax, rcx
and rax, 0xfffffffffffffff8
movzx edx, dl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
nop dword [rax]
movq xmm1, qword [rdi + r8 + 1]
pmaxub xmm0, xmm1
add r8, 8
cmp rax, r8
jne 0x14000e010
pshufd xmm1, xmm0, 0x55
pmaxub xmm1, xmm0
movdqa xmm0, xmm1
psrld xmm0, 0x10
pmaxub xmm0, xmm1
movdqa xmm1, xmm0
psrlw xmm1, 8
pmaxub xmm1, xmm0
movd edx, xmm1
mov esi, edx
cmp rcx, rax
je 0x14000e077
inc rax
nop word cs:[rax + rax]
movzx esi, byte [rdi + rax]
movzx ecx, dl
cmp cl, sil
cmova esi, ecx
inc rax
mov edx, esi
cmp rbx, rax
jne 0x14000e060
mov r13d, 1
mov ecx, esi
shl r13, cl
mov ebp, esi
and bpl, 0x3f
mov r14d, 2
shl r14, cl
cmp bpl, 0x3d
ja 0x14000eb7a
movzx eax, byte [0x14005dbd0]
mov rcx, r14
call fcn.14001ee70
test rax, rax
je 0x14000eb6d
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], 0
test bpl, bpl
je 0x14000e0e4
mov ecx, 1
cmp r13, 0x11
jae 0x14000e0ec
mov rdx, rax
jmp 0x14000e130
mov r13d, 1
jmp 0x14000e151
lea r8, [r13 - 1]
mov r9, r8
and r9, 0xfffffffffffffff0
lea rdx, [rax + r9*2]
lea rcx, [r9 + 1]
xor r10d, r10d
movdqa xmm0, xmmword [0x140038580]
nop word [rax + rax]
movdqu xmmword [rax + r10*2], xmm0
movdqu xmmword [rax + r10*2 + 0x10], xmm0
add r10, 0x10
cmp r9, r10
jne 0x14000e110
cmp r8, r9
jne 0x14000e130
mov rax, rdx
jmp 0x14000e151
mov rax, rdx
nop word cs:[rax + rax]
inc rcx
mov word [rax], 0x10
add rax, 2
cmp r13, rcx
jne 0x14000e140
lea r14, [rdi + rbx]
mov word [rax], 0x10
mov qword [rsp + 0x70], r13
movups xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x60], xmm0
mov word [rsp + 0x78], r15w
mov word [rsp + 0x7a], 0x100
movzx eax, byte [rsp + 0x30]
mov byte [rsp + 0x7c], al
mov byte [rsp + 0x7d], r12b
mov byte [rsp + 0x7e], sil
xor r15d, r15d
nop
cmp rbx, r15
je 0x14000e259
mov rsi, r15
movzx ebp, byte [rdi + r15]
inc r15
test bpl, bpl
je 0x14000e190
movzx eax, byte [0x14005dbd0]
mov ecx, 0x10
call fcn.14001ee70
test rax, rax
je 0x14000eb84
add rdi, rsi
inc rdi
mov word [rax], si
mov byte [rax + 2], bpl
mov qword [rsp + 0x80], 4
mov qword [rsp + 0x88], rax
mov ecx, 1
mov qword [rsp + 0x58], rcx
lea rsi, [rsp + 0x80]
mov r13d, 1
mov qword [rsp + 0x90], r13
nop word cs:[rax + rax]
cmp rdi, r14
je 0x14000e26c
mov rbx, r15
movzx ebp, byte [rdi]
inc rdi
inc r15
test bpl, bpl
je 0x14000e210
cmp r13, qword [rsp + 0x80]
je 0x14000e244
mov word [rax + r13*4], bx
mov byte [rax + r13*4 + 2], bpl
inc r13
dec qword [rsp + 0x58]
jmp 0x14000e1fc
mov rcx, rsi
mov rdx, r13
call fcn.140036830
mov rax, qword [rsp + 0x88]
jmp 0x14000e230
mov r12d, 2
mov byte [rsp + 0x2f], 1
xor r13d, r13d
jmp 0x14000e949
mov r12, qword [rsp + 0x88]
cmp qword [rsp + 0x80], 0
sete al
cmp r13, 0x15
mov byte [rsp + 0x2f], al
jae 0x14000e2aa
cmp r13, 1
jbe 0x14000e949
mov r8d, 1
mov rcx, r12
mov rdx, r13
call fcn.14000da20
jmp 0x14000e949
movabs rax, 0x7ffffffffffffffc
lea rcx, [r13*2]
and rcx, rax
movzx eax, byte [0x14005dbd0]
call fcn.14001ee70
test rax, rax
je 0x14000eb93
mov rbx, rax
movzx eax, byte [0x14005dbd0]
mov ecx, 0x100
call fcn.14001ee70
test rax, rax
je 0x14000eb9f
mov r15, rax
lea rax, [r12 + 6]
mov qword [rsp + 0xc8], rax
lea rax, [r12 - 4]
mov qword [rsp + 0xc0], rax
mov eax, 0x10
mov qword [rsp + 0xb8], rax
xor ebp, ebp
xor r11d, r11d
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x48], r12
mov qword [rsp + 0xd0], r13
jmp 0x14000e354
mov r11d, 1
mov rbp, qword [rsp + 0x40]
cmp rbp, r13
jae 0x14000e926
mov rax, r13
sub rax, rbp
lea rcx, [r12 + rbp*4]
cmp rax, 2
jae 0x14000e740
mov r8, rax
lea rdx, [r8 + rbp]
mov rsi, rdx
sub rsi, rbp
jb 0x14000eb16
cmp rdx, r13
ja 0x14000eb16
jae 0x14000e3c4
cmp r8, 0xa
jae 0x14000e3c4
lea rdi, [rbp + 0xa]
cmp rdi, r13
cmovae rdi, r13
cmp rbp, 0xfffffffffffffff6
jae 0x14000eb2e
mov r14, r11
cmp rdx, rbp
mov eax, 1
cmove r8, rax
mov rsi, rdi
sub rsi, rbp
mov rdx, rsi
call fcn.14000da20
mov rdx, rdi
mov r11, r14
mov qword [rsp + 0x40], rdx
cmp r11, qword [rsp + 0xb8]
jne 0x14000e42b
mov rcx, r11
shl rcx, 5
movzx eax, byte [0x14005dbd0]
mov r14, r11
call fcn.14001ee70
test rax, rax
je 0x14000eb40
mov rdi, rax
lea rax, [r14 + r14]
mov qword [rsp + 0xb8], rax
mov r8, r14
shl r8, 4
mov rcx, rdi
mov rdx, r15
call fcn.140034ef0
mov rcx, qword [0x14005db60]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15, rdi
mov r11, r14
mov rax, r11
shl rax, 4
mov qword [r15 + rax], rsi
mov qword [r15 + rax + 8], rbp
inc r11
mov rax, r11
cmp r11, 2
jae 0x14000e4c1
jmp 0x14000e346
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov r15, rsi
add rbp, r15
add r14, r15
sub r8, rdx
mov rcx, rdi
call fcn.140034ef0
mov rax, qword [rsp + 0xd8]
add rax, qword [rsp + 0x30]
mov qword [r14], rax
mov rax, qword [rsp + 0xe0]
mov qword [r14 + 8], rax
lea rdx, [rbp + 0x10]
mov rax, qword [rsp + 0xf0]
not rax
mov r8, qword [rsp + 0x50]
add r8, rax
shl r8, 4
mov rcx, rbp
call fcn.140034ef0
mov rax, qword [rsp + 0xe8]
cmp rax, 1
mov r13, qword [rsp + 0xd0]
jbe 0x14000e340
mov r11, rax
lea r10, [rax - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r15 + rcx]
mov rcx, qword [r15 + rcx + 8]
add rcx, rax
cmp rcx, r13
je 0x14000e530
mov rdx, r11
shl rdx, 4
mov r8, qword [rdx + r15 - 0x20]
cmp r8, rax
jbe 0x14000e530
cmp r11, 2
je 0x14000e839
lea rdi, [r11 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r15 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x14000e545
cmp r11, 3
jbe 0x14000e91b
add r8, rcx
cmp qword [rdx + r15 - 0x40], r8
jbe 0x14000e545
jmp 0x14000e346
cmp r11, 2
je 0x14000e54a
lea rdi, [r11 - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r15 + rcx]
cmp rcx, rax
jb 0x14000e54e
lea rdi, [r11 - 2]
cmp r11, rdi
jbe 0x14000eaaf
lea r14, [rdi + 1]
cmp r11, r14
jbe 0x14000ea69
mov rbp, rdi
shl rbp, 4
mov rcx, qword [r15 + rbp + 8]
shl r14, 4
mov rax, qword [r15 + r14]
mov rsi, r15
mov r15, qword [r15 + r14 + 8]
add r15, rax
mov rbx, r15
sub rbx, rcx
jb 0x14000eaf5
mov qword [rsp + 0xf0], rdi
cmp r15, r13
ja 0x14000eb04
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe8], r10
mov qword [rsp + 0x50], r11
mov rax, qword [rsi + rbp]
mov qword [rsp + 0xe0], rcx
lea rdi, [r12 + rcx*4]
lea r13, [rdi + rax*4]
mov r12, rbx
sub r12, rax
cmp r12, rax
mov qword [rsp + 0x30], rax
jae 0x14000e680
lea r8, [r12*4]
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
mov rdx, r13
call fcn.140034ef0
lea r8, [rbx + r12*4]
cmp qword [rsp + 0x30], 0
jle 0x14000e720
test r12, r12
jle 0x14000e720
mov rax, qword [rsp + 0xc0]
lea rax, [rax + r15*4]
mov r12, qword [rsp + 0x48]
mov r15, rsi
nop word cs:[rax + rax]
movzx ecx, byte [r8 - 2]
movzx edx, byte [r13 - 2]
cmp cl, dl
mov r9d, 0
sbb r9, r9
cmp cl, dl
mov r10d, 0
adc r10, 0xffffffffffffffff
cmp cl, dl
lea r13, [r13 + r9*4]
lea r8, [r8 + r10*4]
mov rcx, r8
cmovb rcx, r13
mov ecx, dword [rcx]
mov dword [rax], ecx
cmp r13, rdi
jbe 0x14000e675
add rax, 0xfffffffffffffffc
cmp r8, rbx
ja 0x14000e630
mov rdi, r13
mov rdx, rbx
jmp 0x14000e457
lea r8, [rax*4]
mov r12, qword [rsp + 0x38]
mov rcx, r12
mov rdx, rdi
call fcn.140034ef0
mov rax, qword [rsp + 0x30]
lea r8, [r12 + rax*4]
test rax, rax
jle 0x14000e725
cmp rbx, rax
mov r12, qword [rsp + 0x48]
jle 0x14000e44c
lea rax, [r12 + r15*4]
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov r15, rsi
nop word cs:[rax + rax]
movzx r9d, byte [r13 + 2]
xor r10d, r10d
xor ecx, ecx
cmp r9b, byte [rdx + 2]
setae r10b
setb r9b
mov r11, rdx
cmovb r11, r13
mov r11d, dword [r11]
mov dword [rdi], r11d
add rdi, 4
lea rdx, [rdx + r10*4]
cmp rdx, r8
jae 0x14000e457
mov cl, r9b
lea r13, [r13 + rcx*4]
cmp r13, rax
jb 0x14000e6d0
jmp 0x14000e457
mov rdi, r13
jmp 0x14000e72a
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov r12, qword [rsp + 0x48]
jmp 0x14000e454
movzx edx, byte [rcx + 6]
cmp dl, byte [rcx + 2]
jae 0x14000e7c0
mov r8d, 2
cmp rax, 2
je 0x14000e791
mov r8, qword [rsp + 0x58]
lea r9, [r8 + rbp]
mov r8d, 2
nop word cs:[rax + rax]
mov r10d, edx
movzx edx, byte [rcx + r8*4 + 2]
cmp dl, r10b
jae 0x14000e791
lea r10, [r9 + r8]
inc r10
inc r8
cmp r10, 2
jne 0x14000e770
mov r8, rax
mov rdx, r8
add rdx, rbp
jb 0x14000eb5e
cmp rdx, r13
ja 0x14000eb4c
cmp r8, 2
jae 0x14000e807
mov r8d, 1
jmp 0x14000e36f
mov r8d, 2
cmp rax, 2
je 0x14000e36b
mov r8, qword [rsp + 0x58]
lea r9, [r8 + rbp]
mov r8d, 2
nop
mov r10d, edx
movzx edx, byte [rcx + r8*4 + 2]
cmp dl, r10b
jb 0x14000e36b
lea r10, [r9 + r8]
inc r10
inc r8
cmp r10, 2
jne 0x14000e7e0
jmp 0x14000e368
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], r11
mov qword [rsp + 0x30], r15
mov rax, r8
shr rax, 1
lea rdx, [rcx + r8*4]
lea r9, [rax*4]
sub rdx, r9
cmp rax, 1
jne 0x14000e844
xor r9d, r9d
jmp 0x14000e8d7
mov r11d, 2
jmp 0x14000e346
movabs r9, 0x7ffffffffffffffc
lea r10, [r9 + 2]
and r10, rax
mov r9, qword [rsp + 0xc8]
lea r11, [r9 + rbp*4]
mov r9, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0x40]
lea rsi, [r9 + rsi*4]
xor r9d, r9d
nop word cs:[rax + rax]
movzx edi, word [r11 + r9*4 - 6]
movzx ebx, byte [r11 + r9*4 - 4]
mov r14d, dword [rsi]
mov dword [r11 + r9*4 - 6], r14d
mov word [rsi], di
mov byte [rsi + 2], bl
mov rdi, r9
movabs rbx, 0x3ffffffffffffffe
xor rdi, rbx
add rdi, rax
movzx ebx, word [r11 + r9*4 - 2]
movzx r14d, byte [r11 + r9*4]
mov r15d, dword [rdx + rdi*4]
mov dword [r11 + r9*4 - 2], r15d
mov word [rdx + rdi*4], bx
mov byte [rdx + rdi*4 + 2], r14b
add r9, 2
add rsi, 0xfffffffffffffff8
cmp r10, r9
jne 0x14000e880
test r8b, 2
je 0x14000e902
mov r10, r9
not r10
add rax, r10
movzx r10d, word [rcx + r9*4]
movzx r11d, byte [rcx + r9*4 + 2]
mov esi, dword [rdx + rax*4]
mov dword [rcx + r9*4], esi
mov word [rdx + rax*4], r10w
mov byte [rdx + rax*4 + 2], r11b
mov rbx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
jmp 0x14000e36f
mov r11d, 3
jmp 0x14000e346
mov rcx, qword [0x14005db60]
xor edx, edx
mov r8, r15
mov rsi, qword [sym.imp.kernel32.dll_HeapFree]
call rsi
mov rcx, qword [0x14005db60]
xor edx, edx
mov r8, rbx
call rsi
lea r14, [r12 + r13*4]
xor esi, esi
lea rdi, [rsp + 0x60]
mov r15, r12
xor r8d, r8d
nop word [rax + rax]
cmp r15, r14
je 0x14000e9fe
movzx edx, word [r15]
movzx ebx, byte [r15 + 2]
mov ecx, ebx
sub cl, r8b
and cl, 0xf
shl esi, cl
mov rcx, rdi
mov r8d, esi
mov r9d, ebx
call fcn.14000ebb0
inc esi
add r15, 4
mov r8d, ebx
test rax, rax
je 0x14000e960
mov rcx, qword [rsp + 0xb0]
mov qword [rcx + 8], rax
movabs rax, 0x7ffffffffffffffc
add rax, 4
mov qword [rcx], rax
cmp byte [rsp + 0x2f], 0
jne 0x14000e9ce
mov rcx, qword [0x14005db60]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x60], 0
je 0x14000ea55
mov r8, qword [rsp + 0x68]
mov rcx, qword [0x14005db60]
xor edx, edx
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.kernel32.dll_HeapFree]
cmp byte [rsp + 0x2f], 0
jne 0x14000ea17
mov rcx, qword [0x14005db60]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [rsp + 0x7e]
cmp byte [rsp + 0x7c], 0
movzx ecx, byte [rsp + 0x7d]
mov edx, 1
cmovne edx, ecx
cmp al, dl
cmovb edx, eax
mov rcx, qword [rsp + 0x70]
mov r8, qword [rsp + 0xb0]
mov qword [r8 + 0x10], rcx
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [r8], xmm0
mov byte [r8 + 0x18], dl
mov byte [r8 + 0x19], al
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rdx, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
lea rcx, [rsp + 0x80]
call fcn.140036400
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], 8
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
lea rdx, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
lea rcx, [rsp + 0x80]
call fcn.140036400
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov rdx, r15
call fcn.140036740
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov rcx, r15
mov rdx, r13
call fcn.140036730
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.140036440
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov rcx, rbp
mov rdx, rdi
call fcn.140036740
lea rcx, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
call fcn.140036320
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov rcx, rdx
mov rdx, r13
call fcn.140036730
lea r8, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
mov rcx, rbp
call fcn.140036740
mov ecx, 2
mov rdx, r14
call fcn.140035a20
xor ecx, ecx
mov rdx, r14
call fcn.140035a20
mov ecx, 2
mov edx, 0x10
call fcn.140035a20
lea rcx, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
call fcn.140036320
lea rcx, str.C:Userslucak.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrarycore_src_slice_sort.rs
call fcn.140036320
int3