Function at 0x140029200
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.140029160
add rbx, 0xffffffffffffffff
jb 0x1400290f0
lea rbx, [rsi - 1]
nop dword [rax + rax]
cmp rbx, rsi
jae 0x140029146
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.140029160
lea rax, [rbx - 1]
cmp rbx, 1
mov rbx, rax
ja 0x140029110
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.14021aeb0
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 0x140029c23
cmp dword [rbp + 0x1f8], 0
je 0x140029c8f
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 0x1400292d0
mov rdx, r14
call fcn.14001a0d0
mov rsi, r13
mov r13d, eax
mov rcx, rsi
mov rdx, r12
call fcn.14001a0d0
mov r15, rsi
cmp r13b, al
jne 0x1400292e1
mov rcx, r14
mov rdx, r12
call fcn.14001a0d0
xor r13b, al
cmovne r14, r12
mov r15, r14
jmp 0x1400292e1
mov rdx, r14
mov r8, r12
call fcn.14001a3a0
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 0x140029318
lea r14, [r15*8]
add r14, r13
mov rdx, r14
call fcn.140027900
test al, al
je 0x1400297d0
cmp r15, rbx
jae 0x14002aa0e
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 0x1400295b0
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r15d, r15d
jmp 0x1400293b3
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 0x1400295e0
mov r14, qword [rsi]
mov r8, qword [r13]
cmp r14, r8
jne 0x1400293d0
xor edi, edi
jmp 0x1400294ae
test r14b, 3
je 0x140029402
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x140029411
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a73e
lea rax, [rsi + 1]
test r8b, 3
jne 0x140029443
jmp 0x140029489
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test r8b, 3
jne 0x140029443
jmp 0x140029489
mov rcx, r14
shr rcx, 0x20
mov rax, qword [0x14038d040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a75f
mov rdx, qword [rax + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140029489
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x140029469
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a79d
mov rdx, qword [rbp + 0x208]
jmp 0x140029490
shr r8, 0x20
mov r9, qword [0x14038d040]
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a77b
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 0x140029380
test r14b, 3
je 0x140029506
mov eax, r14d
and eax, 3
cmp eax, 1
mov r9, qword [0x14038d040]
jne 0x14002951c
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a7c4
lea rax, [rsi + 9]
test r8b, 3
jne 0x140029547
jmp 0x140029586
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
mov r9, qword [0x14038d040]
test r8b, 3
jne 0x140029547
jmp 0x140029586
mov rcx, r14
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x14002a7e1
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140029586
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x14002956d
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a7f9
mov rdx, qword [rbp + 0x208]
jmp 0x14002958d
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a81c
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 0x140029383
mov r14, rbx
xor r15d, r15d
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
jne 0x1400295ff
jmp 0x140029737
lea r14, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea rdi, [rax*8]
add rdi, r13
cmp rsi, rdi
je 0x140029737
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x14002963d
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 0x140029730
mov r12, rsi
mov rsi, qword [rsi]
mov r8, qword [r13]
cmp rsi, r8
je 0x140029610
test sil, 3
je 0x140029684
mov eax, esi
and eax, 3
cmp eax, 1
mov r9, qword [0x14038d040]
jne 0x14002969a
mov ecx, esi
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a6fe
lea rax, [r12 + 1]
test r8b, 3
jne 0x1400296c5
jmp 0x140029704
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
mov r9, qword [0x14038d040]
test r8b, 3
jne 0x1400296c5
jmp 0x140029704
mov rcx, rsi
shr rcx, 0x20
mov rdx, qword [r9 + 0x18]
cmp rcx, rdx
jae 0x14002a6c8
mov rdx, qword [r9 + 0x10]
shl rcx, 4
mov rax, qword [rdx + rcx]
mov rcx, qword [rdx + rcx + 8]
test r8b, 3
je 0x140029704
mov edx, r8d
and edx, 3
cmp edx, 1
jne 0x1400296eb
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a71b
mov rdx, qword [rbp + 0x208]
jmp 0x14002970b
shr r8, 0x20
mov rdx, qword [r9 + 0x18]
cmp r8, rdx
jae 0x14002a6e0
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 0x140029613
add rsi, 0xfffffffffffffff8
mov r14, rsi
mov qword [rbp + 0x1f0], r14
lea rcx, [rbp - 0x60]
mov rdx, r13
call fcn.140027900
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 0x14002a9e8
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.140029200
mov r8, rsi
mov r13, rdi
jmp 0x140029240
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 0x140029a4c
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
xor r14d, r14d
jmp 0x14002985b
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 0x140029a6e
mov rcx, qword [r13]
mov rdi, qword [rsi]
cmp rcx, rdi
jne 0x140029870
xor r13d, r13d
jmp 0x140029952
test cl, 3
je 0x1400298ae
mov eax, ecx
and eax, 3
cmp eax, 1
mov r8, qword [0x14038d040]
jne 0x1400298c4
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a959
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x1400298ea
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x140029934
mov r8, qword [0x14038d040]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
jne 0x1400298ea
jmp 0x1400298a2
shr rcx, 0x20
mov rdx, qword [r8 + 0x18]
cmp rcx, rdx
jae 0x14002a925
shl rcx, 4
add rcx, qword [r8 + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x1400298a2
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x14002990f
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a8fe
lea rdx, [rsi + 1]
jmp 0x140029934
mov r9, rdi
shr r9, 0x20
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a97a
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 0x140029820
test cl, 3
je 0x1400299cb
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x1400299ab
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a9b6
mov rax, qword [rbp + 0x208]
test dil, 3
jne 0x1400299d8
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x140029a29
shr rcx, 0x20
mov rax, qword [0x14038d040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a941
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test dil, 3
je 0x1400299a2
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x1400299fd
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a996
lea rdx, [rsi + 9]
jmp 0x140029a29
mov r9, rdi
shr r9, 0x20
mov r8, qword [0x14038d040]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a9d0
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 0x140029823
mov r15, rbx
xor r14d, r14d
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
jne 0x140029a8d
jmp 0x140029bc0
lea r15, [rsi - 8]
mov rax, qword [rbp + 0x1d0]
lea r12, [rax*8]
add r12, r13
cmp rsi, r12
je 0x140029bc0
lea rax, [r13 + 1]
mov qword [rbp + 0x208], rax
jmp 0x140029ac8
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 0x140029bb2
mov r13, rsi
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
mov rsi, qword [rsi]
cmp rcx, rsi
je 0x140029aa0
test cl, 3
je 0x140029b31
mov eax, ecx
and eax, 3
cmp eax, 1
jne 0x140029b11
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a8a3
mov rax, qword [rbp + 0x208]
test sil, 3
jne 0x140029b3e
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
jmp 0x140029b8f
shr rcx, 0x20
mov rax, qword [0x14038d040]
mov rdx, qword [rax + 0x18]
cmp rcx, rdx
jae 0x14002a88b
shl rcx, 4
add rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov rcx, qword [rcx + 8]
test sil, 3
je 0x140029b08
mov edx, esi
and edx, 3
cmp edx, 1
jne 0x140029b63
mov r8d, esi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a8db
lea rdx, [r13 + 1]
jmp 0x140029b8f
mov r9, rsi
shr r9, 0x20
mov r8, qword [0x14038d040]
mov rdx, qword [r8 + 0x18]
cmp r9, rdx
jae 0x14002a8c0
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 0x140029aa2
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.140027900
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 0x14002a9fa
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 0x140029240
cmp rbx, 2
jb 0x14002a5f1
mov rbx, qword [rbp + 0x1d0]
mov rsi, rbx
shr rsi, 1
cmp rbx, 0xf
mov qword [rbp + 0x1d8], rsi
jbe 0x140029cad
lea r8, [rbx*8 - 0x60]
add r8, rbp
lea rdx, [rbp - 0x60]
mov rcx, r13
call fcn.140027a40
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.140027a40
mov r9d, 8
jmp 0x140029f58
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 0x1400290d0
cmp rbx, 7
jbe 0x140029f40
lea rcx, [r13 + 8]
mov rdx, r13
call fcn.140027900
mov ebx, eax
lea rcx, [r13 + 0x18]
lea rdx, [r13 + 0x10]
call fcn.140027900
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.140027900
mov byte [rbp + 0x1e0], al
mov rcx, r13
mov rdx, rdi
call fcn.140027900
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.140027900
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.140027900
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.140027900
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.140027900
mov byte [rbp + 0x1c0], al
mov rcx, r14
mov rdx, rbx
call fcn.140027900
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.140027900
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 0x140029f58
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 0x140029fe3
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 0x14002a4ca
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 0x140029fda
lea r12, [rdx*8]
add r12, r13
lea rcx, [rbp + rdx*8 - 0x60]
mov rax, qword [0x14038d040]
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 0x14002a0b4
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 0x140029fb0
mov r14, qword [r12 + rbx*8]
mov qword [rcx + rbx*8], r14
mov rdi, qword [rcx + rbx*8 - 8]
cmp r14, rdi
je 0x14002a0a0
lea rdx, [rcx + rbx*8]
mov eax, r14d
and al, 3
mov byte [rbp + 0x208], al
je 0x14002a118
mov eax, r14d
and eax, 3
cmp eax, 1
jne 0x14002a15b
mov ecx, r14d
shr ecx, 4
and ecx, 0xf
cmp ecx, 8
jae 0x14002a84d
lea rax, [rdx + 1]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
jne 0x14002a133
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
jmp 0x14002a1c4
mov rax, qword [r14]
mov rcx, qword [r14 + 8]
test dil, 3
mov qword [rbp + 0x170], r10
mov qword [rbp + 0x178], rsi
je 0x14002a10c
mov r8d, edi
and r8d, 3
cmp r8d, 1
jne 0x14002a19c
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 8
jae 0x14002a874
add rdx, 0xfffffffffffffff9
jmp 0x14002a1c4
mov rcx, r14
shr rcx, 0x20
cmp rcx, qword [rbp + 0x1b8]
jae 0x14002a83a
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 0x14002a133
jmp 0x14002a10c
mov r9, rdi
shr r9, 0x20
cmp r9, qword [rbp + 0x1b8]
jae 0x14002a85e
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 0x14002a0a0
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 [0x14038d040]
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 0x14002a38d
shl rcx, 4
add rcx, rdx
mov qword [rbp + 0x198], rcx
mov r12, r10
jmp 0x14002a2b3
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 0x14002a05f
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x14002a058
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x14002a4bd
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x14002a2f8
mov rax, qword [rbp + 0x198]
cmp dword [rbp + 0x1c0], 2
jne 0x14002a310
mov rcx, qword [rax]
mov r9, qword [rax + 8]
jmp 0x14002a32a
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x14002a605
test dil, 3
je 0x14002a280
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x14002a360
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x14002a638
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x14002a287
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x14002a66a
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x14002a287
mov qword [rbp + 0x198], rcx
mov r12, r10
mov qword [rbp + 0x158], r15
jmp 0x14002a3da
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 0x14002a05f
mov rdx, qword [rbp + 0x1e0]
mov qword [rsi + rdx], rdi
cmp rdx, r12
je 0x14002a058
mov rdi, qword [rsi + rdx - 0x10]
mov rax, qword [rbp + 0x1f8]
cmp rax, rdi
je 0x14002a4bd
mov rbx, r15
cmp byte [rbp + 0x208], 0
je 0x14002a450
cmp dword [rbp + 0x1c0], 1
jne 0x14002a69b
mov rax, qword [rbp + 0x190]
mov r9, rax
lea rcx, [rbp + 0x169]
cmp eax, 7
ja 0x14002a605
test dil, 3
jne 0x14002a461
jmp 0x14002a3a0
mov rcx, qword [rax]
mov r9, qword [rax + 8]
test dil, 3
je 0x14002a3a0
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x14002a490
mov r8d, edi
shr r8d, 4
and r8d, 0xf
cmp r8d, 7
ja 0x14002a638
add rdx, rsi
add rdx, 0xfffffffffffffff1
jmp 0x14002a3a7
mov rax, rdi
shr rax, 0x20
cmp rax, qword [rbp + 0x1a8]
jae 0x14002a66a
shl rax, 4
mov r8, qword [rbp + 0x180]
mov rdx, qword [r8 + rax]
mov r8, qword [r8 + rax + 8]
jmp 0x14002a3a7
lea rbx, [rsi + rdx]
add rbx, 0xfffffffffffffff8
jmp 0x14002a05f
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.140027900
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.140027900
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 0x14002a510
add rsi, 8
test byte [rbp + 0x1d0], 1
je 0x14002a5db
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 0x14002aa09
add r14, 8
cmp rcx, r14
jne 0x14002aa09
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.14021b250
jmp 0x14002aa0e
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.14021b250
jmp 0x14002aa0e
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.14021aeb0
jmp 0x14002aa0e
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.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], r14
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], r14
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021aeb0
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], rsi
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1f0], rsi
lea rax, [0x14021f8d0]
mov rcx, r8
mov r8, rax
call fcn.14021aeb0
jmp 0x14002aa0e
lea r8, [0x14021f8d0]
mov rdx, qword [rbp + 0x1b8]
call fcn.14021aeb0
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
lea r8, [0x14021f8d0]
mov rcx, r9
mov rdx, qword [rbp + 0x1b8]
call fcn.14021aeb0
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], r15
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], r15
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
call fcn.14021aeb0
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021aeb0
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], rsi
lea rax, [0x14021f8b8]
mov edx, 7
mov rcx, r8
mov r8, rax
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8b8]
mov edx, 7
call fcn.14021b250
jmp 0x14002aa0e
mov qword [rbp + 0x1e8], rsi
lea r8, [0x14021f8d0]
mov rcx, r9
call fcn.14021aeb0
jmp 0x14002aa0e
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rcx, rdx
mov rdx, rbx
call fcn.14021aeb0
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrarycore_src_slice_sortunstablequicksort.rs
mov rdx, rbx
call fcn.14021aeb0
call fcn.140209b60
ud2