Function at 0x140028a70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rdx
mov rdi, rcx
mov rbx, rdx
shr rbx, 1
dec rbx
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1400289d0
add rbx, 0xffffffffffffffff
jb 0x140028960
lea rbx, [rsi - 1]
nop dword [rax + rax]
cmp rbx, rsi
jae 0x1400289b6
mov rax, qword [rdi]
mov rcx, qword [rdi + rbx*8]
mov qword [rdi], rcx
mov qword [rdi + rbx*8], rax
mov rcx, rdi
mov rdx, rbx
xor r8d, r8d
call fcn.1400289d0
lea rax, [rbx - 1]
cmp rbx, 1
mov rbx, rax
ja 0x140028980
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstableheapsort.rs_
mov rcx, rbx
mov rdx, rsi
call fcn.14021b830
int3
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x298
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x210], 0xfffffffffffffffe
mov dword [rbp + 0x1f8], r9d
mov rbx, rdx
mov r13, rcx
nop word cs:[rax + rax]
cmp rbx, 0x21
mov rax, rbx
mov qword [rbp + 0x1d0], rbx
mov qword [rbp + 0x200], r13
jb 0x140029493
cmp dword [rbp + 0x1f8], 0
je 0x1400294ff
mov qword [rbp + 0x1e0], r8
mov r9, rbx
shr r9, 3
mov r14, r9
shl r14, 5
add r14, r13
imul r12, r9, 0x38
add r12, r13
mov rcx, r13
cmp rbx, 0x40
jae 0x140028b40
mov rdx, r14
call fcn.140019940
mov rsi, r13
mov r13d, eax
mov rcx, rsi
mov rdx, r12
call fcn.140019940
mov r15, rsi
cmp r13b, al
jne 0x140028b51
mov rcx, r14
mov rdx, r12
call fcn.140019940
xor r13b, al
cmovne r14, r12
mov r15, r14
jmp 0x140028b51
mov rdx, r14
mov r8, r12
call fcn.140019c10
mov r15, rax
mov rsi, r13
dec dword [rbp + 0x1f8]
sub r15, rsi
shr r15, 3
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
mov r13, rsi
je 0x140028b88
lea r14, [r15*8]
add r14, r13
mov rdx, r14
call fcn.140027170
test al, al
je 0x140029040
cmp r15, rbx
jae 0x14002a27e
mov rdx, rbx
mov rax, qword [r13]
mov rcx, qword [r13 + r15*8]
mov qword [r13], rcx
mov qword [r13 + r15*8], rax
lea rbx, [r13 + 8]
mov rax, qword [r13 + 8]
mov qword [rbp + 0x1c0], rax
mov qword [rbp - 0x60], rax
lea r12, [rdx*8 - 8]
add r12, r13
lea rsi, [r13 + 0x10]
cmp rsi, r12
jae 0x140028e20
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r15d, r15d
jmp 0x140028c23
xor r13d, r13d
movzx eax, dil
mov rcx, r15
add rcx, rax
mov rax, qword [rbx + rcx*8]
mov qword [rsi], rax
mov qword [rbx + rcx*8], r14
movzx r15d, r13b
add r15, rcx
add rsi, 0x10
cmp rsi, r12
mov r13, qword [rbp + 0x200]
jae 0x140028e50
mov r14, qword [rsi]
mov r8, qword [r13]
cmp r14, r8
jne 0x140028c40
xor edi, edi
jmp 0x140028d1e
test r14b, 3
je 0x140028c72
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x140028c81
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x140029fae
lea rax, [rsi + 1]
test r8b, 3
jne 0x140028cb3
jmp 0x140028cf9
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test r8b, 3
jne 0x140028cb3
jmp 0x140028cf9
mov rcx, r14
shr rcx, 0x20
mov rax, qword [0x14038e040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x140029fcf
mov rdx, qword [rax + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140028cf9
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x140028cd9
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a00d
mov rdx, qword [rbp + 0x208]
jmp 0x140028d00
shr r8, 0x20
mov r9, qword [0x14038e040]
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x140029feb
shl r8, 4
add r8, qword [r9 + 0x10]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov rdi, rcx
sub rdi, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rdi, rax
shr rdi, 0x3f
mov rax, qword [r13 + r15*8 + 8]
mov qword [rsi - 8], rax
mov qword [r13 + r15*8 + 8], r14
mov r14, qword [rsi + 8]
mov r8, qword [r13]
cmp r14, r8
je 0x140028bf0
test r14b, 3
je 0x140028d76
mov eax, r14d
and eax, 3
cmp eax, 1
mov r9, qword [0x14038e040]
jne 0x140028d8c
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a034
lea rax, [rsi + 9]
test r8b, 3
jne 0x140028db7
jmp 0x140028df6
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov r9, qword [0x14038e040]
test r8b, 3
jne 0x140028db7
jmp 0x140028df6
mov rcx, r14
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x14002a051
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140028df6
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x140028ddd
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a069
mov rdx, qword [rbp + 0x208]
jmp 0x140028dfd
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a08c
shl r8, 4
add r8, qword [r9 + 0x10]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r13, rcx
sub r13, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
shr r13, 0x3f
jmp 0x140028bf3
mov r14, rbx
xor r15d, r15d
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
jne 0x140028e6f
jmp 0x140028fa7
lea r14, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
je 0x140028fa7
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x140028ead
xor r13d, r13d
mov rax, qword [rbx + r15*8]
mov qword [r14], rax
mov qword [rbx + r15*8], rsi
movzx eax, r13b
add r15, rax
lea rsi, [r12 + 8]
mov r14, r12
cmp rsi, rdi
mov r13, qword [rbp + 0x200]
je 0x140028fa0
mov r12, rsi
mov rsi, qword [rsi]
mov r8, qword [r13]
cmp rsi, r8
je 0x140028e80
test sil, 3
je 0x140028ef4
mov eax, esi
and eax, 3
cmp eax, 1
mov r9, qword [0x14038e040]
jne 0x140028f0a
mov ecx, esi
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x140029f6e
lea rax, [r12 + 1]
test r8b, 3
jne 0x140028f35
jmp 0x140028f74
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov r9, qword [0x14038e040]
test r8b, 3
jne 0x140028f35
jmp 0x140028f74
mov rcx, rsi
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x140029f38
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140028f74
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x140028f5b
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x140029f8b
mov rdx, qword [rbp + 0x208]
jmp 0x140028f7b
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x140029f50
shl r8, 4
add r8, qword [r9 + 0x10]
mov rdx, qword [r8]
mov r8, qword [r8 + 8]
mov r13, rcx
sub r13, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
shr r13, 0x3f
jmp 0x140028e83
add rsi, 0xfffffffffffffff8
mov r14, rsi
mov qword [rbp + 0x1f0], r14
lea rcx, [rbp - 0x60]
mov rdx, r13
call fcn.140027170
mov r8, qword [rbp + 0x1e0]
mov rcx, qword [rbx + r15*8]
mov qword [r14], rcx
mov rcx, qword [rbp + 0x1c0]
mov qword [rbx + r15*8], rcx
movzx edx, al
add rdx, r15
mov rbx, qword [rbp + 0x1d0]
cmp rdx, rbx
jae 0x14002a258
lea rsi, [rdx*8]
add rsi, r13
mov rax, qword [r13]
mov rcx, qword [r13 + rdx*8]
mov qword [r13], rcx
mov qword [r13 + rdx*8], rax
lea rdi, [rdx*8 + 8]
add rdi, r13
mov rax, rdx
not rax
add rbx, rax
mov rcx, r13
mov r9d, dword [rbp + 0x1f8]
call fcn.140028a70
mov r8, rsi
mov r13, rdi
jmp 0x140028ab0
mov rax, qword [r13]
mov rcx, qword [r14]
mov qword [r13], rcx
mov qword [r14], rax
mov rax, rbx
lea rbx, [r13 + 8]
mov rcx, qword [r13 + 8]
mov qword [rbp + 0x1e0], rcx
mov qword [rbp - 0x60], rcx
lea r15, [rax*8 - 8]
add r15, r13
lea rsi, [r13 + 0x10]
cmp rsi, r15
jae 0x1400292bc
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r14d, r14d
jmp 0x1400290cb
xor r12d, r12d
xor r13b, 1
movzx eax, r13b
mov rcx, r14
add rcx, rax
xor r12b, 1
mov rax, qword [rbx + rcx*8]
mov qword [rsi], rax
mov qword [rbx + rcx*8], rdi
movzx r14d, r12b
add r14, rcx
add rsi, 0x10
cmp rsi, r15
mov r13, qword [rbp + 0x200]
jae 0x1400292de
mov rcx, qword [r13]
mov rdi, qword [rsi]
cmp rcx, rdi
jne 0x1400290e0
xor r13d, r13d
jmp 0x1400291c2
test cl, 3
je 0x14002911e
mov eax, ecx
and eax, 3
cmp eax, 1
mov r8, qword [0x14038e040]
jne 0x140029134
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a1c9
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x14002915a
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x1400291a4
mov r8, qword [0x14038e040]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
jne 0x14002915a
jmp 0x140029112
shr rcx, 0x20
mov rdx, qword [r8 + 0x18]
cmp rcx, rdx
jae 0x14002a195
shl rcx, 4
add rcx, qword [r8 + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x140029112
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x14002917f
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a16e
lea rdx, [rsi + 1]
jmp 0x1400291a4
mov r9, rdi
shr r9, 0x20
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a1ea
mov r8, qword [r8 + 0x10]
shl r9, 4
mov rdx, qword [r8 + r9]
mov r8, qword [r8 + r9 + 8]
mov r13, rcx
sub r13, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
shr r13, 0x3f
mov rcx, qword [rbp + 0x200]
mov rax, qword [rcx + r14*8 + 8]
mov qword [rsi - 8], rax
mov qword [rcx + r14*8 + 8], rdi
mov rcx, qword [rcx]
mov rdi, qword [rsi + 8]
cmp rcx, rdi
je 0x140029090
test cl, 3
je 0x14002923b
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x14002921b
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a226
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x140029248
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x140029299
shr rcx, 0x20
mov rax, qword [0x14038e040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a1b1
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x140029212
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x14002926d
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a206
lea rdx, [rsi + 9]
jmp 0x140029299
mov r9, rdi
shr r9, 0x20
mov r8, qword [0x14038e040]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a240
mov r8, qword [r8 + 0x10]
shl r9, 4
mov rdx, qword [r8 + r9]
mov r8, qword [r8 + r9 + 8]
mov r12, rcx
sub r12, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r12, rax
shr r12, 0x3f
jmp 0x140029093
mov r15, rbx
xor r14d, r14d
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
jne 0x1400292fd
jmp 0x140029430
lea r15, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
je 0x140029430
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x140029338
xor edi, edi
xor dil, 1
mov rax, qword [rbx + r14*8]
mov qword [r15], rax
mov qword [rbx + r14*8], rsi
movzx eax, dil
add r14, rax
lea rsi, [r13 + 8]
mov r15, r13
cmp rsi, r12
je 0x140029422
mov r13, rsi
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
mov rsi, qword [rsi]
cmp rcx, rsi
je 0x140029310
test cl, 3
je 0x1400293a1
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x140029381
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a113
mov rax, qword [rbp + 0x208]
test sil, 3
jne 0x1400293ae
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
jmp 0x1400293ff
shr rcx, 0x20
mov rax, qword [0x14038e040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a0fb
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test sil, 3
je 0x140029378
mov edx, esi
and edx, 3
cmp edx, 1
jne 0x1400293d3
mov r8d, esi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a14b
lea rdx, [r13 + 1]
jmp 0x1400293ff
mov r9, rsi
shr r9, 0x20
mov r8, qword [0x14038e040]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a130
mov r8, qword [r8 + 0x10]
shl r9, 4
mov rdx, qword [r8 + r9]
mov r8, qword [r8 + r9 + 8]
mov rdi, rcx
sub rdi, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rdi, rax
shr rdi, 0x3f
jmp 0x140029312
add rsi, 0xfffffffffffffff8
mov r15, rsi
mov r13, qword [rbp + 0x200]
mov qword [rbp + 0x1e8], r15
mov rcx, r13
lea rdx, [rbp - 0x60]
call fcn.140027170
xor al, 1
mov rcx, qword [rbx + r14*8]
mov qword [r15], rcx
mov rcx, qword [rbp + 0x1e0]
mov qword [rbx + r14*8], rcx
movzx ecx, al
add rcx, r14
mov rbx, qword [rbp + 0x1d0]
cmp rcx, rbx
jae 0x14002a26a
mov rax, qword [r13]
mov rdx, qword [r13 + rcx*8]
mov qword [r13], rdx
mov qword [r13 + rcx*8], rax
lea rax, [rcx + 1]
sub rbx, rax
lea r13, [r13 + rcx*8 + 8]
xor r8d, r8d
jmp 0x140028ab0
cmp rbx, 2
jb 0x140029e61
mov rbx, qword [rbp + 0x1d0]
mov rsi, rbx
shr rsi, 1
cmp rbx, 0xf
mov qword [rbp + 0x1d8], rsi
jbe 0x14002951d
lea r8, [rbx*8 - 0x60]
add r8, rbp
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140027640
lea rcx, [rsi*8]
add rcx, r13
lea rdx, [rsi*8 - 0x60]
add rdx, rbp
lea r8, [rbx*8 - 0x20]
add r8, rbp
call fcn.140027640
mov r9d, 8
jmp 0x1400297c8
mov rcx, r13
mov rdx, rbx
add rsp, 0x298
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp 0x140028940
cmp rbx, 7
jbe 0x1400297b0
lea rcx, [r13 + 8]
mov rdx, r13
call fcn.140027170
mov ebx, eax
lea rcx, [r13 + 0x18]
lea rdx, [r13 + 0x10]
call fcn.140027170
movzx r12d, bl
lea rdx, [r12*8]
add rdx, r13
mov qword [rbp + 0x208], rdx
mov ecx, r12d
xor cl, 1
movzx r15d, cl
lea rdi, [r15*8]
add rdi, r13
movzx esi, al
lea ebx, [rsi + 2]
lea r14, [rbx*8]
add r14, r13
xor esi, 3
lea r13, [r13 + rsi*8]
mov qword [rbp + 0x1f8], r13
mov rcx, r14
call fcn.140027170
mov byte [rbp + 0x1e0], al
mov rcx, r13
mov rdx, rdi
call fcn.140027170
movzx edx, byte [rbp + 0x1e0]
test dl, dl
mov rcx, r14
cmovne rcx, rdi
mov r13d, ebx
cmovne r13d, r15d
test al, al
cmovne rdi, r14
mov r14d, r15d
cmovne r14d, ebx
cmovne rcx, qword [rbp + 0x1f8]
cmovne r13d, esi
cmovne esi, r15d
test dl, dl
cmovne rdi, qword [rbp + 0x208]
cmovne r14d, r12d
cmovne r12d, ebx
mov rdx, rdi
call fcn.140027170
mov rcx, qword [rbp + 0x200]
mov rcx, qword [rcx + r12*8]
mov qword [rbp - 0x60], rcx
test al, al
mov eax, r14d
cmovne eax, r13d
mov rcx, qword [rbp + 0x200]
mov rax, qword [rcx + rax*8]
mov qword [rbp - 0x58], rax
cmove r14d, r13d
mov rax, qword [rbp + 0x200]
mov rax, qword [rax + r14*8]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x200]
mov rax, qword [rax + rsi*8]
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x1d8]
lea rdi, [rax + rcx*8]
mov rax, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x1d8]
lea rcx, [rax + rcx*8]
add rcx, 8
mov rdx, rdi
call fcn.140027170
mov ebx, eax
mov rax, qword [rbp + 0x200]
mov rcx, qword [rbp + 0x1d8]
lea rcx, [rax + rcx*8]
add rcx, 0x18
mov rax, qword [rbp + 0x200]
mov rdx, qword [rbp + 0x1d8]
lea rdx, [rax + rdx*8]
add rdx, 0x10
call fcn.140027170
movzx r12d, bl
lea rdx, [rdi + r12*8]
mov qword [rbp + 0x208], rdx
mov ecx, r12d
xor cl, 1
movzx r13d, cl
lea rbx, [rdi + r13*8]
movzx esi, al
lea eax, [rsi + 2]
mov qword [rbp + 0x1f8], rax
lea r15, [rdi + rax*8]
xor esi, 3
lea r14, [rdi + rsi*8]
mov qword [rbp + 0x1e0], r14
mov rcx, r15
call fcn.140027170
mov byte [rbp + 0x1c0], al
mov rcx, r14
mov rdx, rbx
call fcn.140027170
movzx r8d, byte [rbp + 0x1c0]
test r8b, r8b
mov rcx, r15
cmovne rcx, rbx
mov rdx, qword [rbp + 0x1f8]
mov r14d, edx
cmovne r14d, r13d
test al, al
cmovne rbx, r15
mov r15d, r13d
cmovne r15d, edx
cmovne rcx, qword [rbp + 0x1e0]
cmovne r14d, esi
cmovne esi, r13d
mov r13, qword [rbp + 0x200]
test r8b, r8b
cmovne rbx, qword [rbp + 0x208]
cmovne r15d, r12d
cmovne r12d, edx
mov rdx, rbx
mov rbx, qword [rbp + 0x1d0]
call fcn.140027170
mov rcx, qword [rdi + r12*8]
mov rdx, qword [rbp + 0x1d8]
mov qword [rbp + rdx*8 - 0x60], rcx
test al, al
mov eax, r15d
cmovne eax, r14d
mov rax, qword [rdi + rax*8]
mov rcx, qword [rbp + 0x1d8]
mov qword [rbp + rcx*8 - 0x58], rax
cmove r15d, r14d
mov rax, qword [rdi + r15*8]
mov rcx, qword [rbp + 0x1d8]
mov qword [rbp + rcx*8 - 0x50], rax
mov rax, qword [rdi + rsi*8]
mov rsi, qword [rbp + 0x1d8]
mov qword [rbp + rsi*8 - 0x48], rax
mov r9d, 4
jmp 0x1400297c8
mov rax, qword [r13]
mov qword [rbp - 0x60], rax
mov rax, qword [r13 + rsi*8]
mov qword [rbp + rsi*8 - 0x60], rax
mov r9d, 1
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x128], rsi
mov qword [rbp + 0x138], 2
mov r10, rbx
sub r10, rsi
lea r11d, [r9*8]
mov eax, 2
xor ecx, ecx
mov qword [rbp + 0x1c8], r9
mov qword [rbp + 0x160], r10
mov qword [rbp + 0x1e0], r11
jmp 0x140029853
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x138]
mov rbx, qword [rbp + 0x1d0]
mov rsi, qword [rbp + 0x1d8]
mov r9, qword [rbp + 0x1c8]
mov r10, qword [rbp + 0x160]
cmp rax, rcx
je 0x140029d3a
lea r8, [rcx + 1]
mov qword [rbp + 0x130], r8
mov rdx, qword [rbp + rcx*8 + 0x120]
test rdx, rdx
mov r15, r10
cmove r15, rsi
mov rcx, r8
cmp r9, r15
jae 0x14002984a
lea r12, [rdx*8]
add r12, r13
lea rcx, [rbp + rdx*8 - 0x60]
mov rax, qword [0x14038e040]
mov rdx, qword [rax + 0x10]
mov qword [rbp + 0x188], rdx
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x1b8], rax
mov r10d, 8
mov rsi, rcx
mov rbx, r9
mov qword [rbp + 0x1b0], rcx
mov qword [rbp + 0x148], r15
mov qword [rbp + 0x150], r12
jmp 0x140029924
mov rbx, qword [rbp + 0x1b0]
mov rax, qword [rbp + 0x1f8]
mov qword [rbx], rax
mov r15, qword [rbp + 0x148]
mov r12, qword [rbp + 0x150]
mov rcx, qword [rbp + 0x1b0]
mov r10, qword [rbp + 0x170]
mov rsi, qword [rbp + 0x178]
mov rbx, qword [rbp + 0x140]
nop word cs:[rax + rax]
inc rbx
add rsi, 8
add r10, 0xfffffffffffffff8
cmp rbx, r15
je 0x140029820
mov r14, qword [r12 + rbx*8]
mov qword [rcx + rbx*8], r14
mov rdi, qword [rcx + rbx*8 - 8]
cmp r14, rdi
je 0x140029910
lea rdx, [rcx + rbx*8]
mov eax, r14d
and al, 3
mov byte [rbp + 0x208], al
je 0x140029988
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x1400299cb
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a0bd
lea rax, [rdx + 1]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
jne 0x1400299a3
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x140029a34
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
je 0x14002997c
mov r8d, edi
and r8d, 3
cmp r8d, 1
jne 0x140029a0c
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a0e4
add rdx, 0xfffffffffffffff9
jmp 0x140029a34
mov rcx, r14
shr rcx, 0x20
cmp rcx, qword [rbp + 0x1b8]
jae 0x14002a0aa
shl rcx, 4
mov r8, qword [rbp + 0x188]
mov rax, qword [r8 + rcx]
mov rcx, qword [r8 + rcx + 8]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
jne 0x1400299a3
jmp 0x14002997c
mov r9, rdi
shr r9, 0x20
cmp r9, qword [rbp + 0x1b8]
jae 0x14002a0ce
shl r9, 4
mov r8, qword [rbp + 0x188]
mov rdx, qword [r8 + r9]
mov r8, qword [r8 + r9 + 8]
mov rsi, rcx
sub rsi, r8
cmovb r8, rcx
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne rsi, rax
test rsi, rsi
mov rcx, qword [rbp + 0x1b0]
mov r10, qword [rbp + 0x170]
mov rsi, qword [rbp + 0x178]
jns 0x140029910
mov qword [rbp + 0x140], rbx
lea r15, [rcx + rbx*8]
add r15, 0xfffffffffffffff8
mov qword [rbp + 0x168], r14
mov rcx, r14
shr rcx, 0x20
mov rax, qword [0x14038e040]
mov rdx, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x1f8], r14
shr r14d, 4
and r14d, 0xf
mov qword [rbp + 0x190], r14
movzx r8d, byte [rbp + 0x208]
mov dword [rbp + 0x1c0], r8d
mov qword [rbp + 0x1a8], rax
cmp rcx, rax
mov qword [rbp + 0x180], rdx
jae 0x140029bfd
shl rcx, 4
add rcx, rdx
mov qword [rbp + 0x198], rcx
mov r12, r10
jmp 0x140029b23
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
lea r15, [rbx - 8]
mov r14, r9
sub r14, r8
cmovb r8, r9
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r14, rax
add rsi, 0xfffffffffffffff8
add r12, 8
test r14, r14
jns 0x1400298cf
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x1400298c8
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x140029d2d
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x140029b68
mov rax, qword [rbp + 0x198]
cmp dword [rbp + 0x1c0], 2
jne 0x140029b80
mov rcx, qword [rax]
mov r9, qword [rax + 8]
jmp 0x140029b9a
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x140029e75
test dil, 3
je 0x140029af0
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140029bd0
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x140029ea8
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x140029af7
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x140029eda
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x140029af7
mov qword [rbp + 0x198], rcx
mov r12, r10
mov qword [rbp + 0x158], r15
jmp 0x140029c4a
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
lea r15, [rbx - 8]
mov r13, r9
sub r13, r8
cmovb r8, r9
call sub.VCRUNTIME140.dll_memcmp
cdqe
test eax, eax
cmovne r13, rax
add rsi, 0xfffffffffffffff8
add r12, 8
test r13, r13
mov r13, qword [rbp + 0x200]
jns 0x1400298cf
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x1400298c8
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x140029d2d
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x140029cc0
cmp dword [rbp + 0x1c0], 1
jne 0x140029f0b
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x140029e75
test dil, 3
jne 0x140029cd1
jmp 0x140029c10
mov rcx, qword [rax]
mov r9, qword [rax + 8]
test dil, 3
je 0x140029c10
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140029d00
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x140029ea8
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x140029c17
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x140029eda
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x140029c17
lea rbx, [rsi + rdx]
add rbx, 0xfffffffffffffff8
jmp 0x1400298cf
lea rcx, [rsi*8 - 0x60]
add rcx, rbp
lea rsi, [rbp + rsi*8 - 0x68]
mov rax, rbx
lea r14, [rbp + rbx*8 - 0x68]
lea rax, [rbx*8 - 8]
add rax, r13
mov qword [rbp + 0x1f8], rax
mov rax, r13
xor r13d, r13d
mov qword [rbp + 0x208], rax
lea rdi, [rbp - 0x60]
nop word cs:[rax + rax]
mov rdx, rdi
mov rbx, rcx
call fcn.140027170
mov r12, qword [rbp + 0x208]
mov r15b, al
test al, al
mov rax, rdi
cmovne rax, rbx
mov rax, qword [rax]
mov qword [r12], rax
mov rcx, r14
mov rdx, rsi
call fcn.140027170
inc r13
add r12, 8
mov qword [rbp + 0x208], r12
movzx ecx, r15b
xor r15b, 1
movzx edx, r15b
lea rdi, [rdi + rdx*8]
lea rbx, [rbx + rcx*8]
test al, al
mov rcx, r14
cmovne rcx, rsi
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x1f8]
mov qword [rdx], rcx
movzx eax, al
shl eax, 3
add r14, rax
add r14, 0xfffffffffffffff8
sub rsi, rax
add rdx, 0xfffffffffffffff8
mov qword [rbp + 0x1f8], rdx
cmp r13, qword [rbp + 0x1d8]
mov rcx, rbx
jne 0x140029d80
add rsi, 8
test byte [rbp + 0x1d0], 1
je 0x140029e4b
xor eax, eax
xor r9d, r9d
cmp rdi, rsi
setae al
setb r9b
mov rdx, rcx
cmovb rdx, rdi
mov rdx, qword [rdx]
mov r10, qword [rbp + 0x208]
mov qword [r10], rdx
lea rdi, [rdi + r9*8]
lea rcx, [rcx + rax*8]
cmp rdi, rsi
jne 0x14002a279
add r14, 8
cmp rcx, r14
jne 0x14002a279
add rsp, 0x298
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rbp + 0x1c8]
lea rax, [rsi + rax*8]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0x1a0], rax
lea r8, [0x14021f8b8]
mov edx, 7
mov rcx, qword [rbp + 0x190]
call fcn.14021bbd0
jmp 0x14002a27e
mov rax, qword [rbp + 0x1c8]
lea rax, [rsi + rax*8]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0x1a0], rax
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
mov rcx, qword [rbp + 0x1c8]
lea rcx, [rsi + rcx*8]
add rcx, 0xfffffffffffffff8
mov qword [rbp + 0x1a0], rcx
lea r8, [0x14021f8d0]
mov rcx, rax
mov rdx, qword [rbp + 0x1a8]
call fcn.14021b830
jmp 0x14002a27e
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x1a0], rax
lea r8, [0x14021f8d0]
mov rcx, qword [rbp + 0x198]
mov rdx, qword [rbp + 0x1a8]
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021b830
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021b830
jmp 0x14002a27e
lea r8, [0x14021f8d0]
mov rdx, qword [rbp + 0x1b8]
call fcn.14021b830
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
lea r8, [0x14021f8d0]
mov rcx, r9
mov rdx, qword [rbp + 0x1b8]
call fcn.14021b830
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1e8], r15
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
call fcn.14021b830
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021b830
jmp 0x14002a27e
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021bbd0
jmp 0x14002a27e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021b830
jmp 0x14002a27e
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rcx, rdx
mov rdx, rbx
call fcn.14021b830
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rdx, rbx
call fcn.14021b830
call fcn.14020aa90
ud2