Function at 0x140028cc0
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.140028c20
add rbx, 0xffffffffffffffff
jb 0x140028bb0
lea rbx, [rsi - 1]
nop dword [rax + rax]
cmp rbx, rsi
jae 0x140028c06
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.140028c20
lea rax, [rbx - 1]
cmp rbx, 1
mov rbx, rax
ja 0x140028bd0
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstableheapsort.rs_b
mov rcx, rbx
mov rdx, rsi
call fcn.14021a410
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 0x1400296e3
cmp dword [rbp + 0x1f8], 0
je 0x14002974f
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 0x140028d90
mov rdx, r14
call fcn.140019b90
mov rsi, r13
mov r13d, eax
mov rcx, rsi
mov rdx, r12
call fcn.140019b90
mov r15, rsi
cmp r13b, al
jne 0x140028da1
mov rcx, r14
mov rdx, r12
call fcn.140019b90
xor r13b, al
cmovne r14, r12
mov r15, r14
jmp 0x140028da1
mov rdx, r14
mov r8, r12
call fcn.140019e60
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 0x140028dd8
lea r14, [r15*8]
add r14, r13
mov rdx, r14
call fcn.1400273c0
test al, al
je 0x140029290
cmp r15, rbx
jae 0x14002a4ce
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 0x140029070
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r15d, r15d
jmp 0x140028e73
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 0x1400290a0
mov r14, qword [rsi]
mov r8, qword [r13]
cmp r14, r8
jne 0x140028e90
xor edi, edi
jmp 0x140028f6e
test r14b, 3
je 0x140028ec2
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x140028ed1
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a1fe
lea rax, [rsi + 1]
test r8b, 3
jne 0x140028f03
jmp 0x140028f49
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test r8b, 3
jne 0x140028f03
jmp 0x140028f49
mov rcx, r14
shr rcx, 0x20
mov rax, qword [str.0v__]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a21f
mov rdx, qword [rax + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140028f49
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x140028f29
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a25d
mov rdx, qword [rbp + 0x208]
jmp 0x140028f50
shr r8, 0x20
mov r9, qword [str.0v__]
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a23b
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 0x140028e40
test r14b, 3
je 0x140028fc6
mov eax, r14d
and eax, 3
cmp eax, 1
mov r9, qword [str.0v__]
jne 0x140028fdc
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a284
lea rax, [rsi + 9]
test r8b, 3
jne 0x140029007
jmp 0x140029046
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov r9, qword [str.0v__]
test r8b, 3
jne 0x140029007
jmp 0x140029046
mov rcx, r14
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x14002a2a1
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140029046
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x14002902d
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a2b9
mov rdx, qword [rbp + 0x208]
jmp 0x14002904d
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a2dc
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 0x140028e43
mov r14, rbx
xor r15d, r15d
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
jne 0x1400290bf
jmp 0x1400291f7
lea r14, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
je 0x1400291f7
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x1400290fd
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 0x1400291f0
mov r12, rsi
mov rsi, qword [rsi]
mov r8, qword [r13]
cmp rsi, r8
je 0x1400290d0
test sil, 3
je 0x140029144
mov eax, esi
and eax, 3
cmp eax, 1
mov r9, qword [str.0v__]
jne 0x14002915a
mov ecx, esi
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a1be
lea rax, [r12 + 1]
test r8b, 3
jne 0x140029185
jmp 0x1400291c4
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov r9, qword [str.0v__]
test r8b, 3
jne 0x140029185
jmp 0x1400291c4
mov rcx, rsi
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x14002a188
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x1400291c4
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x1400291ab
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a1db
mov rdx, qword [rbp + 0x208]
jmp 0x1400291cb
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a1a0
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 0x1400290d3
add rsi, 0xfffffffffffffff8
mov r14, rsi
mov qword [rbp + 0x1f0], r14
lea rcx, [rbp - 0x60]
mov rdx, r13
call fcn.1400273c0
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 0x14002a4a8
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.140028cc0
mov r8, rsi
mov r13, rdi
jmp 0x140028d00
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 0x14002950c
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r14d, r14d
jmp 0x14002931b
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 0x14002952e
mov rcx, qword [r13]
mov rdi, qword [rsi]
cmp rcx, rdi
jne 0x140029330
xor r13d, r13d
jmp 0x140029412
test cl, 3
je 0x14002936e
mov eax, ecx
and eax, 3
cmp eax, 1
mov r8, qword [str.0v__]
jne 0x140029384
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a419
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x1400293aa
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x1400293f4
mov r8, qword [str.0v__]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
jne 0x1400293aa
jmp 0x140029362
shr rcx, 0x20
mov rdx, qword [r8 + 0x18]
cmp rcx, rdx
jae 0x14002a3e5
shl rcx, 4
add rcx, qword [r8 + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x140029362
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x1400293cf
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a3be
lea rdx, [rsi + 1]
jmp 0x1400293f4
mov r9, rdi
shr r9, 0x20
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a43a
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 0x1400292e0
test cl, 3
je 0x14002948b
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x14002946b
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a476
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x140029498
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x1400294e9
shr rcx, 0x20
mov rax, qword [str.0v__]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a401
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x140029462
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x1400294bd
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a456
lea rdx, [rsi + 9]
jmp 0x1400294e9
mov r9, rdi
shr r9, 0x20
mov r8, qword [str.0v__]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a490
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 0x1400292e3
mov r15, rbx
xor r14d, r14d
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
jne 0x14002954d
jmp 0x140029680
lea r15, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
je 0x140029680
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x140029588
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 0x140029672
mov r13, rsi
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
mov rsi, qword [rsi]
cmp rcx, rsi
je 0x140029560
test cl, 3
je 0x1400295f1
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x1400295d1
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a363
mov rax, qword [rbp + 0x208]
test sil, 3
jne 0x1400295fe
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
jmp 0x14002964f
shr rcx, 0x20
mov rax, qword [str.0v__]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a34b
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test sil, 3
je 0x1400295c8
mov edx, esi
and edx, 3
cmp edx, 1
jne 0x140029623
mov r8d, esi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a39b
lea rdx, [r13 + 1]
jmp 0x14002964f
mov r9, rsi
shr r9, 0x20
mov r8, qword [str.0v__]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a380
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 0x140029562
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.1400273c0
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 0x14002a4ba
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 0x140028d00
cmp rbx, 2
jb 0x14002a0b1
mov rbx, qword [rbp + 0x1d0]
mov rsi, rbx
shr rsi, 1
cmp rbx, 0xf
mov qword [rbp + 0x1d8], rsi
jbe 0x14002976d
lea r8, [rbx*8 - 0x60]
add r8, rbp
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140027500
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.140027500
mov r9d, 8
jmp 0x140029a18
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 0x140028b90
cmp rbx, 7
jbe 0x140029a00
lea rcx, [r13 + 8]
mov rdx, r13
call fcn.1400273c0
mov ebx, eax
lea rcx, [r13 + 0x18]
lea rdx, [r13 + 0x10]
call fcn.1400273c0
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.1400273c0
mov byte [rbp + 0x1e0], al
mov rcx, r13
mov rdx, rdi
call fcn.1400273c0
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.1400273c0
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.1400273c0
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.1400273c0
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.1400273c0
mov byte [rbp + 0x1c0], al
mov rcx, r14
mov rdx, rbx
call fcn.1400273c0
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.1400273c0
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 0x140029a18
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 0x140029aa3
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 0x140029f8a
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 0x140029a9a
lea r12, [rdx*8]
add r12, r13
lea rcx, [rbp + rdx*8 - 0x60]
mov rax, qword [str.0v__]
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 0x140029b74
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 0x140029a70
mov r14, qword [r12 + rbx*8]
mov qword [rcx + rbx*8], r14
mov rdi, qword [rcx + rbx*8 - 8]
cmp r14, rdi
je 0x140029b60
lea rdx, [rcx + rbx*8]
mov eax, r14d
and al, 3
mov byte [rbp + 0x208], al
je 0x140029bd8
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x140029c1b
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a30d
lea rax, [rdx + 1]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
jne 0x140029bf3
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x140029c84
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
je 0x140029bcc
mov r8d, edi
and r8d, 3
cmp r8d, 1
jne 0x140029c5c
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a334
add rdx, 0xfffffffffffffff9
jmp 0x140029c84
mov rcx, r14
shr rcx, 0x20
cmp rcx, qword [rbp + 0x1b8]
jae 0x14002a2fa
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 0x140029bf3
jmp 0x140029bcc
mov r9, rdi
shr r9, 0x20
cmp r9, qword [rbp + 0x1b8]
jae 0x14002a31e
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 0x140029b60
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 [str.0v__]
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 0x140029e4d
shl rcx, 4
add rcx, rdx
mov qword [rbp + 0x198], rcx
mov r12, r10
jmp 0x140029d73
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 0x140029b1f
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x140029b18
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x140029f7d
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x140029db8
mov rax, qword [rbp + 0x198]
cmp dword [rbp + 0x1c0], 2
jne 0x140029dd0
mov rcx, qword [rax]
mov r9, qword [rax + 8]
jmp 0x140029dea
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x14002a0c5
test dil, 3
je 0x140029d40
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140029e20
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x14002a0f8
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x140029d47
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x14002a12a
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x140029d47
mov qword [rbp + 0x198], rcx
mov r12, r10
mov qword [rbp + 0x158], r15
jmp 0x140029e9a
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 0x140029b1f
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x140029b18
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x140029f7d
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x140029f10
cmp dword [rbp + 0x1c0], 1
jne 0x14002a15b
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x14002a0c5
test dil, 3
jne 0x140029f21
jmp 0x140029e60
mov rcx, qword [rax]
mov r9, qword [rax + 8]
test dil, 3
je 0x140029e60
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140029f50
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x14002a0f8
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x140029e67
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x14002a12a
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x140029e67
lea rbx, [rsi + rdx]
add rbx, 0xfffffffffffffff8
jmp 0x140029b1f
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.1400273c0
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.1400273c0
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 0x140029fd0
add rsi, 8
test byte [rbp + 0x1d0], 1
je 0x14002a09b
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 0x14002a4c9
add r14, 8
cmp rcx, r14
jne 0x14002a4c9
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, [0x14021e798]
mov edx, 7
mov rcx, qword [rbp + 0x190]
call fcn.14021a7b0
jmp 0x14002a4ce
mov rax, qword [rbp + 0x1c8]
lea rax, [rsi + rax*8]
add rax, 0xfffffffffffffff8
mov qword [rbp + 0x1a0], rax
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
mov rcx, qword [rbp + 0x1c8]
lea rcx, [rsi + rcx*8]
add rcx, 0xfffffffffffffff8
mov qword [rbp + 0x1a0], rcx
lea r8, [0x14021e7b0]
mov rcx, rax
mov rdx, qword [rbp + 0x1a8]
call fcn.14021a410
jmp 0x14002a4ce
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x1a0], rax
lea r8, [0x14021e7b0]
mov rcx, qword [rbp + 0x198]
mov rdx, qword [rbp + 0x1a8]
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021e7b0]
mov rcx, r8
mov r8, rax
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021e7b0]
mov rcx, r8
mov r8, rax
call fcn.14021a410
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021e7b0]
mov rcx, r8
mov r8, rax
call fcn.14021a410
jmp 0x14002a4ce
lea r8, [0x14021e7b0]
mov rdx, qword [rbp + 0x1b8]
call fcn.14021a410
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
lea r8, [0x14021e7b0]
mov rcx, r9
mov rdx, qword [rbp + 0x1b8]
call fcn.14021a410
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021e7b0]
mov rcx, r9
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], r15
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e7b0]
call fcn.14021a410
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e7b0]
mov rcx, r9
call fcn.14021a410
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021e798]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e798]
mov edx, 7
call fcn.14021a7b0
jmp 0x14002a4ce
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021e7b0]
mov rcx, r9
call fcn.14021a410
jmp 0x14002a4ce
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rcx, rdx
mov rdx, rbx
call fcn.14021a410
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rdx, rbx
call fcn.14021a410
call fcn.1402090c0
ud2