Function at 0x459b30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x8a8
movaps xmmword [rsp + 0x890], xmm6
mov qword [rsp + 0x108], r9
mov qword [rsp + 0x48], r8
mov rsi, rdx
mov qword [rsp + 0x208], rcx
lea rdx, [0x004a7c52]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x68], rdx
test rax, rax
lea rcx, [0x004a6aa8]
mov rdx, rax
cmove rdx, rcx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0x68]
cmove rcx, rax
mov qword [rsp + 0x68], rcx
lea rdx, [0x004a7c5c]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x90], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x90]
cmove rcx, rax
mov qword [rsp + 0x90], rcx
lea rdx, [0x004a7c6b]
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x88], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x88]
cmove rcx, rax
mov qword [rsp + 0x88], rcx
lea rdx, [0x004a7c78]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0xb0], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x50], rdx
mov rcx, qword [rsp + 0xb0]
cmove rcx, rax
mov qword [rsp + 0xb0], rcx
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwoNulError
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0xa8], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, qword [rsp + 0xa8]
cmove rcx, rax
mov qword [rsp + 0xa8], rcx
lea rdx, [0x004a7c05]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x60], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0x60]
cmove rcx, rax
mov qword [rsp + 0x60], rcx
lea rdx, [0x004a7c10]
mov r8d, 0xe
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x28], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0xd8], rdx
mov rcx, qword [rsp + 0x28]
cmove rcx, rax
mov qword [rsp + 0x28], rcx
lea rdx, [0x004a7c2d]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x38], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x80], rdx
mov rcx, qword [rsp + 0x38]
cmove rcx, rax
mov qword [rsp + 0x38], rcx
lea rdx, [0x004a7c38]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x30], rdx
test rax, rax
mov r12, rax
lea rcx, [0x004a6aa8]
cmove r12, rcx
mov rcx, qword [rsp + 0x30]
cmove rcx, rax
mov qword [rsp + 0x30], rcx
lea rdx, [0x004a7c43]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov rdi, rdx
test rax, rax
mov rbp, rax
lea rcx, [0x004a6aa8]
cmove rbp, rcx
cmove rdi, rax
lea rdx, [0x004a7c87]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff60
mov rbx, rdx
test rax, rax
mov r13, rax
lea rcx, [0x004a6aa8]
cmove r13, rcx
cmove rbx, rax
lea rdx, [0x004a7c91]
mov r8d, 0x12
mov rcx, rsi
call fcn.0045ff60
mov r15, rax
mov r14, rdx
lea rdx, [0x004a7cb2]
mov r8d, 0xc
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x78], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0x5f8], xmm0
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x528], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x530], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x538], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x540], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x548], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x550], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x558], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x560], rcx
mov qword [rsp + 0x568], r12
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x570], rcx
mov qword [rsp + 0x578], rbp
mov qword [rsp + 0x580], rdi
mov qword [rsp + 0x588], r13
mov qword [rsp + 0x590], rbx
test r15, r15
cmove r14, r15
lea rcx, [0x004a6aa8]
cmove r15, rcx
mov qword [rsp + 0x598], r15
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x5a0], r14
cmove rax, rcx
mov qword [rsp + 0x5a8], rax
mov qword [rsp + 0x5b0], rdx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x5b8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x5c0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x5c8], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x5d0], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x5d8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x5e0], rax
movabs r8, 0x8000000000000000
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x5e8], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x5f0], rax
mov qword [rsp + 0x610], 0
mov byte [rsp + 0x618], 0
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rsi]
mov al, 1
mov dword [rsp + 0xd8], eax
mov qword [rsp + 0x100], rdx
cmp rdx, r8
je 0x45a4f2
lea rdx, [0x004a7c52]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x68], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0x68]
cmove rcx, rax
mov qword [rsp + 0x68], rcx
lea rdx, [0x004a7c5c]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x90], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x90]
cmove rcx, rax
mov qword [rsp + 0x90], rcx
lea rdx, [0x004a7c6b]
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x88], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x88]
cmove rcx, rax
mov qword [rsp + 0x88], rcx
lea rdx, [0x004a7c78]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0xb0], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x50], rdx
mov rcx, qword [rsp + 0xb0]
cmove rcx, rax
mov qword [rsp + 0xb0], rcx
lea rdx, str..debug_abbrev.debug_addr.debug_aranges.debug_cu_index.debug_info.debug_line.debug_line_str.debug_loc.debug_loclists.debug_ranges.debug_rnglists.debug_str.debug_str_offsets.debug_tu_index.debug_types.debug_abbrev.dwo.debug_info.dwo.debug_line.dwo.debug_loc.dwo.debug_loclists.dwo.debug_rnglists.dwo.debug_str.dwo.debug_str_offsets.dwo.debug_types.dwoNulError
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0xa8], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0xa8]
cmove rcx, rax
mov qword [rsp + 0xa8], rcx
lea rdx, [0x004a7c05]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x60], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0xd8], rdx
mov rcx, qword [rsp + 0x60]
cmove rcx, rax
mov qword [rsp + 0x60], rcx
lea rdx, [0x004a7c10]
mov r8d, 0xe
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x28], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x80], rdx
mov rcx, qword [rsp + 0x28]
cmove rcx, rax
mov qword [rsp + 0x28], rcx
lea rdx, [0x004a7c2d]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x38], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6aa8]
cmove rdx, rcx
mov qword [rsp + 0x98], rdx
mov rcx, qword [rsp + 0x38]
cmove rcx, rax
mov qword [rsp + 0x38], rcx
lea rdx, [0x004a7c38]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff60
mov qword [rsp + 0x30], rdx
test rax, rax
mov r12, rax
lea rcx, [0x004a6aa8]
cmove r12, rcx
mov rcx, qword [rsp + 0x30]
cmove rcx, rax
mov qword [rsp + 0x30], rcx
lea rdx, [0x004a7c43]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff60
mov rdi, rdx
test rax, rax
mov rbp, rax
lea rcx, [0x004a6aa8]
cmove rbp, rcx
cmove rdi, rax
lea rdx, [0x004a7c87]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff60
mov rbx, rdx
test rax, rax
mov r13, rax
lea rcx, [0x004a6aa8]
cmove r13, rcx
cmove rbx, rax
lea rdx, [0x004a7c91]
mov r8d, 0x12
mov rcx, rsi
call fcn.0045ff60
mov r15, rax
mov r14, rdx
lea rdx, [0x004a7cb2]
mov r8d, 0xc
mov rcx, rsi
call fcn.0045ff60
xorps xmm0, xmm0
movups xmmword [rsp + 0x378], xmm0
mov qword [rsp + 0x298], 1
mov qword [rsp + 0x2a0], 1
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x2a8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x2b0], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x2b8], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x2c0], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x2c8], rcx
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x2d0], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x2d8], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x2e0], rcx
mov qword [rsp + 0x2e8], r12
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x2f0], rcx
mov qword [rsp + 0x2f8], rbp
mov qword [rsp + 0x300], rdi
mov qword [rsp + 0x308], r13
mov qword [rsp + 0x310], rbx
test r15, r15
cmove r14, r15
lea rcx, [0x004a6aa8]
cmove r15, rcx
mov qword [rsp + 0x318], r15
mov qword [rsp + 0x320], r14
test rax, rax
cmove rdx, rax
cmove rax, rcx
mov qword [rsp + 0x328], rax
mov qword [rsp + 0x330], rdx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x340], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x348], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x350], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x358], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x360], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x368], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x390], 0
mov byte [rsp + 0x398], 0
mov rax, qword [0x004c9598]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45db06
mov rsi, rax
lea rdx, [rsp + 0x298]
mov r8d, 0x108
mov rcx, rax
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0x5f8]
test rax, rax
mov rdi, qword [rsp + 0x48]
je 0x45a4c4
lock dec qword [rax]
jne 0x45a4c4
lea rcx, [rsp + 0x5f8]
call fcn.00418040
mov qword [rsp + 0x5f8], rsi
mov rdx, qword [rdi]
test rdx, rdx
je 0x45a4e7
mov rcx, qword [rdi + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404360
mov dword [rsp + 0xd8], 0
lea rcx, [rsp + 0x2a8]
lea rdx, [rsp + 0x528]
mov r8d, 0xf8
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x298], 1
mov qword [rsp + 0x2a0], 1
mov rax, qword [0x004c9598]
movzx eax, byte [rax]
mov ecx, 0x108
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45dacd
mov rsi, rax
lea rdx, [rsp + 0x298]
mov r8d, 0x108
mov rcx, rax
call sub.ntdll.dll_memcpy
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 8
mov qword [rsp + 0x148], 0
mov rax, qword [rsi + 0x30]
mov r12, qword [rsi + 0x38]
mov qword [rsp + 0x200], rax
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x230], r12
mov qword [rsp + 0x238], 0
test r12, r12
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0x118], r12
je 0x45ae40
mov r14d, 8
xor edx, edx
lea rax, [rsp + 0x298]
mov qword [rsp + 0x110], rax
lea rsi, [rsp + 0x228]
lea rdi, [rsp + 0x138]
xor ebx, ebx
jmp 0x45a62c
mov r15, rdx
mov rax, r15
shl rax, 4
mov qword [r14 + rax], r13
mov qword [r14 + rax + 8], r12
lea rdx, [r15 + 1]
mov qword [rsp + 0x148], rdx
mov r12, qword [rsp + 0x230]
test r12, r12
je 0x45a6a9
mov r15, rdx
lea rcx, [rsp + 0x298]
mov rdx, rsi
mov r8, rbx
call fcn.004209c0
cmp byte [rsp + 0x2c1], 3
je 0x45af40
sub r12, qword [rsp + 0x230]
mov rbx, r12
add rbx, qword [rsp + 0x238]
mov qword [rsp + 0x238], rbx
mov r12, qword [rsp + 0x2a8]
mov r13, qword [rsp + 0x2b8]
mov rdx, r15
cmp r15, qword [rsp + 0x138]
jne 0x45a600
mov rcx, rdi
call fcn.004187c0
mov r14, qword [rsp + 0x140]
mov r15, qword [rsp + 0x148]
jmp 0x45a603
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x38], rax
cmp rdx, 0x15
jae 0x45a6e3
cmp rdx, 1
mov rsi, qword [rsp + 0xd0]
jbe 0x45ae40
mov r8d, 1
mov rcx, qword [rsp + 0x38]
call fcn.0040fd60
jmp 0x45ae40
mov qword [rsp + 0x30], rdx
lea rdi, [rdx*8]
movabs rax, 0x8000000000000000
add rax, 0xfffffffffffffff0
and rdi, rax
mov rsi, qword [0x004c9598]
movzx eax, byte [rsi]
mov edx, 8
mov rcx, rdi
call fcn.00404350
test rax, rax
je 0x45db40
mov r13, rax
mov qword [rsp + 0xa0], rdi
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call fcn.00404350
test rax, rax
mov qword [rsp + 0x28], r13
je 0x45db4e
mov r12, rax
mov eax, 1
sub rax, r15
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x38]
lea rcx, [rax + 0x20]
mov qword [rsp + 0x98], rcx
lea rcx, [rax + 0x10]
mov qword [rsp + 0x168], rcx
add rax, 0xfffffffffffffff0
mov qword [rsp + 0x70], rax
mov eax, 0x10
mov qword [rsp + 0x50], rax
xor esi, esi
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x128], rax
xor ebp, ebp
mov r14, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
jmp 0x45a7c3
mov ebp, 1
mov rsi, qword [rsp + 0x40]
cmp rsi, rdx
jae 0x45ae0b
mov rbx, rdx
sub rbx, rsi
mov rax, rsi
shl rax, 4
mov rcx, qword [rsp + 0x38]
add rcx, rax
cmp rbx, 2
jae 0x45a860
mov r8, rbx
lea r9, [r8 + rsi]
mov rax, qword [0x004c9598]
mov rdi, r9
sub rdi, rsi
jb 0x45da1f
cmp r9, rdx
ja 0x45da1f
jae 0x45a900
cmp r8, 0xa
jae 0x45a900
lea rdi, [rsi + 0xa]
cmp rdi, rdx
cmovae rdi, rdx
cmp rsi, 0xfffffffffffffff5
ja 0x45da41
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x40], rdi
sub rdi, rsi
mov rdx, rdi
call fcn.0040fd60
mov rax, qword [0x004c9598]
mov rdx, qword [rsp + 0x30]
cmp rbp, qword [rsp + 0x50]
je 0x45a90c
jmp 0x45a96c
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x45ac90
mov r8d, 2
cmp rbx, 2
je 0x45a8c7
mov rdx, qword [rsp + 0x80]
lea r10, [rdx + rsi]
mov rdx, qword [rsp + 0x98]
lea r11, [rdx + rax]
nop word cs:[rax + rax]
mov rdi, r9
mov r9, qword [r11]
cmp r9, rdi
jae 0x45a8c2
lea rdi, [r10 + r8]
inc rdi
inc r8
add r11, 0x10
cmp rdi, 2
jne 0x45a8a0
mov r8, rbx
mov rdx, qword [rsp + 0x30]
mov r9, r8
add r9, rsi
jb 0x45daa6
cmp r9, rdx
ja 0x45da8d
cmp r8, 2
jae 0x45acec
mov r8d, 1
jmp 0x45a7e9
mov qword [rsp + 0x40], r9
cmp rbp, qword [rsp + 0x50]
jne 0x45a96c
lea rcx, [rbp*2]
mov qword [rsp + 0x50], rcx
mov rcx, rbp
shl rcx, 5
movzx eax, byte [rax]
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45da55
mov rbx, rax
mov r14, rbp
shl r14, 4
mov rcx, rax
mov rdx, r12
mov r8, r14
call sub.ntdll.dll_memcpy
mov r8d, 8
mov rcx, r12
mov rdx, r14
call fcn.00404360
mov r12, rbx
mov r14, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
mov rax, rbp
shl rax, 4
mov qword [r12 + rax], rdi
mov qword [r12 + rax + 8], rsi
inc rbp
cmp rbp, 2
jb 0x45a7b5
mov qword [rsp + 0x58], r12
jmp 0x45aa0e
mov r13, qword [rsp + 0x28]
mov rdx, r13
mov rax, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
add r14, rax
add rbp, rax
sub r12, rdx
mov rcx, rdi
mov r8, r12
mov r12, rax
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0xa8]
add rax, r15
mov qword [rbp], rax
mov rax, qword [rsp + 0xb0]
mov qword [rbp + 8], rax
lea rdx, [r14 + 0x10]
mov rax, qword [rsp + 0x90]
not rax
add rsi, rax
shl rsi, 4
mov rcx, r14
mov r8, rsi
call sub.ntdll.dll_memmove
mov rbp, qword [rsp + 0x68]
cmp rbp, 1
mov r14, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x30]
jbe 0x45a7b0
mov rsi, rbp
lea r11, [rbp - 1]
mov rcx, r11
shl rcx, 4
mov rax, qword [r12 + rcx]
mov rcx, qword [r12 + rcx + 8]
add rcx, rax
cmp rcx, rdx
je 0x45aa80
mov r10, rsi
shl r10, 4
mov r8, qword [r10 + r12 - 0x20]
cmp r8, rax
jbe 0x45aa80
cmp rsi, 2
je 0x45ad19
lea rdi, [rsi - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x45aa95
cmp rsi, 3
jbe 0x45adf9
add r8, rcx
cmp qword [r10 + r12 - 0x40], r8
jbe 0x45aa95
jmp 0x45ae03
cmp rsi, 2
je 0x45aa9a
lea rdi, [rsi - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x45aa9e
lea rdi, [rsi - 2]
mov qword [rsp + 0x68], r11
cmp rsi, rdi
jbe 0x45d910
lea rbp, [rdi + 1]
cmp rsi, rbp
jbe 0x45d8f3
mov r8, rdi
shl r8, 4
mov rcx, qword [r12 + r8 + 8]
shl rbp, 4
mov rax, qword [r12 + rbp]
mov rbx, qword [r12 + rbp + 8]
add rbx, rax
mov r13, rbx
sub r13, rcx
jb 0x45d957
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], rsi
cmp rbx, rdx
ja 0x45d975
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x60], r8
mov r15, qword [r12 + r8]
mov qword [rsp + 0xb0], rcx
mov rdi, rcx
shl rdi, 4
add rdi, qword [rsp + 0x38]
mov r12, r15
shl r12, 4
lea r14, [rdi + r12]
shl rbx, 4
mov rsi, r13
sub rsi, r15
cmp rsi, r15
jae 0x45abe0
mov r12, rsi
shl r12, 4
mov r13, qword [rsp + 0x28]
mov rcx, r13
mov rdx, r14
mov r8, r12
call sub.ntdll.dll_memcpy
add r12, r13
test r15, r15
jle 0x45ac70
test rsi, rsi
jle 0x45ac70
add rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x88]
nop dword [rax]
mov rax, r14
mov rcx, r12
mov rdx, qword [r12 - 0x10]
mov r8, qword [r14 - 0x10]
cmp rdx, r8
mov r14d, 0
sbb r14, r14
cmp rdx, r8
mov r12d, 0
adc r12, 0xffffffffffffffff
shl r14, 4
add r14, rax
shl r12, 4
add r12, rcx
cmp rdx, r8
mov rax, r12
cmovb rax, r14
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
cmp r14, rdi
jbe 0x45abd4
add rbx, 0xfffffffffffffff0
cmp r12, r13
ja 0x45ab80
mov rdi, r14
jmp 0x45a995
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
mov rdx, rdi
mov r8, r12
call sub.ntdll.dll_memcpy
add r12, rsi
test r15, r15
jle 0x45ac75
cmp r13, r15
mov rsi, qword [rsp + 0x88]
jle 0x45a990
add rbx, qword [rsp + 0x38]
mov r13, qword [rsp + 0x28]
mov rdx, r13
nop dword [rax]
mov r8, rdx
mov rcx, qword [r14]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r14
movups xmm0, xmmword [r9]
movups xmmword [rdi], xmm0
add rdi, 0x10
shl edx, 4
add rdx, r8
cmp rdx, r12
jae 0x45a998
mov al, cl
shl eax, 4
add r14, rax
cmp r14, rbx
jb 0x45ac20
jmp 0x45a998
mov rdi, r14
jmp 0x45ac7a
mov r13, qword [rsp + 0x28]
mov rdx, r13
mov rsi, qword [rsp + 0x88]
jmp 0x45a998
mov r8d, 2
cmp rbx, 2
je 0x45a7e5
mov rdx, qword [rsp + 0x80]
lea r10, [rdx + rsi]
add rax, qword [rsp + 0x98]
nop word cs:[rax + rax]
mov r11, r9
mov r9, qword [rax]
cmp r9, r11
jb 0x45ad23
lea r11, [r10 + r8]
inc r11
inc r8
add rax, 0x10
cmp r11, 2
jne 0x45acc0
mov r8, rbx
mov rdx, qword [rsp + 0x30]
jmp 0x45a7e5
mov qword [rsp + 0x40], r9
mov rdx, r8
shr rdx, 1
mov r9, r8
shl r9, 4
add r9, rcx
mov r10, rdx
shl r10, 4
sub r9, r10
cmp rdx, 1
jne 0x45ad2d
xor r10d, r10d
jmp 0x45adac
mov ebp, 2
jmp 0x45a7b5
mov rdx, qword [rsp + 0x30]
jmp 0x45a7e5
movabs r10, 0x8000000000000000
lea r11, [r10 - 2]
and r11, rdx
add rax, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x40]
shl rdi, 4
add rdi, qword [rsp + 0x70]
xor r10d, r10d
movabs r15, 0xffffffffffffffe
nop word cs:[rax + rax]
movups xmm0, xmmword [rax - 0x10]
movups xmm1, xmmword [rdi]
movups xmmword [rax - 0x10], xmm1
movups xmmword [rdi], xmm0
mov rbx, r10
xor rbx, r15
add rbx, rdx
shl rbx, 4
movups xmm0, xmmword [rax]
movups xmm1, xmmword [r9 + rbx]
movups xmmword [rax], xmm1
movups xmmword [r9 + rbx], xmm0
add r10, 2
add rax, 0x20
add rdi, 0xffffffffffffffe0
cmp r11, r10
jne 0x45ad70
test r8b, 2
je 0x45add7
mov rax, r10
not rax
add rdx, rax
shl r10, 4
shl rdx, 4
movups xmm0, xmmword [rcx + r10]
movups xmm1, xmmword [r9 + rdx]
movups xmmword [rcx + r10], xmm1
movups xmmword [r9 + rdx], xmm0
mov rax, qword [0x004c9598]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov rdi, r9
sub rdi, rsi
jae 0x45a7fc
jmp 0x45da1f
mov ebp, 3
jmp 0x45a7b5
mov rbp, rsi
jmp 0x45a7b5
mov rdx, qword [rsp + 0x50]
shl rdx, 4
mov r8d, 8
mov rcx, r12
call fcn.00404360
mov r8d, 8
mov rcx, r13
mov rdx, qword [rsp + 0xa0]
call fcn.00404360
mov rsi, qword [rsp + 0xd0]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 8
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 8
mov qword [rsp + 0xf0], 0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
lea rcx, [rsp + 0x298]
lea rdx, [rsp + 0x150]
call fcn.0041ca60
mov rax, qword [rsp + 0x298]
cmp rax, 3
jne 0x45afce
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
inc rbx
mov rcx, rsi
nop dword [rax]
cmp rbx, 1
je 0x45aefa
lea rdi, [rcx + 0x218]
dec rbx
call fcn.0040cfd0
mov rcx, rdi
jmp 0x45aee0
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x45af1c
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404360
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x45af40
mov rcx, qword [rsp + 0xc0]
shl rdx, 5
mov r8d, 8
call fcn.00404360
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x45af64
mov rcx, qword [rsp + 0x140]
shl rdx, 4
mov r8d, 8
call fcn.00404360
mov r13, qword [rsp + 0x130]
lock dec qword [r13]
jne 0x45af80
lea rcx, [rsp + 0x130]
call fcn.00418040
mov rax, qword [rsp + 0x208]
movabs rsi, 0x8000000000000000
mov qword [rax], rsi
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rcx]
lea rax, [rdx*2]
test rax, rax
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
jne 0x45b043
cmp qword [rsp + 0x100], rsi
jne 0x45b083
jmp 0x45b060
mov rcx, qword [rsp + 0xd0]
mov rbp, rcx
add rbp, 0x10
lea r12, [rsp + 0x2b0]
lea r14, [rsp + 0x630]
mov rdx, qword [rcx + 0xd0]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rcx + 0xd8]
mov qword [rsp + 0x90], rdx
movzx edx, byte [rcx + 0x100]
mov byte [rsp + 0xa8], dl
mov rdx, qword [rcx + 0x20]
mov qword [rsp + 0x88], rdx
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x68], rcx
lea r15, [rsp + 0x298]
lea rbx, [rsp + 0x150]
jmp 0x45b10d
mov rcx, qword [rcx + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404360
cmp qword [rsp + 0x100], rsi
jne 0x45b083
mov rdx, qword [r14]
lea rax, [rdx*2]
test rax, rax
je 0x45b083
mov rcx, qword [r14 + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404360
mov rdx, qword [rdi]
test rdx, rdx
je 0x45b09e
mov rcx, qword [rdi + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404360
movaps xmm6, xmmword [rsp + 0x890]
add rsp, 0x8a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
imul rcx, rsi, 0x218
add rcx, qword [rsp + 0xe8]
mov r8d, 0x218
mov rdx, r15
call sub.ntdll.dll_memcpy
inc rsi
mov qword [rsp + 0xf0], rsi
nop word cs:[rax + rax]
mov rcx, r15
mov rdx, rbx
call fcn.0041ca60
mov rax, qword [rsp + 0x298]
cmp rax, 3
je 0x45aec7
mov rdi, qword [rsp + 0x2a0]
mov r8, qword [rsp + 0x2a8]
mov rdx, qword [r12 + 0x30]
mov qword [rsp + 0x650], rdx
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movaps xmmword [rsp + 0x640], xmm2
movaps xmmword [rsp + 0x630], xmm1
movaps xmmword [rsp + 0x620], xmm0
movaps xmmword [rsp + 0x870], xmm0
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x4b0], xmm0
movaps xmmword [rsp + 0x4c0], xmm1
mov rdx, qword [r14 + 0x20]
mov qword [rsp + 0x4d0], rdx
cmp rax, 2
je 0x45c477
test rax, rax
jne 0x45b0f0
mov rax, r8
or rax, 4
cmp rax, 5
je 0x45b0f0
mov rcx, r15
mov rsi, qword [rsp + 0xf0]
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x1c0], r8
movaps xmm0, xmmword [rsp + 0x870]
lea rdx, [rsp + 0x1c8]
movups xmmword [rdx], xmm0
mov rax, qword [rsp + 0x4d0]
mov qword [rdx + 0x30], rax
movaps xmm0, xmmword [rsp + 0x4b0]
movaps xmm1, xmmword [rsp + 0x4c0]
movups xmmword [rdx + 0x20], xmm1
movups xmmword [rdx + 0x10], xmm0
mov rdx, rbp
lea r8, [rsp + 0x1b0]
call fcn.0041d2e0
cmp dword [rsp + 0x298], 2
je 0x45b0f0
mov r8d, 0x1a8
lea r12, [rsp + 0x620]
mov rcx, r12
mov rdx, r15
call sub.ntdll.dll_memcpy
mov rdx, qword [rsp + 0x778]
lea rax, [rdx + 0x10]
mov r8, qword [rsp + 0x648]
mov r9, qword [rsp + 0x650]
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x1b8], r9
mov qword [rsp + 0x1c0], r12
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1d0], 0
test r9, r9
je case.0x45bfeb.3
mov r10d, 1
sub r10, r9
lea r11, [r8 + 1]
xor eax, eax
xor ecx, ecx
nop dword [rax + rax]
movzx r13d, byte [r11 - 1]
cmp ecx, 0x3f
jne 0x45b2b4
cmp r13b, 2
jae 0x45c4b1
movzx r12d, r13b
mov r13d, r12d
and r13d, 0x7f
shl r13, cl
or rax, r13
test r12b, r12b
jns 0x45b2de
add ecx, 7
inc r10
inc r11
cmp r10, 1
jne 0x45b2a0
jmp 0x45c4d4
mov qword [rsp + 0x1b0], r11
neg r10
mov qword [rsp + 0x1b8], r10
test rax, rax
lea r12, [rsp + 0x2b0]
jne 0x45b3c0
lock dec qword [rdx]
jne 0x45b315
lea rcx, [rsp + 0x778]
call fcn.00418120
cmp dword [rsp + 0x680], 0x2f
je 0x45b0f0
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x45b347
mov rcx, qword [rsp + 0x6c8]
shl rdx, 2
mov r8d, 2
call fcn.00404360
mov rax, qword [rsp + 0x6d8]
test rax, rax
je 0x45b36f
mov rcx, qword [rsp + 0x6e0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404360
mov rdx, qword [rsp + 0x6f0]
test rdx, rdx
je 0x45b393
mov rcx, qword [rsp + 0x6f8]
shl rdx, 2
mov r8d, 2
call fcn.00404360
mov rdx, qword [rsp + 0x708]
test rdx, rdx
je 0x45b0f0
mov rcx, qword [rsp + 0x710]
shl rdx, 6
mov r8d, 8
call fcn.00404360
jmp 0x45b0f0
lea rcx, [rax - 1]
cmp rcx, qword [rdx + 0x20]
jae 0x45b3d7
imul rcx, rcx, 0x70
add rcx, qword [rdx + 0x18]
jmp 0x45b45d
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je case.0x45bfeb.3
mov rdx, qword [rdx + 0x30]
movzx r10d, word [rcx + 0x532]
imul r11, r10, 0x70
mov r8, 0xffffffffffffffff
xor r9d, r9d
mov r12, r11
add r12, r9
je 0x45b437
xor r13d, r13d
cmp qword [rcx + r8*8 + 0x4e0], rax
setne r13b
mov r12d, 0xff
cmova r13d, r12d
inc r8
add r9, 0xffffffffffffff90
cmp r13b, 1
je 0x45b3fe
movzx r10d, r13b
test r10d, r10d
jne 0x45b43a
jmp 0x45b44e
mov r8, r10
sub rdx, 1
jb case.0x45bfeb.3
mov rcx, qword [rcx + r8*8 + 0x538]
jmp 0x45b3e8
sub rcx, r9
add rcx, 0xffffffffffffff90
lea r12, [rsp + 0x2b0]
cmp byte [rcx + 0x6a], 1
jne 0x45b46f
mov qword [rsp + 0x1d0], 1
call fcn.0046b430
mov qword [rsp + 0x60], rax
test rdx, rdx
je 0x45bb00
mov eax, dword [rsp + 0x668]
mov rcx, qword [rsp + 0x7c0]
mov r8, qword [rsp + 0x90]
sub r8, rcx
mov qword [rsp + 0x250], r8
mov r8d, eax
and r8d, 0xff00
mov dword [rsp + 0x214], r8d
xor r13d, r13d
cmp word [rsp + 0x66a], 5
mov r8d, 0
cmovb r8, rcx
movzx eax, ah
mov qword [rsp + 0x248], rax
cmp byte [rsp + 0xa8], 0
cmove r8, r13
mov qword [rsp + 0x258], r8
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x98], rcx
add rax, rcx
mov qword [rsp + 0x218], rax
movzx eax, byte [rsp + 0x668]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x7b0]
mov rax, qword [rsp + 0x68]
sub rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x110], rcx
add rax, rcx
mov qword [rsp + 0x168], rax
shl rdx, 4
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x128], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
mov rax, qword [rsp + 0x60]
movups xmm0, xmmword [rax + r13]
movaps xmmword [rsp + 0x880], xmm0
mov rax, qword [rsp + 0x1c0]
mov r8d, dword [rax + 0x48]
mov rcx, r15
lea rdx, [rsp + 0x1b0]
lea r9, [rsp + 0x880]
call fcn.0041a760
mov rax, qword [rsp + 0x298]
cmp rax, 0x2e
je case.0x45bfeb.3
mov rcx, qword [rsp + 0x2b0]
movups xmm0, xmmword [rsp + 0x2a0]
movups xmmword [rsp + 0x178], xmm0
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x188], rcx
movzx eax, cx
cmp eax, 0x12
jg 0x45b6b9
cmp eax, 0x11
je 0x45b75a
cmp eax, 0x12
jne 0x45b9d4
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c0b0
mov rax, qword [rsp + 0x298]
test rax, rax
je 0x45b8b6
cmp eax, 7
je 0x45b894
cmp eax, 0xc
jne 0x45b9d4
mov rax, qword [rsp + 0x110]
cmp qword [rsp + 0x68], rax
jb case.0x45bfeb.3
mov rax, qword [rsp + 0x2a0]
imul rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
jb case.0x45bfeb.3
mov rdx, qword [rsp + 0x58]
dec edx
cmp edx, 7
ja case.0x45bfeb.3
mov r8, qword [rsp + 0x168]
add r8, rax
mov qword [rsp + 0xa0], r8
lea r8, [0x004a6a08]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rsp + 0x80], rax
je case.0x45bfeb.3
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax]
jmp 0x45b990
cmp eax, 0x13
je 0x45b801
cmp eax, 0x55
jne 0x45b9d4
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c0b0
mov rcx, qword [rsp + 0x298]
mov rax, qword [rsp + 0x2a0]
cmp rcx, 0x16
je 0x45b84d
cmp ecx, 0x18
jne 0x45b888
mov rcx, qword [rsp + 0x98]
cmp qword [rsp + 0x90], rcx
jb case.0x45bfeb.3
imul rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x250]
sub rcx, rax
jb case.0x45bfeb.3
cmp dword [rsp + 0x214], 0x800
jne 0x45b8d5
cmp rcx, 7
jbe case.0x45bfeb.3
mov rcx, qword [rsp + 0x218]
mov rax, qword [rcx + rax]
jmp 0x45b8ea
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c0b0
mov rax, qword [rsp + 0x298]
test rax, rax
je 0x45b86c
cmp eax, 0xc
jne 0x45b9d4
mov rax, qword [rsp + 0x110]
cmp qword [rsp + 0x68], rax
jb case.0x45bfeb.3
mov rax, qword [rsp + 0x2a0]
imul rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
jb case.0x45bfeb.3
mov rdx, qword [rsp + 0x58]
dec edx
cmp edx, 7
ja case.0x45bfeb.3
mov r8, qword [rsp + 0x168]
add r8, rax
mov qword [rsp + 0x40], r8
lea r8, [0x004a6a28]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rsp + 0x80], rax
je case.0x45bfeb.3
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
jmp 0x45b930
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c0b0
mov rax, qword [rsp + 0x298]
cmp rax, 0x26
mov ecx, 1
mov rdx, qword [rsp + 0x38]
cmove edx, ecx
mov qword [rsp + 0x38], rdx
cmp eax, 0x26
jne 0x45b9d4
movzx eax, word [rsp + 0x2a0]
mov word [rsp + 0x126], ax
jmp 0x45b9d4
add rax, qword [rsp + 0x258]
mov ecx, 1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x220], rax
jmp 0x45b9d4
mov eax, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x40], rax
jmp 0x45b9d4
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x45b9d4
mov eax, 1
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x240], rax
jmp 0x45b9d4
mov eax, 1
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0xa0], rax
jmp 0x45b9d4
cmp rcx, 3
jbe case.0x45bfeb.3
mov rcx, qword [rsp + 0x218]
mov eax, dword [rcx + rax]
mov rdx, qword [rsp + 0x28]
add rax, qword [rsp + 0x98]
mov qword [rsp + 0x220], rax
mov eax, 1
mov qword [rsp + 0x30], rax
jmp 0x45b9d9
cmp rcx, 1
jbe 0x45b95a
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
jmp 0x45b951
cmp rcx, 8
jb case.0x45bfeb.3
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x45b9d4
cmp rcx, 3
jbe 0x45b95a
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov qword [rsp + 0x40], rax
mov al, 1
jmp 0x45b95c
xor eax, eax
mov ecx, 1
mov qword [rsp + 0x70], rcx
jmp 0x45b9cc
cmp rcx, 1
jbe 0x45b9c0
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
jmp 0x45b9b4
cmp rcx, 8
jb case.0x45bfeb.3
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov eax, 1
mov qword [rsp + 0x50], rax
jmp 0x45b9d4
cmp rcx, 3
jbe 0x45b9c0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax]
mov qword [rsp + 0xa0], rax
mov al, 1
jmp 0x45b9c2
xor eax, eax
mov ecx, 1
mov qword [rsp + 0x50], rcx
test al, al
je case.0x45bfeb.3
mov rdx, qword [rsp + 0x28]
add r13, 0x10
cmp rdx, r13
jne 0x45b575
cmp qword [rsp + 0x30], 0
je 0x45bb1f
mov eax, dword [rsp + 0x668]
mov ecx, eax
shr ecx, 0x10
xor edx, edx
cmp cx, 5
setae dl
shl edx, 4
mov r9, qword [rsp + 0xd0]
mov rdx, qword [r9 + rdx + 0xc8]
mov r10, qword [rsp + 0x220]
sub rdx, r10
jb case.0x45bfeb.3
xor r8d, r8d
cmp cx, 5
setae r8b
shl r8d, 4
mov r8, qword [r9 + r8 + 0xc0]
add r8, r10
cmp cx, 5
mov r9, qword [rsp + 0x7a0]
mov r10, qword [rsp + 0x7b0]
setae byte [rsp + 0x2cc]
mov r11, qword [rsp + 0x88]
mov qword [rsp + 0x298], r11
mov r11, qword [rsp + 0x68]
mov qword [rsp + 0x2a0], r11
mov qword [rsp + 0x2a8], r9
mov qword [rsp + 0x2b0], r10
mov qword [rsp + 0x2b8], r8
mov qword [rsp + 0x2c0], rdx
mov word [rsp + 0x2c8], ax
mov word [rsp + 0x2ca], cx
lea rcx, [rsp + 0x170]
mov rdx, r15
call fcn.00420c60
mov rax, qword [rsp + 0x170]
cmp rax, 2
jne 0x45c1a5
mov rcx, qword [rsp + 0x178]
cmp cl, 0x4b
jne case.0x45bfeb.3
mov rax, rcx
shr eax, 8
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c28f
jmp 0x45c3c3
xor eax, eax
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x50], rax
xor eax, eax
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x148]
test rax, rax
je 0x45bb70
mov r13, qword [rsp + 0x140]
mov rcx, rax
xor r8d, r8d
mov r9, rax
shr rcx, 1
lea rdx, [rcx + r8]
mov r10, rdx
shl r10, 4
mov r10, qword [r13 + r10]
cmp r10, rdi
je 0x45bc11
lea rcx, [rdx + 1]
cmp r10, rdi
cmova r9, rdx
cmovb r8, rcx
mov rcx, r9
sub rcx, r8
ja 0x45bb3d
cmp qword [rsp + 0x70], 0
je 0x45c18a
cmp qword [rsp + 0x50], 0
je 0x45c12d
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x40], rax
jae 0x45c18a
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45bbc2
lea rcx, [rsp + 0xb8]
call fcn.004189f0
mov rdx, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xc0]
mov rcx, rdx
shl rcx, 5
mov r8, qword [rsp + 0x40]
mov qword [rax + rcx], r8
mov qword [rax + rcx + 8], r13
mov qword [rax + rcx + 0x10], rsi
mov qword [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x1b0], 0
jmp 0x45c3c3
add rcx, r8
shl rcx, 4
add rcx, r13
mov r8, rdx
mov r9, rcx
sub rdx, 1
jb 0x45bc31
lea rcx, [r9 - 0x10]
cmp qword [r9 - 0x10], rdi
je 0x45bc1b
cmp rax, r8
je 0x45c18a
shl rax, 4
add r13, rax
xor eax, eax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], rax
cmp qword [r9], rdi
jne 0x45c3aa
mov qword [rsp + 0x30], r9
mov r8, qword [r9 + 8]
mov rax, qword [rsp + 0x118]
sub rax, r8
jb case.0x45bfeb.3
mov rcx, qword [rsp + 0x200]
add rcx, r8
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.004209c0
cmp byte [rsp + 0x2c1], 3
je case.0x45bfeb.3
mov r8, qword [rsp + 0x2a0]
test r8, r8
je 0x45c111
mov r10, qword [rsp + 0x298]
movzx r11d, byte [rsp + 0x2c0]
movzx ecx, byte [rsp + 0x2c4]
lea eax, [r11 + r11]
add al, cl
movzx eax, al
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x28], rcx
test ecx, ecx
je 0x45bfa7
mov r9, qword [rsp + 0x58]
jmp 0x45bd0e
xor ecx, ecx
mov r13, r10
test cl, cl
je case.0x45bfeb.3
or rax, r13
or rax, rdx
jne 0x45be88
cmp r8, r9
jb 0x45c10c
mov rax, qword [rsp + 0x28]
dec eax
cmp eax, 7
ja case.0x45bfeb.3
lea rcx, [0x004a6a48]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test r8, r8
je case.0x45bfeb.3
dec r8
movzx eax, byte [r10]
inc r10
jmp 0x45bd9b
cmp r8, 1
jbe 0x45bd8e
add r8, 0xfffffffffffffffe
movzx eax, word [r10]
add r10, 2
mov cl, 1
jmp 0x45bd93
cmp r8, 8
jb case.0x45bfeb.3
add r8, 0xfffffffffffffff8
mov rax, qword [r10]
add r10, 8
jmp 0x45bd9b
cmp r8, 3
jbe 0x45bd8e
add r8, 0xfffffffffffffffc
mov eax, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45bd93
xor ecx, ecx
mov rax, r10
test cl, cl
je case.0x45bfeb.3
lea ecx, [r11 - 1]
cmp ecx, 7
ja case.0x45bfeb.3
lea rdx, [0x004a6a68]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r8, 2
jb case.0x45bfeb.3
movzx edx, byte [r10]
add r8, 0xfffffffffffffffe
movzx r13d, byte [r10 + 1]
add r10, 2
jmp 0x45bd02
cmp r8, 1
jbe 0x45be32
add r8, 0xfffffffffffffffe
movzx edx, word [r10]
add r10, 2
mov cl, 1
jmp 0x45be37
cmp r8, 8
jb case.0x45bfeb.3
mov rcx, r8
and rcx, 0xfffffffffffffff8
cmp rcx, 8
je case.0x45bfeb.3
mov rdx, qword [r10]
mov r13, qword [r10 + 8]
add r8, 0xfffffffffffffff0
add r10, 0x10
jmp 0x45bd02
cmp r8, 3
jbe 0x45be32
add r8, 0xfffffffffffffffc
mov edx, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45be37
xor ecx, ecx
mov rdx, r10
test cl, cl
je case.0x45bfeb.3
cmp r11d, 4
je 0x45be6c
cmp r11d, 2
jne case.0x45bfeb.3
cmp r8, 1
jbe 0x45bcf5
add r8, 0xfffffffffffffffe
movzx r13d, word [r10]
add r10, 2
mov cl, 1
jmp 0x45bcfa
cmp r8, 3
jbe 0x45bcf5
add r8, 0xfffffffffffffffc
mov r13d, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45bcfa
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], r8
test r13, r13
je 0x45bf07
mov r12, rdx
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45becc
lea rcx, [rsp + 0xb8]
call fcn.004189f0
mov rdx, qword [rsp + 0xc8]
add r13, r12
mov rax, qword [rsp + 0xc0]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r12
mov qword [rax + rcx + 8], r13
mov qword [rax + rcx + 0x10], rsi
mov qword [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0xc8], rdx
mov al, 1
mov qword [rsp + 0x60], rax
mov r8, qword [rsp + 0x98]
test r8, r8
lea r12, [rsp + 0x2b0]
mov r13, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x80]
jne 0x45bcee
jmp 0x45c116
add r13, r12
mov rax, qword [rsp + 0xc0]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r12
mov qword [rax + rcx + 8], r13
mov qword [rax + rcx + 0x10], rsi
mov qword [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0xc8], rdx
mov al, 1
mov qword [rsp + 0x60], rax
mov r8, qword [rsp + 0x98]
test r8, r8
lea r12, [rsp + 0x2b0]
mov r13, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x80]
je 0x45c116
mov rdx, qword [rsp + 0x58]
jmp 0x45bfc7
xor eax, eax
mov r13, r10
test al, al
je case.0x45bfeb.3
mov rax, rcx
or rax, r13
jne 0x45c0bb
cmp r8, rdx
jb 0x45c10c
lea eax, [r11 - 1]
cmp eax, 7
ja case.0x45bfeb.3
lea rcx, [0x004a6a88]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp r8, 2
jb case.0x45bfeb.3
movzx ecx, byte [r10]
add r8, 0xfffffffffffffffe
movzx r13d, byte [r10 + 1]
add r10, 2
jmp 0x45bfbb
cmp r8, 1
jbe 0x45c062
add r8, 0xfffffffffffffffe
movzx ecx, word [r10]
add r10, 2
jmp 0x45c05e
cmp r8, 8
jb case.0x45bfeb.3
mov rax, r8
and rax, 0xfffffffffffffff8
cmp rax, 8
je case.0x45bfeb.3
mov rcx, qword [r10]
mov r13, qword [r10 + 8]
add r8, 0xfffffffffffffff0
add r10, 0x10
jmp 0x45bfbb
cmp r8, 3
jbe 0x45c062
add r8, 0xfffffffffffffffc
mov ecx, dword [r10]
add r10, 4
mov al, 1
jmp 0x45c067
xor eax, eax
mov rcx, r10
test al, al
je case.0x45bfeb.3
cmp r11d, 2
je 0x45c096
cmp r11d, 4
jne case.0x45bfeb.3
cmp r8, 3
jbe 0x45bfae
add r8, 0xfffffffffffffffc
mov r13d, dword [r10]
add r10, 4
jmp 0x45c0ac
cmp r8, 1
jbe 0x45bfae
add r8, 0xfffffffffffffffe
movzx r13d, word [r10]
add r10, 2
mov al, 1
test al, al
jne 0x45bfbb
jmp case.0x45bfeb.3
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], r8
test r13, r13
je 0x45bf77
mov r12, rcx
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45bf3c
lea rcx, [rsp + 0xb8]
call fcn.004189f0
mov rdx, qword [rsp + 0xc8]
jmp 0x45bf3c
mov r13, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
add r9, 0x10
cmp r9, r13
mov rax, qword [rsp + 0x60]
jne 0x45bc48
jmp 0x45c27b
cmp qword [rsp + 0x128], 0
je 0x45c18a
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x40]
lea r13, [rax + rcx]
cmp rcx, r13
jae 0x45c279
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c39d
lea rcx, [rsp + 0xb8]
call fcn.004189f0
lea r12, [rsp + 0x2b0]
mov rdx, qword [rsp + 0xc8]
jmp 0x45bbca
xor eax, eax
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c28f
jmp 0x45c3c3
xor ecx, ecx
mov qword [rsp + 0x60], rcx
jmp 0x45c215
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov r8, qword [rsp + 0x60]
mov qword [rax + rcx + 8], r8
mov qword [rax + rcx + 0x10], rsi
mov qword [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0xc8], rdx
mov al, 1
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x170]
mov rdx, r15
call fcn.00420c60
mov rax, qword [rsp + 0x170]
cmp rax, 2
je 0x45bad0
cmp rax, 1
jne 0x45c25d
mov r13, qword [rsp + 0x178]
mov rax, qword [rsp + 0x180]
cmp r13, rax
jae 0x45c1f3
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c1b6
lea rcx, [rsp + 0xb8]
call fcn.004189f0
jmp 0x45c1ae
mov rax, qword [rsp + 0x60]
and al, 1
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c28f
jmp 0x45c3c3
xor eax, eax
mov qword [rsp + 0x1b0], 0
test al, 1
jne 0x45c3c3
cmp qword [rsp + 0x680], 0x2f
je 0x45c3c3
mov r13, r15
mov rcx, r15
lea rdx, [rsp + 0x680]
call fcn.00421f30
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x620]
mov r8, r13
mov r9, rbp
call fcn.00426c40
mov qword [rsp + 0x1b0], 1
movups xmm0, xmmword [rsp + 0x170]
movups xmm1, xmmword [rsp + 0x180]
lea rax, [rsp + 0x1b8]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax], xmm0
cmp qword [rsp + 0x1b8], 0
je 0x45c3c3
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x45c3c3
mov rcx, qword [rsp + 0x1c8]
mov qword [rsp + 0x60], rcx
mov rdx, qword [rsp + 0xc8]
shl rax, 5
mov qword [rsp + 0x28], rax
xor r13d, r13d
jmp 0x45c379
mov rdx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xc0]
mov rcx, rdx
shl rcx, 5
movups xmmword [rax + rcx], xmm6
mov qword [rax + rcx + 0x10], rsi
mov qword [rax + rcx + 0x18], 0
inc rdx
mov qword [rsp + 0xc8], rdx
add r13, 0x20
cmp qword [rsp + 0x28], r13
je 0x45c3c3
mov rax, qword [rsp + 0x60]
movups xmm6, xmmword [rax + r13 + 0x10]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c342
lea rcx, [rsp + 0xb8]
call fcn.004189f0
jmp 0x45c33a
lea r12, [rsp + 0x2b0]
jmp 0x45bbca
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c28f
mov r8d, 0x1a8
mov rcx, r15
lea rdx, [rsp + 0x620]
call sub.ntdll.dll_memcpy
movups xmm0, xmmword [rsp + 0x1b0]
movups xmm1, xmmword [rsp + 0x1c0]
movups xmmword [r12 + 0x198], xmm0
movups xmmword [r12 + 0x1a8], xmm1
mov rax, qword [rsp + 0x1d0]
mov qword [r12 + 0x1b8], rax
mov qword [rsp + 0x440], rdi
mov rax, qword [rsp + 0x38]
mov word [rsp + 0x4a8], ax
movzx eax, word [rsp + 0x126]
mov word [rsp + 0x4aa], ax
mov qword [rsp + 0x470], 0
mov byte [rsp + 0x498], 0x4c
mov rsi, qword [rsp + 0xf0]
cmp rsi, qword [rsp + 0xe0]
jne 0x45b0ba
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.00418930
mov rsi, qword [rsp + 0xf0]
jmp 0x45b0ba
mov rdi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
cmp r12, 0x15
jae 0x45c5b1
cmp r12, 1
jbe 0x45cc5a
mov r8d, 1
mov rcx, rdi
mov rdx, r12
call fcn.00410030
jmp 0x45cc5f
mov qword [rsp + 0x1b0], r11
neg r10
mov qword [rsp + 0x1b8], r10
mov rax, qword [rsp + 0x778]
lock dec qword [rax]
jne 0x45c506
jmp 0x45c4f9
add r8, r9
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x1b8], 0
mov rax, qword [rsp + 0x778]
lock dec qword [rax]
jne 0x45c506
lea rcx, [rsp + 0x778]
call fcn.00418120
cmp dword [rsp + 0x680], 0x2f
je 0x45aec7
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x45c538
mov rcx, qword [rsp + 0x6c8]
shl rdx, 2
mov r8d, 2
call fcn.00404360
mov rax, qword [rsp + 0x6d8]
test rax, rax
je 0x45c560
mov rcx, qword [rsp + 0x6e0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404360
mov rdx, qword [rsp + 0x6f0]
test rdx, rdx
je 0x45c584
mov rcx, qword [rsp + 0x6f8]
shl rdx, 2
mov r8d, 2
call fcn.00404360
mov rdx, qword [rsp + 0x708]
test rdx, rdx
je 0x45aec7
mov rcx, qword [rsp + 0x710]
shl rdx, 6
mov r8d, 8
call fcn.00404360
jmp 0x45aec7
mov qword [rsp + 0x200], r15
mov rax, r12
shl rax, 4
movabs rcx, 0x8000000000000000
add rcx, 0xffffffffffffffe0
and rcx, rax
mov rsi, qword [0x004c9598]
movzx eax, byte [rsi]
mov edx, 8
mov qword [rsp + 0x118], rcx
call fcn.00404350
test rax, rax
je 0x45db5c
mov rbp, rax
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call fcn.00404350
test rax, rax
mov qword [rsp + 0x28], rbp
je 0x45db6a
mov r15, rax
lea rax, [rdi + 0x40]
mov qword [rsp + 0xd0], rax
lea rax, [rdi + 0x10]
mov qword [rsp + 0x80], rax
lea rax, [rdi - 0x10]
mov qword [rsp + 0x98], rax
lea rax, [rdi - 0x20]
mov qword [rsp + 0x70], rax
mov eax, 0x10
mov qword [rsp + 0x40], rax
xor r10d, r10d
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x110], rax
xor r13d, r13d
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], r12
jmp 0x45c68e
mov rdi, qword [rsp + 0x38]
cmp r10, r12
jae 0x45cc1d
mov rbx, r10
mov r9, r12
sub r9, r10
mov rax, r10
shl rax, 5
lea rcx, [rdi + rax]
cmp r9, 2
jae 0x45cab0
mov r8, r9
lea r10, [r8 + rbx]
mov rsi, r10
sub rsi, rbx
mov rax, qword [0x004c9598]
jb 0x45da70
cmp r10, r12
ja 0x45da70
jae 0x45c70f
cmp r8, 0xa
jae 0x45c70f
lea rax, [rbx + 0xa]
cmp rax, r12
cmovae rax, r12
cmp rbx, 0xfffffffffffffff5
ja 0x45dae1
cmp r8, 1
adc r8, 0
mov rsi, rax
sub rsi, rbx
mov rdx, rsi
mov rdi, rax
call fcn.00410030
mov r10, rdi
mov rax, qword [0x004c9598]
cmp r13, qword [rsp + 0x40]
jne 0x45c77c
mov qword [rsp + 0x68], rbx
mov rdi, r10
lea rcx, [r13*2]
mov qword [rsp + 0x40], rcx
mov rcx, r13
shl rcx, 5
movzx eax, byte [rax]
mov edx, 8
call fcn.00404350
test rax, rax
je 0x45daf8
mov rbx, rax
mov r14, r13
shl r14, 4
mov rcx, rax
mov rdx, r15
mov r8, r14
call sub.ntdll.dll_memcpy
mov r8d, 8
mov rcx, r15
mov rdx, r14
call fcn.00404360
mov r15, rbx
mov r10, rdi
mov rbx, qword [rsp + 0x68]
mov rax, r13
shl rax, 4
mov qword [r15 + rax], rsi
mov qword [r15 + rax + 8], rbx
inc r13
cmp r13, 2
jb 0x45c680
mov qword [rsp + 0x50], r10
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x30], r15
jmp 0x45c824
mov rbp, qword [rsp + 0x28]
mov rdx, rbp
mov r15, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
add rsi, r15
add r14, r15
sub r12, rdx
mov rcx, rbx
mov r8, r12
call sub.ntdll.dll_memcpy
mov rax, qword [rsp + 0xa8]
add rax, r13
mov qword [r14], rax
mov rax, qword [rsp + 0xb0]
mov qword [r14 + 8], rax
lea rdx, [rsi + 0x10]
mov rax, qword [rsp + 0x90]
not rax
mov r8, qword [rsp + 0x88]
add r8, rax
shl r8, 4
mov rcx, rsi
call sub.ntdll.dll_memmove
mov r13, qword [rsp + 0x68]
cmp r13, 1
mov r12, qword [rsp + 0x58]
jbe 0x45cb80
mov r11, r13
lea r10, [r13 - 1]
mov rcx, r10
shl rcx, 4
mov rax, qword [r15 + rcx]
mov rcx, qword [r15 + rcx + 8]
add rcx, rax
cmp rcx, r12
je 0x45c890
mov rdx, r11
shl rdx, 4
mov r8, qword [rdx + r15 - 0x20]
cmp r8, rax
jbe 0x45c890
cmp r11, 2
je 0x45cbe0
lea rbx, [r11 - 3]
mov rcx, rbx
shl rcx, 4
mov rcx, qword [r15 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x45c8a5
cmp r11, 3
jbe 0x45cbf6
add r8, rcx
cmp qword [rdx + r15 - 0x40], r8
jbe 0x45c8a5
jmp 0x45cc0c
cmp r11, 2
je 0x45c8aa
lea rbx, [r11 - 3]
mov rcx, rbx
shl rcx, 4
mov rcx, qword [r15 + rcx]
cmp rcx, rax
jb 0x45c8ae
lea rbx, [r11 - 2]
cmp r11, rbx
jbe 0x45d9b0
mov qword [rsp + 0x68], r10
lea r14, [rbx + 1]
cmp r11, r14
jbe 0x45d998
mov rdx, rbx
shl rdx, 4
mov rcx, qword [r15 + rdx + 8]
shl r14, 4
mov rax, qword [r15 + r14]
mov rsi, qword [r15 + r14 + 8]
add rsi, rax
mov rbp, rsi
sub rbp, rcx
jb 0x45d9f2
mov qword [rsp + 0x90], rbx
cmp rsi, r12
ja 0x45da06
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x88], r11
mov qword [rsp + 0x60], rdx
mov r13, qword [r15 + rdx]
mov qword [rsp + 0xb0], rcx
mov rbx, rcx
shl rbx, 5
add rbx, rdi
mov r12, r13
shl r12, 5
lea r15, [rbx + r12]
shl rsi, 5
mov rdi, rbp
sub rdi, r13
cmp rdi, r13
jae 0x45ca00
mov r12, rdi
shl r12, 5
mov rbp, qword [rsp + 0x28]
mov rcx, rbp
mov rdx, r15
mov r8, r12
call sub.ntdll.dll_memcpy
add r12, rbp
test r13, r13
jle 0x45ca90
test rdi, rdi
jle 0x45ca90
add rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x38]
nop word cs:[rax + rax]
mov rax, r15
mov rcx, r12
mov rdx, qword [r12 - 0x20]
mov r8, qword [r15 - 0x20]
cmp rdx, r8
mov r15d, 0
sbb r15, r15
cmp rdx, r8
mov r12d, 0
adc r12, 0xffffffffffffffff
shl r15, 5
add r15, rax
shl r12, 5
add r12, rcx
cmp rdx, r8
mov rax, r12
cmovb rax, r15
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
cmp r15, rbx
jbe 0x45c9ec
add rsi, 0xffffffffffffffe0
cmp r12, rbp
ja 0x45c990
mov rbx, r15
jmp 0x45c7af
mov rdi, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, rbx
mov r8, r12
call sub.ntdll.dll_memcpy
add r12, rdi
test r13, r13
jle 0x45ca95
cmp rbp, r13
mov rdi, qword [rsp + 0x38]
jle 0x45c7aa
add rsi, rdi
mov rbp, qword [rsp + 0x28]
mov rdx, rbp
nop word cs:[rax + rax]
mov r8, rdx
mov rcx, qword [r15]
xor edx, edx
xor eax, eax
cmp rcx, qword [r8]
setae dl
setb cl
mov r9, r8
cmovb r9, r15
movups xmm0, xmmword [r9]
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
add rbx, 0x20
shl edx, 5
add rdx, r8
cmp rdx, r12
jae 0x45c7b2
mov al, cl
shl eax, 5
add r15, rax
cmp r15, rsi
jb 0x45ca40
jmp 0x45c7b2
mov rbx, r15
jmp 0x45ca9a
mov rbp, qword [rsp + 0x28]
mov rdx, rbp
mov rdi, qword [rsp + 0x38]
jmp 0x45c7b2
mov r10, qword [rcx + 0x20]
cmp r10, qword [rcx]
jae 0x45cba0
mov edx, 2
cmp r9, 2
je 0x45cafa
mov rdx, qword [rsp + 0xd0]
lea r8, [rdx + rax]
mov edx, 2
nop dword [rax]
mov r11, r10
mov r10, qword [r8]
cmp r10, r11
jae 0x45cafa
inc rdx
add r8, 0x20
cmp r9, rdx
jne 0x45cae0
mov rdx, r9
mov r10, rdx
add r10, rbx
jb 0x45db2b
cmp r10, r12
ja 0x45db17
mov r8d, 1
cmp rdx, 2
jb 0x45c6b3
mov r8, rdx
shr r8, 1
add rax, qword [rsp + 0x80]
mov r9, r10
shl r9, 5
add r9, qword [rsp + 0x98]
nop dword [rax]
movups xmm0, xmmword [rax - 0x10]
movups xmm1, xmmword [r9 - 0x10]
movups xmmword [rax - 0x10], xmm1
movups xmmword [r9 - 0x10], xmm0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [r9]
movups xmmword [rax], xmm1
movups xmmword [r9], xmm0
add rax, 0x20
add r9, 0xffffffffffffffe0
dec r8
jne 0x45cb40
mov r8, rdx
jmp 0x45c6b3
mov r13d, 1
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c68e
jmp 0x45cc1d
mov r8d, 2
cmp r9, 2
je 0x45c6af
add rax, qword [rsp + 0xd0]
nop dword [rax + rax]
mov rdx, r10
mov r10, qword [rax]
cmp r10, rdx
jb 0x45c6af
inc r8
add rax, 0x20
cmp r9, r8
jne 0x45cbc0
jmp 0x45c6ac
mov r13d, 2
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c68e
jmp 0x45cc1d
mov r13d, 3
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c68e
jmp 0x45cc1d
mov r13, r11
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c68e
mov rdx, qword [rsp + 0x40]
shl rdx, 4
mov r8d, 8
mov rcx, r15
call fcn.00404360
mov r8d, 8
mov rcx, rbp
mov rdx, qword [rsp + 0x118]
call fcn.00404360
mov rdi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
test r12, r12
je 0x45cc92
mov rax, r12
shl rax, 5
add rax, rdi
xor ecx, ecx
mov rdx, rdi
nop
mov r8, qword [rdx + 8]
cmp rcx, r8
cmovbe rcx, r8
mov qword [rdx + 0x18], rcx
lea r8, [rdx + 0x20]
mov rdx, r8
cmp r8, rax
jne 0x45cc70
mov qword [rsp + 0x38], rdi
jmp 0x45cc9a
mov qword [rsp + 0x38], rdi
xor r12d, r12d
mov rdi, qword [rsp + 0xb8]
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x510], xmm0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x520], rax
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x45cce6
mov rcx, qword [rsp + 0x140]
shl rdx, 4
mov r8d, 8
call fcn.00404360
mov r13, qword [rsp + 0x130]
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x45af6c
mov rax, qword [rsp + 0x520]
mov qword [rsp + 0xf0], rax
movaps xmm0, xmmword [rsp + 0x510]
movaps xmmword [rsp + 0xe0], xmm0
mov rbx, qword [r13 + 0xe0]
test rbx, rbx
mov qword [rsp + 0x58], r12
je 0x45ce21
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 8
mov qword [rsp + 0x180], 0
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rsp + 0x4b0], xmm0
mov qword [rsp + 0x4c0], 0
lea rcx, [rsp + 0x298]
lea rdx, [rsp + 0x4b0]
call fcn.0041ca60
mov rax, qword [rsp + 0x298]
cmp rax, 3
jne 0x45ceb6
lea rcx, [rsp + 0x170]
call fcn.0040d5a0
mov rsi, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf0]
inc r14
mov rcx, rsi
nop dword [rax]
cmp r14, 1
je 0x45cdda
lea rbx, [rcx + 0x218]
dec r14
call fcn.0040cfd0
mov rcx, rbx
jmp 0x45cdc0
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x45cdfc
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404360
test rdi, rdi
je 0x45af6c
shl rdi, 5
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.00404360
jmp 0x45af6c
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 8
mov r14d, 8
xor r15d, r15d
xor esi, esi
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x298], r13
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x68], rax
cmp rdi, r12
jbe 0x45d063
mov rbx, rdi
shl rbx, 5
mov r12, qword [rsp + 0x58]
test r12, r12
je 0x45d046
shl r12, 5
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r9, r12
call fcn.00404370
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x45d063
mov ecx, 8
mov rdx, r12
call fcn.0047c6e0
jmp 0x45db76
add rbx, 0x10
mov r14d, 8
xor esi, esi
lea r15, [rsp + 0x620]
lea r12, [rsp + 0x298]
lea rbp, [rsp + 0x4b0]
jmp 0x45cf03
cmp rax, 2
je 0x45d011
mov rcx, r12
mov rdx, rbp
call fcn.0041ca60
mov rax, qword [rsp + 0x298]
cmp rax, 3
je 0x45cd99
movups xmm6, xmmword [rsp + 0x2a0]
lea rdx, [rsp + 0x2b0]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x1b0], xmm0
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1d0], xmm2
mov rcx, qword [rdx + 0x30]
mov qword [rsp + 0x1e0], rcx
test rax, rax
jne 0x45cedc
mov qword [rsp + 0x298], 0
movups xmmword [rsp + 0x2a0], xmm6
mov rax, qword [rsp + 0x1e0]
mov qword [rdx + 0x30], rax
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov rcx, r15
mov rdx, rbx
mov r8, r12
call fcn.0041d2e0
cmp dword [rsp + 0x620], 2
je 0x45cee6
mov r8d, 0x1a8
mov rcx, r12
mov rdx, r15
call sub.ntdll.dll_memcpy
movlps qword [rsp + 0x440], xmm6
cmp rsi, qword [rsp + 0x170]
jne 0x45cfe9
lea rcx, [rsp + 0x170]
mov rdx, rsi
call fcn.00418d80
mov r14, qword [rsp + 0x178]
mov rsi, qword [rsp + 0x180]
imul rcx, rsi, 0x1b0
add rcx, r14
mov r8d, 0x1b0
mov rdx, r12
call sub.ntdll.dll_memcpy
inc rsi
mov qword [rsp + 0x180], rsi
jmp 0x45cee6
mov r15, qword [rsp + 0x170]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x45cda6
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], r14
mov r12, qword [rsp + 0x58]
jmp 0x45ce44
mov eax, 8
mov qword [rsp + 0x68], rax
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.00404360
mov rax, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
cmp rax, rbx
jbe 0x45d0d2
imul rdx, rax, 0x218
test rbx, rbx
je 0x45d0be
imul rbp, rbx, 0x218
mov r8d, 8
mov rcx, r12
mov r9, rbp
call fcn.00404370
mov r12, rax
test rax, rax
jne 0x45d0d2
mov ecx, 8
mov rdx, rbp
call fcn.0047c6e0
jmp 0x45db76
mov r8d, 8
mov rcx, r12
call fcn.00404360
mov r12d, 8
cmp r15, rsi
jbe 0x45d129
imul rdx, r15, 0x1b0
test rsi, rsi
je 0x45d115
imul rbp, rsi, 0x1b0
mov r8d, 8
mov rcx, r14
mov r9, rbp
call fcn.00404370
mov r14, rax
test rax, rax
jne 0x45d129
mov ecx, 8
mov rdx, rbp
call fcn.0047c6e0
jmp 0x45db76
mov r8d, 8
mov rcx, r14
call fcn.00404360
mov r14d, 8
test r13, r13
je 0x45af80
mov qword [rsp + 0x260], r13
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x278], r12
mov qword [rsp + 0x280], rbx
mov qword [rsp + 0x288], r14
mov qword [rsp + 0x290], rsi
mov rcx, qword [rsp + 0x108]
mov rsi, qword [rcx]
movabs rax, 0x8000000000000000
cmp rsi, rax
jne 0x45d392
mov dil, 0x16
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0x50]
mov rdx, qword [rsp + 0x208]
mov qword [rdx + 0x50], rax
movups xmm0, xmmword [rcx + 0x40]
movups xmm1, xmmword [rcx]
movups xmm2, xmmword [rcx + 0x10]
movups xmm3, xmmword [rcx + 0x20]
movups xmm4, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x40], xmm0
movups xmmword [rdx + 0x30], xmm4
movups xmmword [rdx + 0x20], xmm3
movups xmmword [rdx + 0x10], xmm2
movups xmmword [rdx], xmm1
mov byte [rdx + 0x58], dil
movaps xmm0, xmmword [rsp + 0x810]
movups xmmword [rdx + 0x99], xmm0
mov rax, qword [rsp + 0x81f]
mov qword [rdx + 0xa8], rax
movaps xmm0, xmmword [rsp + 0x7d0]
movaps xmm1, xmmword [rsp + 0x7e0]
movaps xmm2, xmmword [rsp + 0x7f0]
movaps xmm3, xmmword [rsp + 0x800]
movups xmmword [rdx + 0x59], xmm0
movups xmmword [rdx + 0x69], xmm1
movups xmmword [rdx + 0x79], xmm2
movups xmmword [rdx + 0x89], xmm3
mov byte [rdx + 0xb0], r8b
mov rax, qword [rsp + 0x4ff]
mov qword [rdx + 0xc0], rax
movaps xmm0, xmmword [rsp + 0x4f0]
movups xmmword [rdx + 0xb1], xmm0
movaps xmm0, xmmword [rsp + 0x830]
movaps xmm1, xmmword [rsp + 0x840]
movaps xmm2, xmmword [rsp + 0x850]
movaps xmm3, xmmword [rsp + 0x860]
movups xmmword [rdx + 0xc8], xmm0
movups xmmword [rdx + 0xd8], xmm1
movups xmmword [rdx + 0xe8], xmm2
movups xmmword [rdx + 0xf8], xmm3
mov rax, qword [rsp + 0x88]
mov qword [rdx + 0x108], rax
mov qword [rdx + 0x110], r10
mov qword [rdx + 0x118], r11
mov rax, qword [rsp + 0x68]
mov qword [rdx + 0x120], rax
mov qword [rdx + 0x128], r12
mov rax, qword [rsp + 0x90]
mov qword [rdx + 0x130], rax
mov qword [rdx + 0x138], rbp
mov rax, qword [rsp + 0x28]
mov qword [rdx + 0x140], rax
mov qword [rdx + 0x148], r15
mov qword [rdx + 0x150], r14
mov rax, qword [rsp + 0xb0]
mov qword [rdx + 0x158], rax
mov qword [rdx + 0x160], r9
mov rax, qword [rsp + 0xa8]
mov qword [rdx + 0x168], rax
mov qword [rdx + 0x170], rsi
mov rax, qword [rsp + 0x60]
mov qword [rdx + 0x178], rax
mov qword [rdx + 0x180], rbx
mov rax, qword [rsp + 0x38]
mov qword [rdx + 0x188], rax
mov qword [rdx + 0x190], r13
lea rax, [0x004a6aa8]
mov qword [rdx + 0x198], rax
mov qword [rdx + 0x1a0], 0
mov rax, qword [rsp + 0x290]
mov qword [rdx + 0x1d8], rax
movups xmm0, xmmword [rsp + 0x260]
movups xmm1, xmmword [rsp + 0x270]
movups xmm2, xmmword [rsp + 0x280]
movups xmmword [rdx + 0x1c8], xmm2
movups xmmword [rdx + 0x1b8], xmm1
movups xmmword [rdx + 0x1a8], xmm0
jmp 0x45b09e
lea rdx, [0x004a7c1e]
mov r8d, 0xf
call fcn.0045ff60
lea rdi, [0x004a6aa8]
mov r8, rdx
test rax, rax
cmove r8, rax
cmove rax, rdi
lea rcx, [rsp + 0x298]
mov rdx, rax
call fcn.0041fd40
movzx r15d, byte [rsp + 0x298]
cmp r15b, 0x16
je 0x45d480
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0xef], rax
movups xmm0, xmmword [rsp + 0x299]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x1b0], xmm0
movups xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x1d0], xmm0
movups xmm0, xmmword [rsp + 0x2e0]
movaps xmmword [rsp + 0x1e0], xmm0
lea rdx, [0x004a7ca3]
mov r8d, 0xf
mov rcx, qword [rsp + 0x108]
call fcn.0045ff60
mov r8, rdx
test rax, rax
cmove r8, rax
cmove rax, rdi
lea rcx, [rsp + 0x298]
mov rdx, rax
call fcn.0041fd40
movzx eax, byte [rsp + 0x298]
cmp al, 0x16
jne 0x45d4ec
mov rax, qword [rsp + 0x208]
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
test rsi, rsi
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
je 0x45d4c2
mov rax, qword [rsp + 0x108]
mov rcx, qword [rax + 8]
shl rsi, 4
mov r8d, 8
mov rdx, rsi
call fcn.00404360
lea rcx, [rsp + 0x260]
call fcn.0040ceb0
movabs rsi, 0x8000000000000000
cmp qword [rsp + 0x100], rsi
je 0x45b060
jmp 0x45b083
mov r12, rdi
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0x2a8]
mov qword [rsp + 0x15f], rax
movups xmm0, xmmword [rsp + 0x299]
movaps xmmword [rsp + 0x150], xmm0
movups xmm0, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x180], xmm0
movups xmm0, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x190], xmm0
movups xmm0, xmmword [rsp + 0x2e0]
movaps xmmword [rsp + 0x1a0], xmm0
lea rdx, [0x004a7cbe]
mov r8d, 0x11
mov r14, qword [rsp + 0x108]
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x30], rdx
test rax, rax
mov rcx, qword [rsp + 0x30]
cmove rcx, rax
mov qword [rsp + 0x30], rcx
cmove rax, r12
mov qword [rsp + 0x88], rax
lea rdx, [0x004a7ccf]
mov r8d, 0xf
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x68], rdx
test rax, rax
mov rcx, qword [rsp + 0x68]
cmove rcx, rax
mov qword [rsp + 0x68], rcx
cmove rax, r12
mov qword [rsp + 0x50], rax
lea rdx, [0x004a7cde]
mov r8d, 0xf
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x90], rdx
test rax, rax
mov rcx, qword [rsp + 0x90]
cmove rcx, rax
mov qword [rsp + 0x90], rcx
cmove rax, r12
mov qword [rsp + 0x100], rax
lea rdx, [0x004a7d21]
mov r8d, 0xe
mov rcx, r14
call fcn.0045ff60
mov rbx, rax
mov rbp, rdx
test rax, rax
cmove rbp, rax
cmove rbx, r12
lea rdx, [0x004a7d2f]
mov r8d, 0x16
mov rcx, r14
call fcn.0045ff60
mov r13, rax
mov rdi, rdx
test rax, rax
cmove rdi, rax
cmove r13, r12
lea rdx, [0x004a7ced]
mov r8d, 0xe
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x58], rdx
test rax, rax
mov rcx, qword [rsp + 0x58]
cmove rcx, rax
mov qword [rsp + 0x58], rcx
cmove rax, r12
mov qword [rsp + 0xb0], rax
lea rdx, [0x004a7cfb]
mov r8d, 0x13
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x70], rdx
test rax, rax
mov rcx, qword [rsp + 0x70]
cmove rcx, rax
mov qword [rsp + 0x70], rcx
cmove rax, r12
mov qword [rsp + 0xa8], rax
lea rdx, [0x004a7d0e]
mov r8d, 0x13
mov rcx, r14
call fcn.0045ff60
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xd0], rdx
cmove rax, r12
mov qword [rsp + 0x60], rax
lea rdx, [0x004a7d45]
mov r8d, 0x10
mov rcx, r14
call fcn.0045ff60
mov qword [rsp + 0x98], rdi
mov byte [rsp + 0x80], r15b
mov qword [rsp + 0xd8], r13
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x48], rbx
test rax, rax
cmove rdx, rax
mov qword [rsp + 0x118], rdx
cmove rax, r12
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x1b0]
movaps xmm1, xmmword [rsp + 0x1c0]
movaps xmm2, xmmword [rsp + 0x1d0]
movaps xmm3, xmmword [rsp + 0x1e0]
movaps xmmword [rsp + 0x4e0], xmm3
movaps xmmword [rsp + 0x4d0], xmm2
movaps xmmword [rsp + 0x4c0], xmm1
movaps xmmword [rsp + 0x4b0], xmm0
movaps xmm4, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x620], xmm4
mov rax, qword [rsp + 0xef]
mov qword [rsp + 0x62f], rax
movups xmmword [rsp + 0x637], xmm0
movups xmmword [rsp + 0x647], xmm1
movups xmmword [rsp + 0x657], xmm2
movups xmmword [rsp + 0x667], xmm3
mov rax, qword [rsp + 0x15f]
mov qword [rsp + 0x4ff], rax
movaps xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x4f0], xmm0
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movaps xmm3, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x860], xmm3
movaps xmmword [rsp + 0x850], xmm2
movaps xmmword [rsp + 0x840], xmm1
movaps xmmword [rsp + 0x830], xmm0
mov rax, qword [rsp + 0x66f]
mov qword [rsp + 0x81f], rax
movaps xmm0, xmmword [rsp + 0x660]
movaps xmmword [rsp + 0x810], xmm0
movaps xmm0, xmmword [rsp + 0x620]
movaps xmm1, xmmword [rsp + 0x630]
movaps xmm2, xmmword [rsp + 0x640]
movaps xmm3, xmmword [rsp + 0x650]
movaps xmmword [rsp + 0x800], xmm3
movaps xmmword [rsp + 0x7f0], xmm2
movaps xmmword [rsp + 0x7e0], xmm1
movaps xmmword [rsp + 0x7d0], xmm0
test rsi, rsi
je 0x45d89f
mov rax, qword [rsp + 0x108]
mov rcx, qword [rax + 8]
shl rsi, 4
mov r8d, 8
mov rdx, rsi
call fcn.00404360
movzx r8d, byte [rsp + 0x40]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
mov r12, qword [rsp + 0x100]
mov rbp, qword [rsp + 0x48]
mov r15, qword [rsp + 0xd8]
movzx edi, byte [rsp + 0x80]
mov r14, qword [rsp + 0x98]
mov r9, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x118]
jmp 0x45d195
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x298], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov r13, qword [rsp + 0x28]
jmp 0x45d926
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x298], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x110]
mov qword [rcx + 8], 1
lea rax, [0x004a6aa8]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
mov rdi, qword [rsp + 0x78]
call fcn.0048b9e0
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdx, rbx
mov rdi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x28]
call fcn.00492120
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, rbx
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x28]
call fcn.00492090
jmp 0x45db76
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x298], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
jmp 0x45d9c6
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x298], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, qword [rsp + 0x200]
mov qword [rcx + 8], 1
lea rax, [0x004a6aa8]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call fcn.0048b9e0
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdx, rsi
call fcn.00492120
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
call fcn.00492090
jmp 0x45db76
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov edx, 0x2c
mov rdi, qword [rsp + 0x78]
call fcn.0048ba90
jmp 0x45db76
mov rdx, rdi
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x128], rax
jmp 0x45daa9
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
call fcn.0048b790
jmp 0x45db76
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.0048ba90
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, r9
mov rdi, qword [rsp + 0x78]
call fcn.00492090
jmp 0x45db76
mov rdx, r9
mov rcx, rsi
mov r8, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x28]
call fcn.00492120
jmp 0x45db76
mov ecx, 8
mov edx, 0x108
call fcn.0047c6e0
jmp 0x45db76
mov rcx, rbx
mov rdx, rax
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x110], rax
jmp 0x45db31
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b790
jmp 0x45db76
mov ecx, 8
mov edx, 0x108
call fcn.0047c6e0
jmp 0x45db76
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, r10
mov rdx, r12
call fcn.00492090
jmp 0x45db76
mov rcx, rbx
mov rdx, r10
mov r8, qword [rsp + 0x110]
call fcn.00492120
jmp 0x45db76
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b790
jmp 0x45db76
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b790
jmp 0x45db76
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b790
jmp 0x45db76
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b790
ud2