Function at 0x459b10
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, [0x004a7c42]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x68], rdx
test rax, rax
lea rcx, [0x004a6a98]
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, [0x004a7c4c]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x90], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x90]
cmove rcx, rax
mov qword [rsp + 0x90], rcx
lea rdx, [0x004a7c5b]
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x88], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x88]
cmove rcx, rax
mov qword [rsp + 0x88], rcx
lea rdx, [0x004a7c68]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0xb0], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
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.0045ff40
mov qword [rsp + 0xa8], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x100], rdx
mov rcx, qword [rsp + 0xa8]
cmove rcx, rax
mov qword [rsp + 0xa8], rcx
lea rdx, [0x004a7bf5]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x60], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0x60]
cmove rcx, rax
mov qword [rsp + 0x60], rcx
lea rdx, [0x004a7c00]
mov r8d, 0xe
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x28], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0xd8], rdx
mov rcx, qword [rsp + 0x28]
cmove rcx, rax
mov qword [rsp + 0x28], rcx
lea rdx, [0x004a7c1d]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x38], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x80], rdx
mov rcx, qword [rsp + 0x38]
cmove rcx, rax
mov qword [rsp + 0x38], rcx
lea rdx, [0x004a7c28]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x30], rdx
test rax, rax
mov r12, rax
lea rcx, [0x004a6a98]
cmove r12, rcx
mov rcx, qword [rsp + 0x30]
cmove rcx, rax
mov qword [rsp + 0x30], rcx
lea rdx, [0x004a7c33]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov rdi, rdx
test rax, rax
mov rbp, rax
lea rcx, [0x004a6a98]
cmove rbp, rcx
cmove rdi, rax
lea rdx, [0x004a7c77]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff40
mov rbx, rdx
test rax, rax
mov r13, rax
lea rcx, [0x004a6a98]
cmove r13, rcx
cmove rbx, rax
lea rdx, [0x004a7c81]
mov r8d, 0x12
mov rcx, rsi
call fcn.0045ff40
mov r15, rax
mov r14, rdx
lea rdx, [0x004a7ca2]
mov r8d, 0xc
mov rcx, rsi
call fcn.0045ff40
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, [0x004a6a98]
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 0x45a4d2
lea rdx, [0x004a7c42]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x68], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x58], rdx
mov rcx, qword [rsp + 0x68]
cmove rcx, rax
mov qword [rsp + 0x68], rcx
lea rdx, [0x004a7c4c]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x90], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x70], rdx
mov rcx, qword [rsp + 0x90]
cmove rcx, rax
mov qword [rsp + 0x90], rcx
lea rdx, [0x004a7c5b]
mov r8d, 0xd
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x88], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x40], rdx
mov rcx, qword [rsp + 0x88]
cmove rcx, rax
mov qword [rsp + 0x88], rcx
lea rdx, [0x004a7c68]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0xb0], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
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.0045ff40
mov qword [rsp + 0xa8], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0xd0], rdx
mov rcx, qword [rsp + 0xa8]
cmove rcx, rax
mov qword [rsp + 0xa8], rcx
lea rdx, [0x004a7bf5]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x60], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0xd8], rdx
mov rcx, qword [rsp + 0x60]
cmove rcx, rax
mov qword [rsp + 0x60], rcx
lea rdx, [0x004a7c00]
mov r8d, 0xe
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x28], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x80], rdx
mov rcx, qword [rsp + 0x28]
cmove rcx, rax
mov qword [rsp + 0x28], rcx
lea rdx, [0x004a7c1d]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x38], rdx
test rax, rax
mov rdx, rax
lea rcx, [0x004a6a98]
cmove rdx, rcx
mov qword [rsp + 0x98], rdx
mov rcx, qword [rsp + 0x38]
cmove rcx, rax
mov qword [rsp + 0x38], rcx
lea rdx, [0x004a7c28]
mov r8d, 0xb
mov rcx, rsi
call fcn.0045ff40
mov qword [rsp + 0x30], rdx
test rax, rax
mov r12, rax
lea rcx, [0x004a6a98]
cmove r12, rcx
mov rcx, qword [rsp + 0x30]
cmove rcx, rax
mov qword [rsp + 0x30], rcx
lea rdx, [0x004a7c33]
mov r8d, 0xf
mov rcx, rsi
call fcn.0045ff40
mov rdi, rdx
test rax, rax
mov rbp, rax
lea rcx, [0x004a6a98]
cmove rbp, rcx
cmove rdi, rax
lea rdx, [0x004a7c77]
mov r8d, 0xa
mov rcx, rsi
call fcn.0045ff40
mov rbx, rdx
test rax, rax
mov r13, rax
lea rcx, [0x004a6a98]
cmove r13, rcx
cmove rbx, rax
lea rdx, [0x004a7c81]
mov r8d, 0x12
mov rcx, rsi
call fcn.0045ff40
mov r15, rax
mov r14, rdx
lea rdx, [0x004a7ca2]
mov r8d, 0xc
mov rcx, rsi
call fcn.0045ff40
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, [0x004a6a98]
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.00404330
test rax, rax
je 0x45dae6
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 0x45a4a4
lock dec qword [rax]
jne 0x45a4a4
lea rcx, [rsp + 0x5f8]
call fcn.00418020
mov qword [rsp + 0x5f8], rsi
mov rdx, qword [rdi]
test rdx, rdx
je 0x45a4c7
mov rcx, qword [rdi + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404340
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.00404330
test rax, rax
je 0x45daad
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 0x45ae20
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 0x45a60c
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 0x45a689
mov r15, rdx
lea rcx, [rsp + 0x298]
mov rdx, rsi
mov r8, rbx
call fcn.004209a0
cmp byte [rsp + 0x2c1], 3
je 0x45af20
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 0x45a5e0
mov rcx, rdi
call fcn.004187a0
mov r14, qword [rsp + 0x140]
mov r15, qword [rsp + 0x148]
jmp 0x45a5e3
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x38], rax
cmp rdx, 0x15
jae 0x45a6c3
cmp rdx, 1
mov rsi, qword [rsp + 0xd0]
jbe 0x45ae20
mov r8d, 1
mov rcx, qword [rsp + 0x38]
call fcn.0040fd40
jmp 0x45ae20
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.00404330
test rax, rax
je 0x45db20
mov r13, rax
mov qword [rsp + 0xa0], rdi
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call fcn.00404330
test rax, rax
mov qword [rsp + 0x28], r13
je 0x45db2e
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 0x45a7a3
mov ebp, 1
mov rsi, qword [rsp + 0x40]
cmp rsi, rdx
jae 0x45adeb
mov rbx, rdx
sub rbx, rsi
mov rax, rsi
shl rax, 4
mov rcx, qword [rsp + 0x38]
add rcx, rax
cmp rbx, 2
jae 0x45a840
mov r8, rbx
lea r9, [r8 + rsi]
mov rax, qword [0x004c9598]
mov rdi, r9
sub rdi, rsi
jb 0x45d9ff
cmp r9, rdx
ja 0x45d9ff
jae 0x45a8e0
cmp r8, 0xa
jae 0x45a8e0
lea rdi, [rsi + 0xa]
cmp rdi, rdx
cmovae rdi, rdx
cmp rsi, 0xfffffffffffffff5
ja 0x45da21
cmp r8, 1
adc r8, 0
mov qword [rsp + 0x40], rdi
sub rdi, rsi
mov rdx, rdi
call fcn.0040fd40
mov rax, qword [0x004c9598]
mov rdx, qword [rsp + 0x30]
cmp rbp, qword [rsp + 0x50]
je 0x45a8ec
jmp 0x45a94c
mov r9, qword [rcx + 0x10]
cmp r9, qword [rcx]
jae 0x45ac70
mov r8d, 2
cmp rbx, 2
je 0x45a8a7
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 0x45a8a2
lea rdi, [r10 + r8]
inc rdi
inc r8
add r11, 0x10
cmp rdi, 2
jne 0x45a880
mov r8, rbx
mov rdx, qword [rsp + 0x30]
mov r9, r8
add r9, rsi
jb 0x45da86
cmp r9, rdx
ja 0x45da6d
cmp r8, 2
jae 0x45accc
mov r8d, 1
jmp 0x45a7c9
mov qword [rsp + 0x40], r9
cmp rbp, qword [rsp + 0x50]
jne 0x45a94c
lea rcx, [rbp*2]
mov qword [rsp + 0x50], rcx
mov rcx, rbp
shl rcx, 5
movzx eax, byte [rax]
mov edx, 8
call fcn.00404330
test rax, rax
je 0x45da35
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.00404340
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 0x45a795
mov qword [rsp + 0x58], r12
jmp 0x45a9ee
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 0x45a790
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 0x45aa60
mov r10, rsi
shl r10, 4
mov r8, qword [r10 + r12 - 0x20]
cmp r8, rax
jbe 0x45aa60
cmp rsi, 2
je 0x45acf9
lea rdi, [rsi - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x45aa75
cmp rsi, 3
jbe 0x45add9
add r8, rcx
cmp qword [r10 + r12 - 0x40], r8
jbe 0x45aa75
jmp 0x45ade3
cmp rsi, 2
je 0x45aa7a
lea rdi, [rsi - 3]
mov rcx, rdi
shl rcx, 4
mov rcx, qword [r12 + rcx]
cmp rcx, rax
jb 0x45aa7e
lea rdi, [rsi - 2]
mov qword [rsp + 0x68], r11
cmp rsi, rdi
jbe 0x45d8f0
lea rbp, [rdi + 1]
cmp rsi, rbp
jbe 0x45d8d3
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 0x45d937
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x88], rsi
cmp rbx, rdx
ja 0x45d955
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 0x45abc0
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 0x45ac50
test rsi, rsi
jle 0x45ac50
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 0x45abb4
add rbx, 0xfffffffffffffff0
cmp r12, r13
ja 0x45ab60
mov rdi, r14
jmp 0x45a975
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 0x45ac55
cmp r13, r15
mov rsi, qword [rsp + 0x88]
jle 0x45a970
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 0x45a978
mov al, cl
shl eax, 4
add r14, rax
cmp r14, rbx
jb 0x45ac00
jmp 0x45a978
mov rdi, r14
jmp 0x45ac5a
mov r13, qword [rsp + 0x28]
mov rdx, r13
mov rsi, qword [rsp + 0x88]
jmp 0x45a978
mov r8d, 2
cmp rbx, 2
je 0x45a7c5
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 0x45ad03
lea r11, [r10 + r8]
inc r11
inc r8
add rax, 0x10
cmp r11, 2
jne 0x45aca0
mov r8, rbx
mov rdx, qword [rsp + 0x30]
jmp 0x45a7c5
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 0x45ad0d
xor r10d, r10d
jmp 0x45ad8c
mov ebp, 2
jmp 0x45a795
mov rdx, qword [rsp + 0x30]
jmp 0x45a7c5
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 0x45ad50
test r8b, 2
je 0x45adb7
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 0x45a7dc
jmp 0x45d9ff
mov ebp, 3
jmp 0x45a795
mov rbp, rsi
jmp 0x45a795
mov rdx, qword [rsp + 0x50]
shl rdx, 4
mov r8d, 8
mov rcx, r12
call fcn.00404340
mov r8d, 8
mov rcx, r13
mov rdx, qword [rsp + 0xa0]
call fcn.00404340
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.0041ca40
mov rax, qword [rsp + 0x298]
cmp rax, 3
jne 0x45afae
mov rsi, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
inc rbx
mov rcx, rsi
nop dword [rax]
cmp rbx, 1
je 0x45aeda
lea rdi, [rcx + 0x218]
dec rbx
call fcn.0040cfb0
mov rcx, rdi
jmp 0x45aec0
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x45aefc
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404340
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
je 0x45af20
mov rcx, qword [rsp + 0xc0]
shl rdx, 5
mov r8d, 8
call fcn.00404340
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x45af44
mov rcx, qword [rsp + 0x140]
shl rdx, 4
mov r8d, 8
call fcn.00404340
mov r13, qword [rsp + 0x130]
lock dec qword [r13]
jne 0x45af60
lea rcx, [rsp + 0x130]
call fcn.00418020
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 0x45b023
cmp qword [rsp + 0x100], rsi
jne 0x45b063
jmp 0x45b040
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 0x45b0ed
mov rcx, qword [rcx + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404340
cmp qword [rsp + 0x100], rsi
jne 0x45b063
mov rdx, qword [r14]
lea rax, [rdx*2]
test rax, rax
je 0x45b063
mov rcx, qword [r14 + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404340
mov rdx, qword [rdi]
test rdx, rdx
je 0x45b07e
mov rcx, qword [rdi + 8]
shl rdx, 4
mov r8d, 8
call fcn.00404340
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.0041ca40
mov rax, qword [rsp + 0x298]
cmp rax, 3
je 0x45aea7
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 0x45c457
test rax, rax
jne 0x45b0d0
mov rax, r8
or rax, 4
cmp rax, 5
je 0x45b0d0
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.0041d2c0
cmp dword [rsp + 0x298], 2
je 0x45b0d0
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.0x45bfcb.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 0x45b294
cmp r13b, 2
jae 0x45c491
movzx r12d, r13b
mov r13d, r12d
and r13d, 0x7f
shl r13, cl
or rax, r13
test r12b, r12b
jns 0x45b2be
add ecx, 7
inc r10
inc r11
cmp r10, 1
jne 0x45b280
jmp 0x45c4b4
mov qword [rsp + 0x1b0], r11
neg r10
mov qword [rsp + 0x1b8], r10
test rax, rax
lea r12, [rsp + 0x2b0]
jne 0x45b3a0
lock dec qword [rdx]
jne 0x45b2f5
lea rcx, [rsp + 0x778]
call fcn.00418100
cmp dword [rsp + 0x680], 0x2f
je 0x45b0d0
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x45b327
mov rcx, qword [rsp + 0x6c8]
shl rdx, 2
mov r8d, 2
call fcn.00404340
mov rax, qword [rsp + 0x6d8]
test rax, rax
je 0x45b34f
mov rcx, qword [rsp + 0x6e0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404340
mov rdx, qword [rsp + 0x6f0]
test rdx, rdx
je 0x45b373
mov rcx, qword [rsp + 0x6f8]
shl rdx, 2
mov r8d, 2
call fcn.00404340
mov rdx, qword [rsp + 0x708]
test rdx, rdx
je 0x45b0d0
mov rcx, qword [rsp + 0x710]
shl rdx, 6
mov r8d, 8
call fcn.00404340
jmp 0x45b0d0
lea rcx, [rax - 1]
cmp rcx, qword [rdx + 0x20]
jae 0x45b3b7
imul rcx, rcx, 0x70
add rcx, qword [rdx + 0x18]
jmp 0x45b43d
mov rcx, qword [rdx + 0x28]
test rcx, rcx
je case.0x45bfcb.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 0x45b417
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 0x45b3de
movzx r10d, r13b
test r10d, r10d
jne 0x45b41a
jmp 0x45b42e
mov r8, r10
sub rdx, 1
jb case.0x45bfcb.3
mov rcx, qword [rcx + r8*8 + 0x538]
jmp 0x45b3c8
sub rcx, r9
add rcx, 0xffffffffffffff90
lea r12, [rsp + 0x2b0]
cmp byte [rcx + 0x6a], 1
jne 0x45b44f
mov qword [rsp + 0x1d0], 1
call fcn.0046b410
mov qword [rsp + 0x60], rax
test rdx, rdx
je 0x45bae0
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.0041a740
mov rax, qword [rsp + 0x298]
cmp rax, 0x2e
je case.0x45bfcb.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 0x45b699
cmp eax, 0x11
je 0x45b73a
cmp eax, 0x12
jne 0x45b9b4
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c090
mov rax, qword [rsp + 0x298]
test rax, rax
je 0x45b896
cmp eax, 7
je 0x45b874
cmp eax, 0xc
jne 0x45b9b4
mov rax, qword [rsp + 0x110]
cmp qword [rsp + 0x68], rax
jb case.0x45bfcb.3
mov rax, qword [rsp + 0x2a0]
imul rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
jb case.0x45bfcb.3
mov rdx, qword [rsp + 0x58]
dec edx
cmp edx, 7
ja case.0x45bfcb.3
mov r8, qword [rsp + 0x168]
add r8, rax
mov qword [rsp + 0xa0], r8
lea r8, [0x004a69f8]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rsp + 0x80], rax
je case.0x45bfcb.3
mov rax, qword [rsp + 0xa0]
movzx eax, byte [rax]
jmp 0x45b970
cmp eax, 0x13
je 0x45b7e1
cmp eax, 0x55
jne 0x45b9b4
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c090
mov rcx, qword [rsp + 0x298]
mov rax, qword [rsp + 0x2a0]
cmp rcx, 0x16
je 0x45b82d
cmp ecx, 0x18
jne 0x45b868
mov rcx, qword [rsp + 0x98]
cmp qword [rsp + 0x90], rcx
jb case.0x45bfcb.3
imul rax, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x250]
sub rcx, rax
jb case.0x45bfcb.3
cmp dword [rsp + 0x214], 0x800
jne 0x45b8b5
cmp rcx, 7
jbe case.0x45bfcb.3
mov rcx, qword [rsp + 0x218]
mov rax, qword [rcx + rax]
jmp 0x45b8ca
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c090
mov rax, qword [rsp + 0x298]
test rax, rax
je 0x45b84c
cmp eax, 0xc
jne 0x45b9b4
mov rax, qword [rsp + 0x110]
cmp qword [rsp + 0x68], rax
jb case.0x45bfcb.3
mov rax, qword [rsp + 0x2a0]
imul rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
sub rcx, rax
jb case.0x45bfcb.3
mov rdx, qword [rsp + 0x58]
dec edx
cmp edx, 7
ja case.0x45bfcb.3
mov r8, qword [rsp + 0x168]
add r8, rax
mov qword [rsp + 0x40], r8
lea r8, [0x004a6a18]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
cmp qword [rsp + 0x80], rax
je case.0x45bfcb.3
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax]
jmp 0x45b910
mov rcx, r15
lea rdx, [rsp + 0x170]
call fcn.0041c090
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 0x45b9b4
movzx eax, word [rsp + 0x2a0]
mov word [rsp + 0x126], ax
jmp 0x45b9b4
add rax, qword [rsp + 0x258]
mov ecx, 1
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x220], rax
jmp 0x45b9b4
mov eax, 1
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x40], rax
jmp 0x45b9b4
xor eax, eax
mov qword [rsp + 0x30], rax
jmp 0x45b9b4
mov eax, 1
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x240], rax
jmp 0x45b9b4
mov eax, 1
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0xa0], rax
jmp 0x45b9b4
cmp rcx, 3
jbe case.0x45bfcb.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 0x45b9b9
cmp rcx, 1
jbe 0x45b93a
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
jmp 0x45b931
cmp rcx, 8
jb case.0x45bfcb.3
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x40], rax
mov eax, 1
mov qword [rsp + 0x70], rax
jmp 0x45b9b4
cmp rcx, 3
jbe 0x45b93a
mov rax, qword [rsp + 0x40]
mov eax, dword [rax]
mov qword [rsp + 0x40], rax
mov al, 1
jmp 0x45b93c
xor eax, eax
mov ecx, 1
mov qword [rsp + 0x70], rcx
jmp 0x45b9ac
cmp rcx, 1
jbe 0x45b9a0
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
jmp 0x45b994
cmp rcx, 8
jb case.0x45bfcb.3
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax]
mov qword [rsp + 0xa0], rax
mov eax, 1
mov qword [rsp + 0x50], rax
jmp 0x45b9b4
cmp rcx, 3
jbe 0x45b9a0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax]
mov qword [rsp + 0xa0], rax
mov al, 1
jmp 0x45b9a2
xor eax, eax
mov ecx, 1
mov qword [rsp + 0x50], rcx
test al, al
je case.0x45bfcb.3
mov rdx, qword [rsp + 0x28]
add r13, 0x10
cmp rdx, r13
jne 0x45b555
cmp qword [rsp + 0x30], 0
je 0x45baff
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.0x45bfcb.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.00420c40
mov rax, qword [rsp + 0x170]
cmp rax, 2
jne 0x45c185
mov rcx, qword [rsp + 0x178]
cmp cl, 0x4b
jne case.0x45bfcb.3
mov rax, rcx
shr eax, 8
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c26f
jmp 0x45c3a3
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 0x45bb50
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 0x45bbf1
lea rcx, [rdx + 1]
cmp r10, rdi
cmova r9, rdx
cmovb r8, rcx
mov rcx, r9
sub rcx, r8
ja 0x45bb1d
cmp qword [rsp + 0x70], 0
je 0x45c16a
cmp qword [rsp + 0x50], 0
je 0x45c10d
mov rax, qword [rsp + 0xa0]
cmp qword [rsp + 0x40], rax
jae 0x45c16a
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45bba2
lea rcx, [rsp + 0xb8]
call fcn.004189d0
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 0x45c3a3
add rcx, r8
shl rcx, 4
add rcx, r13
mov r8, rdx
mov r9, rcx
sub rdx, 1
jb 0x45bc11
lea rcx, [r9 - 0x10]
cmp qword [r9 - 0x10], rdi
je 0x45bbfb
cmp rax, r8
je 0x45c16a
shl rax, 4
add r13, rax
xor eax, eax
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x60], rax
cmp qword [r9], rdi
jne 0x45c38a
mov qword [rsp + 0x30], r9
mov r8, qword [r9 + 8]
mov rax, qword [rsp + 0x118]
sub rax, r8
jb case.0x45bfcb.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.004209a0
cmp byte [rsp + 0x2c1], 3
je case.0x45bfcb.3
mov r8, qword [rsp + 0x2a0]
test r8, r8
je 0x45c0f1
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 0x45bf87
mov r9, qword [rsp + 0x58]
jmp 0x45bcee
xor ecx, ecx
mov r13, r10
test cl, cl
je case.0x45bfcb.3
or rax, r13
or rax, rdx
jne 0x45be68
cmp r8, r9
jb 0x45c0ec
mov rax, qword [rsp + 0x28]
dec eax
cmp eax, 7
ja case.0x45bfcb.3
lea rcx, [0x004a6a38]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test r8, r8
je case.0x45bfcb.3
dec r8
movzx eax, byte [r10]
inc r10
jmp 0x45bd7b
cmp r8, 1
jbe 0x45bd6e
add r8, 0xfffffffffffffffe
movzx eax, word [r10]
add r10, 2
mov cl, 1
jmp 0x45bd73
cmp r8, 8
jb case.0x45bfcb.3
add r8, 0xfffffffffffffff8
mov rax, qword [r10]
add r10, 8
jmp 0x45bd7b
cmp r8, 3
jbe 0x45bd6e
add r8, 0xfffffffffffffffc
mov eax, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45bd73
xor ecx, ecx
mov rax, r10
test cl, cl
je case.0x45bfcb.3
lea ecx, [r11 - 1]
cmp ecx, 7
ja case.0x45bfcb.3
lea rdx, [0x004a6a58]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
cmp r8, 2
jb case.0x45bfcb.3
movzx edx, byte [r10]
add r8, 0xfffffffffffffffe
movzx r13d, byte [r10 + 1]
add r10, 2
jmp 0x45bce2
cmp r8, 1
jbe 0x45be12
add r8, 0xfffffffffffffffe
movzx edx, word [r10]
add r10, 2
mov cl, 1
jmp 0x45be17
cmp r8, 8
jb case.0x45bfcb.3
mov rcx, r8
and rcx, 0xfffffffffffffff8
cmp rcx, 8
je case.0x45bfcb.3
mov rdx, qword [r10]
mov r13, qword [r10 + 8]
add r8, 0xfffffffffffffff0
add r10, 0x10
jmp 0x45bce2
cmp r8, 3
jbe 0x45be12
add r8, 0xfffffffffffffffc
mov edx, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45be17
xor ecx, ecx
mov rdx, r10
test cl, cl
je case.0x45bfcb.3
cmp r11d, 4
je 0x45be4c
cmp r11d, 2
jne case.0x45bfcb.3
cmp r8, 1
jbe 0x45bcd5
add r8, 0xfffffffffffffffe
movzx r13d, word [r10]
add r10, 2
mov cl, 1
jmp 0x45bcda
cmp r8, 3
jbe 0x45bcd5
add r8, 0xfffffffffffffffc
mov r13d, dword [r10]
add r10, 4
mov cl, 1
jmp 0x45bcda
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], r8
test r13, r13
je 0x45bee7
mov r12, rdx
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45beac
lea rcx, [rsp + 0xb8]
call fcn.004189d0
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 0x45bcce
jmp 0x45c0f6
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 0x45c0f6
mov rdx, qword [rsp + 0x58]
jmp 0x45bfa7
xor eax, eax
mov r13, r10
test al, al
je case.0x45bfcb.3
mov rax, rcx
or rax, r13
jne 0x45c09b
cmp r8, rdx
jb 0x45c0ec
lea eax, [r11 - 1]
cmp eax, 7
ja case.0x45bfcb.3
lea rcx, [0x004a6a78]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
cmp r8, 2
jb case.0x45bfcb.3
movzx ecx, byte [r10]
add r8, 0xfffffffffffffffe
movzx r13d, byte [r10 + 1]
add r10, 2
jmp 0x45bf9b
cmp r8, 1
jbe 0x45c042
add r8, 0xfffffffffffffffe
movzx ecx, word [r10]
add r10, 2
jmp 0x45c03e
cmp r8, 8
jb case.0x45bfcb.3
mov rax, r8
and rax, 0xfffffffffffffff8
cmp rax, 8
je case.0x45bfcb.3
mov rcx, qword [r10]
mov r13, qword [r10 + 8]
add r8, 0xfffffffffffffff0
add r10, 0x10
jmp 0x45bf9b
cmp r8, 3
jbe 0x45c042
add r8, 0xfffffffffffffffc
mov ecx, dword [r10]
add r10, 4
mov al, 1
jmp 0x45c047
xor eax, eax
mov rcx, r10
test al, al
je case.0x45bfcb.3
cmp r11d, 2
je 0x45c076
cmp r11d, 4
jne case.0x45bfcb.3
cmp r8, 3
jbe 0x45bf8e
add r8, 0xfffffffffffffffc
mov r13d, dword [r10]
add r10, 4
jmp 0x45c08c
cmp r8, 1
jbe 0x45bf8e
add r8, 0xfffffffffffffffe
movzx r13d, word [r10]
add r10, 2
mov al, 1
test al, al
jne 0x45bf9b
jmp case.0x45bfcb.3
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x98], r8
test r13, r13
je 0x45bf57
mov r12, rcx
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45bf1c
lea rcx, [rsp + 0xb8]
call fcn.004189d0
mov rdx, qword [rsp + 0xc8]
jmp 0x45bf1c
mov r13, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
add r9, 0x10
cmp r9, r13
mov rax, qword [rsp + 0x60]
jne 0x45bc28
jmp 0x45c25b
cmp qword [rsp + 0x128], 0
je 0x45c16a
mov rax, qword [rsp + 0x240]
mov rcx, qword [rsp + 0x40]
lea r13, [rax + rcx]
cmp rcx, r13
jae 0x45c259
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c37d
lea rcx, [rsp + 0xb8]
call fcn.004189d0
lea r12, [rsp + 0x2b0]
mov rdx, qword [rsp + 0xc8]
jmp 0x45bbaa
xor eax, eax
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c26f
jmp 0x45c3a3
xor ecx, ecx
mov qword [rsp + 0x60], rcx
jmp 0x45c1f5
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.00420c40
mov rax, qword [rsp + 0x170]
cmp rax, 2
je 0x45bab0
cmp rax, 1
jne 0x45c23d
mov r13, qword [rsp + 0x178]
mov rax, qword [rsp + 0x180]
cmp r13, rax
jae 0x45c1d3
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0xc8]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c196
lea rcx, [rsp + 0xb8]
call fcn.004189d0
jmp 0x45c18e
mov rax, qword [rsp + 0x60]
and al, 1
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c26f
jmp 0x45c3a3
xor eax, eax
mov qword [rsp + 0x1b0], 0
test al, 1
jne 0x45c3a3
cmp qword [rsp + 0x680], 0x2f
je 0x45c3a3
mov r13, r15
mov rcx, r15
lea rdx, [rsp + 0x680]
call fcn.00421f10
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x620]
mov r8, r13
mov r9, rbp
call fcn.00426c20
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 0x45c3a3
mov rax, qword [rsp + 0x1d0]
test rax, rax
je 0x45c3a3
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 0x45c359
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 0x45c3a3
mov rax, qword [rsp + 0x60]
movups xmm6, xmmword [rax + r13 + 0x10]
cmp rdx, qword [rsp + 0xb8]
jne 0x45c322
lea rcx, [rsp + 0xb8]
call fcn.004189d0
jmp 0x45c31a
lea r12, [rsp + 0x2b0]
jmp 0x45bbaa
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], 0
test al, 1
je 0x45c26f
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 0x45b09a
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.00418910
mov rsi, qword [rsp + 0xf0]
jmp 0x45b09a
mov rdi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
cmp r12, 0x15
jae 0x45c591
cmp r12, 1
jbe 0x45cc3a
mov r8d, 1
mov rcx, rdi
mov rdx, r12
call fcn.00410010
jmp 0x45cc3f
mov qword [rsp + 0x1b0], r11
neg r10
mov qword [rsp + 0x1b8], r10
mov rax, qword [rsp + 0x778]
lock dec qword [rax]
jne 0x45c4e6
jmp 0x45c4d9
add r8, r9
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x1b8], 0
mov rax, qword [rsp + 0x778]
lock dec qword [rax]
jne 0x45c4e6
lea rcx, [rsp + 0x778]
call fcn.00418100
cmp dword [rsp + 0x680], 0x2f
je 0x45aea7
mov rdx, qword [rsp + 0x6c0]
test rdx, rdx
je 0x45c518
mov rcx, qword [rsp + 0x6c8]
shl rdx, 2
mov r8d, 2
call fcn.00404340
mov rax, qword [rsp + 0x6d8]
test rax, rax
je 0x45c540
mov rcx, qword [rsp + 0x6e0]
shl rax, 3
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.00404340
mov rdx, qword [rsp + 0x6f0]
test rdx, rdx
je 0x45c564
mov rcx, qword [rsp + 0x6f8]
shl rdx, 2
mov r8d, 2
call fcn.00404340
mov rdx, qword [rsp + 0x708]
test rdx, rdx
je 0x45aea7
mov rcx, qword [rsp + 0x710]
shl rdx, 6
mov r8d, 8
call fcn.00404340
jmp 0x45aea7
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.00404330
test rax, rax
je 0x45db3c
mov rbp, rax
movzx eax, byte [rsi]
mov ecx, 0x100
mov edx, 8
call fcn.00404330
test rax, rax
mov qword [rsp + 0x28], rbp
je 0x45db4a
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 0x45c66e
mov rdi, qword [rsp + 0x38]
cmp r10, r12
jae 0x45cbfd
mov rbx, r10
mov r9, r12
sub r9, r10
mov rax, r10
shl rax, 5
lea rcx, [rdi + rax]
cmp r9, 2
jae 0x45ca90
mov r8, r9
lea r10, [r8 + rbx]
mov rsi, r10
sub rsi, rbx
mov rax, qword [0x004c9598]
jb 0x45da50
cmp r10, r12
ja 0x45da50
jae 0x45c6ef
cmp r8, 0xa
jae 0x45c6ef
lea rax, [rbx + 0xa]
cmp rax, r12
cmovae rax, r12
cmp rbx, 0xfffffffffffffff5
ja 0x45dac1
cmp r8, 1
adc r8, 0
mov rsi, rax
sub rsi, rbx
mov rdx, rsi
mov rdi, rax
call fcn.00410010
mov r10, rdi
mov rax, qword [0x004c9598]
cmp r13, qword [rsp + 0x40]
jne 0x45c75c
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.00404330
test rax, rax
je 0x45dad8
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.00404340
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 0x45c660
mov qword [rsp + 0x50], r10
mov rdi, qword [rsp + 0x38]
mov qword [rsp + 0x30], r15
jmp 0x45c804
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 0x45cb60
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 0x45c870
mov rdx, r11
shl rdx, 4
mov r8, qword [rdx + r15 - 0x20]
cmp r8, rax
jbe 0x45c870
cmp r11, 2
je 0x45cbc0
lea rbx, [r11 - 3]
mov rcx, rbx
shl rcx, 4
mov rcx, qword [r15 + rcx]
lea r9, [r8 + rax]
cmp rcx, r9
jbe 0x45c885
cmp r11, 3
jbe 0x45cbd6
add r8, rcx
cmp qword [rdx + r15 - 0x40], r8
jbe 0x45c885
jmp 0x45cbec
cmp r11, 2
je 0x45c88a
lea rbx, [r11 - 3]
mov rcx, rbx
shl rcx, 4
mov rcx, qword [r15 + rcx]
cmp rcx, rax
jb 0x45c88e
lea rbx, [r11 - 2]
cmp r11, rbx
jbe 0x45d990
mov qword [rsp + 0x68], r10
lea r14, [rbx + 1]
cmp r11, r14
jbe 0x45d978
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 0x45d9d2
mov qword [rsp + 0x90], rbx
cmp rsi, r12
ja 0x45d9e6
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 0x45c9e0
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 0x45ca70
test rdi, rdi
jle 0x45ca70
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 0x45c9cc
add rsi, 0xffffffffffffffe0
cmp r12, rbp
ja 0x45c970
mov rbx, r15
jmp 0x45c78f
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 0x45ca75
cmp rbp, r13
mov rdi, qword [rsp + 0x38]
jle 0x45c78a
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 0x45c792
mov al, cl
shl eax, 5
add r15, rax
cmp r15, rsi
jb 0x45ca20
jmp 0x45c792
mov rbx, r15
jmp 0x45ca7a
mov rbp, qword [rsp + 0x28]
mov rdx, rbp
mov rdi, qword [rsp + 0x38]
jmp 0x45c792
mov r10, qword [rcx + 0x20]
cmp r10, qword [rcx]
jae 0x45cb80
mov edx, 2
cmp r9, 2
je 0x45cada
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 0x45cada
inc rdx
add r8, 0x20
cmp r9, rdx
jne 0x45cac0
mov rdx, r9
mov r10, rdx
add r10, rbx
jb 0x45db0b
cmp r10, r12
ja 0x45daf7
mov r8d, 1
cmp rdx, 2
jb 0x45c693
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 0x45cb20
mov r8, rdx
jmp 0x45c693
mov r13d, 1
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c66e
jmp 0x45cbfd
mov r8d, 2
cmp r9, 2
je 0x45c68f
add rax, qword [rsp + 0xd0]
nop dword [rax + rax]
mov rdx, r10
mov r10, qword [rax]
cmp r10, rdx
jb 0x45c68f
inc r8
add rax, 0x20
cmp r9, r8
jne 0x45cba0
jmp 0x45c68c
mov r13d, 2
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c66e
jmp 0x45cbfd
mov r13d, 3
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c66e
jmp 0x45cbfd
mov r13, r11
mov r10, qword [rsp + 0x50]
cmp r10, r12
jb 0x45c66e
mov rdx, qword [rsp + 0x40]
shl rdx, 4
mov r8d, 8
mov rcx, r15
call fcn.00404340
mov r8d, 8
mov rcx, rbp
mov rdx, qword [rsp + 0x118]
call fcn.00404340
mov rdi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
test r12, r12
je 0x45cc72
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 0x45cc50
mov qword [rsp + 0x38], rdi
jmp 0x45cc7a
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 0x45ccc6
mov rcx, qword [rsp + 0x140]
shl rdx, 4
mov r8d, 8
call fcn.00404340
mov r13, qword [rsp + 0x130]
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x45af4c
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 0x45ce01
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.0041ca40
mov rax, qword [rsp + 0x298]
cmp rax, 3
jne 0x45ce96
lea rcx, [rsp + 0x170]
call fcn.0040d580
mov rsi, qword [rsp + 0xe8]
mov r14, qword [rsp + 0xf0]
inc r14
mov rcx, rsi
nop dword [rax]
cmp r14, 1
je 0x45cdba
lea rbx, [rcx + 0x218]
dec r14
call fcn.0040cfb0
mov rcx, rbx
jmp 0x45cda0
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x45cddc
imul rdx, rax, 0x218
mov r8d, 8
mov rcx, rsi
call fcn.00404340
test rdi, rdi
je 0x45af4c
shl rdi, 5
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rdi
call fcn.00404340
jmp 0x45af4c
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 0x45d043
mov rbx, rdi
shl rbx, 5
mov r12, qword [rsp + 0x58]
test r12, r12
je 0x45d026
shl r12, 5
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
mov r9, r12
call fcn.00404350
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x45d043
mov ecx, 8
mov rdx, r12
call fcn.0047c6c0
jmp 0x45db56
add rbx, 0x10
mov r14d, 8
xor esi, esi
lea r15, [rsp + 0x620]
lea r12, [rsp + 0x298]
lea rbp, [rsp + 0x4b0]
jmp 0x45cee3
cmp rax, 2
je 0x45cff1
mov rcx, r12
mov rdx, rbp
call fcn.0041ca40
mov rax, qword [rsp + 0x298]
cmp rax, 3
je 0x45cd79
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 0x45cebc
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.0041d2c0
cmp dword [rsp + 0x620], 2
je 0x45cec6
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 0x45cfc9
lea rcx, [rsp + 0x170]
mov rdx, rsi
call fcn.00418d60
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 0x45cec6
mov r15, qword [rsp + 0x170]
movabs rax, 0x8000000000000000
cmp r15, rax
je 0x45cd86
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], r14
mov r12, qword [rsp + 0x58]
jmp 0x45ce24
mov eax, 8
mov qword [rsp + 0x68], rax
mov r8d, 8
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.00404340
mov rax, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
cmp rax, rbx
jbe 0x45d0b2
imul rdx, rax, 0x218
test rbx, rbx
je 0x45d09e
imul rbp, rbx, 0x218
mov r8d, 8
mov rcx, r12
mov r9, rbp
call fcn.00404350
mov r12, rax
test rax, rax
jne 0x45d0b2
mov ecx, 8
mov rdx, rbp
call fcn.0047c6c0
jmp 0x45db56
mov r8d, 8
mov rcx, r12
call fcn.00404340
mov r12d, 8
cmp r15, rsi
jbe 0x45d109
imul rdx, r15, 0x1b0
test rsi, rsi
je 0x45d0f5
imul rbp, rsi, 0x1b0
mov r8d, 8
mov rcx, r14
mov r9, rbp
call fcn.00404350
mov r14, rax
test rax, rax
jne 0x45d109
mov ecx, 8
mov rdx, rbp
call fcn.0047c6c0
jmp 0x45db56
mov r8d, 8
mov rcx, r14
call fcn.00404340
mov r14d, 8
test r13, r13
je 0x45af60
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 0x45d372
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, [0x004a6a98]
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 0x45b07e
lea rdx, [0x004a7c0e]
mov r8d, 0xf
call fcn.0045ff40
lea rdi, [0x004a6a98]
mov r8, rdx
test rax, rax
cmove r8, rax
cmove rax, rdi
lea rcx, [rsp + 0x298]
mov rdx, rax
call fcn.0041fd20
movzx r15d, byte [rsp + 0x298]
cmp r15b, 0x16
je 0x45d460
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, [0x004a7c93]
mov r8d, 0xf
mov rcx, qword [rsp + 0x108]
call fcn.0045ff40
mov r8, rdx
test rax, rax
cmove r8, rax
cmove rax, rdi
lea rcx, [rsp + 0x298]
mov rdx, rax
call fcn.0041fd20
movzx eax, byte [rsp + 0x298]
cmp al, 0x16
jne 0x45d4cc
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 0x45d4a2
mov rax, qword [rsp + 0x108]
mov rcx, qword [rax + 8]
shl rsi, 4
mov r8d, 8
mov rdx, rsi
call fcn.00404340
lea rcx, [rsp + 0x260]
call fcn.0040ce90
movabs rsi, 0x8000000000000000
cmp qword [rsp + 0x100], rsi
je 0x45b040
jmp 0x45b063
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, [0x004a7cae]
mov r8d, 0x11
mov r14, qword [rsp + 0x108]
mov rcx, r14
call fcn.0045ff40
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, [0x004a7cbf]
mov r8d, 0xf
mov rcx, r14
call fcn.0045ff40
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, [0x004a7cce]
mov r8d, 0xf
mov rcx, r14
call fcn.0045ff40
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, [0x004a7d11]
mov r8d, 0xe
mov rcx, r14
call fcn.0045ff40
mov rbx, rax
mov rbp, rdx
test rax, rax
cmove rbp, rax
cmove rbx, r12
lea rdx, [0x004a7d1f]
mov r8d, 0x16
mov rcx, r14
call fcn.0045ff40
mov r13, rax
mov rdi, rdx
test rax, rax
cmove rdi, rax
cmove r13, r12
lea rdx, [0x004a7cdd]
mov r8d, 0xe
mov rcx, r14
call fcn.0045ff40
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, [0x004a7ceb]
mov r8d, 0x13
mov rcx, r14
call fcn.0045ff40
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, [0x004a7cfe]
mov r8d, 0x13
mov rcx, r14
call fcn.0045ff40
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xd0], rdx
cmove rax, r12
mov qword [rsp + 0x60], rax
lea rdx, [0x004a7d35]
mov r8d, 0x10
mov rcx, r14
call fcn.0045ff40
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 0x45d87f
mov rax, qword [rsp + 0x108]
mov rcx, qword [rax + 8]
shl rsi, 4
mov r8d, 8
mov rdx, rsi
call fcn.00404340
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 0x45d175
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 0x45d906
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, [0x004a6a98]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
mov rdi, qword [rsp + 0x78]
call fcn.0048b9c0
jmp 0x45db56
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdx, rbx
mov rdi, qword [rsp + 0x78]
mov r13, qword [rsp + 0x28]
call fcn.00492100
jmp 0x45db56
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.00492070
jmp 0x45db56
lea rax, str.Index_out_of_bounds
mov qword [rsp + 0x298], rax
lea rdx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
jmp 0x45d9a6
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, [0x004a6a98]
mov qword [rcx + 0x10], rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x18], xmm0
call fcn.0048b9c0
jmp 0x45db56
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdx, rsi
call fcn.00492100
jmp 0x45db56
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
call fcn.00492070
jmp 0x45db56
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.0048ba70
jmp 0x45db56
mov rdx, rdi
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x128], rax
jmp 0x45da89
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x48]
call fcn.0048b770
jmp 0x45db56
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov edx, 0x2c
call fcn.0048ba70
jmp 0x45db56
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, r9
mov rdi, qword [rsp + 0x78]
call fcn.00492070
jmp 0x45db56
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.00492100
jmp 0x45db56
mov ecx, 8
mov edx, 0x108
call fcn.0047c6c0
jmp 0x45db56
mov rcx, rbx
mov rdx, rax
lea rax, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov qword [rsp + 0x110], rax
jmp 0x45db11
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b770
jmp 0x45db56
mov ecx, 8
mov edx, 0x108
call fcn.0047c6c0
jmp 0x45db56
lea r8, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
mov rcx, r10
mov rdx, r12
call fcn.00492070
jmp 0x45db56
mov rcx, rbx
mov rdx, r10
mov r8, qword [rsp + 0x110]
call fcn.00492100
jmp 0x45db56
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b770
jmp 0x45db56
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b770
jmp 0x45db56
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b770
jmp 0x45db56
lea rcx, str._rustc_9b00956e56009bab2aa15d7bff10916599e3d6d6librarycore_src_slice_sort.rs
call fcn.0048b770
ud2