Function at 0x452441
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
movdqa xmmword [rsp + 0x2a0], xmm15
movdqa xmmword [rsp + 0x290], xmm14
movdqa xmmword [rsp + 0x280], xmm13
movdqa xmmword [rsp + 0x270], xmm12
movdqa xmmword [rsp + 0x260], xmm11
movdqa xmmword [rsp + 0x250], xmm10
movdqa xmmword [rsp + 0x240], xmm9
movdqa xmmword [rsp + 0x230], xmm8
movdqa xmmword [rsp + 0x220], xmm7
movaps xmmword [rsp + 0x210], xmm6
mov rsi, r9
mov rdi, r8
mov qword [rsp + 0x68], rdx
mov r15, rcx
mov r13, qword [rsp + 0x320]
test r9, r9
je 0x452557
lea rax, [rdi + rsi]
lea rbx, [rsp + 0x1a0]
mov qword [rbx], rax
mov qword [rbx + 8], rdi
xor ecx, ecx
movaps xmm6, xmmword [0x004ff3a0]
mov r14, rcx
mov rcx, rbx
call fcn.0045224c
mov ecx, 0
cmp eax, 0x2e
je 0x4524f0
cmp eax, 0x110000
je 0x452c2f
test r14, r14
jne 0x45251a
cmp eax, 0x2d
je 0x452557
mov ecx, 5
cmp r14, 5
jae 0x452547
movaps xmmword [rsp + 0x70], xmm6
cmp r14, 4
je 0x454a78
cmp eax, dword [rsp + r14*4 + 0x70]
jne 0x452547
inc r14
mov rcx, r14
cmp r14, 4
je 0x452557
lea edx, [rax - 0x7b]
cmp edx, 0xffffffe5
ja 0x4524f0
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x4524f0
mov qword [rsp + 0x208], r15
mov rcx, qword [rsp + 0x68]
mov eax, dword [rcx + 0x30]
movzx r9d, byte [rcx + 0x34]
and qword [rcx + 0x10], 0
lea rdx, [rsp + 0x140]
add rsi, rdi
xorps xmm6, xmm6
movups xmmword [rsp + 0x1a8], xmm6
lea r12, [rsp + 0x120]
movups xmmword [r12 + 2], xmm6
movzx r8d, word [r12 + 0x10]
lea r10, [rsp + 0x78]
mov word [r10 + 0xe], r8w
movups xmm0, xmmword [r12]
movups xmmword [r10 - 2], xmm0
and dword [r10 - 8], 0
and word [r10 - 4], 0
movdqu xmm0, xmmword [rsp + 0x1a0]
movdqu xmmword [r10 + 0x10], xmm0
mov r8, qword [rsp + 0x1b0]
mov qword [r10 + 0x20], r8
movups xmmword [r10 + 0x28], xmm6
mov qword [r10 + 0x38], rsi
mov qword [r10 + 0x40], rdi
mov qword [r10 + 0x48], rdx
mov byte [r10 + 0x54], r9b
and dword [rdx + 8], 0
shl r9, 0x20
and qword [rdx], 0
mov dword [r10 + 0x50], eax
and dword [r10 + 0x58], 0
and word [r10 + 0x5c], 0
xor edx, edx
mov byte [r10 + 0x60], dl
and dword [r10 + 0x64], 0
mov byte [r10 + 0x68], dl
and dword [r10 + 0x6c], 0
mov byte [r10 + 0x70], dl
and dword [r10 + 0x74], 0
mov byte [r10 + 0x78], dl
and dword [r10 + 0x7c], 0
mov byte [r10 + 0x80], dl
and qword [r10 + 0x88], 0
or r9, rax
mov qword [rsp + 0x30], r9
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x170], rax
mov dword [r10 + 0x98], 0x110000
mov byte [r10 + 0x9c], dl
xor edx, edx
call fcn.004f2b75
lea rbp, [rsp + 0x90]
lea r13, [0x00454c9c]
mov r15d, 0x1c
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x452744
cmp rax, 1
jne 0x452b42
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x452ad0
cmp rax, qword [rsp + 0x88]
jb 0x452b65
and qword [rsp + 0x88], 0
jmp 0x452af6
mov dword [rsp + 0x110], edi
jmp 0x452744
cmp byte [rsp + 0x114], 0
je 0x4526f4
cmp byte [rsp + 0x115], bl
jae 0x452716
mov ecx, esi
mov edx, edi
call fcn.004f2bcd
cmp eax, 0x110000
je 0x45271e
jmp 0x45270d
mov ecx, esi
mov edx, edi
call fcn.004f2bcd
cmp eax, 0x110000
jne 0x45270d
test bl, bl
jne 0x45271e
jmp 0x452b36
mov dword [rsp + 0x110], eax
jmp 0x452744
test bl, bl
je 0x452b0d
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.004554e3
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], bl
jmp 0x452744
mov r8d, dword [rsi + 0x40]
jmp 0x45299b
mov qword [rsp + 0x120], rbp
mov rsi, rbp
mov rdx, qword [rsi + 8]
test rdx, rdx
jne 0x45273b
cmp byte [rsi + 0x38], 2
je 0x45295b
lea rbx, [rsi + 0x10]
lea r14, [rsi + 0x20]
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x45278b
mov rcx, rbx
call fcn.0045224c
cmp eax, 0x110000
jne 0x45280a
and qword [rsi + 0x18], 0
mov rcx, r14
call fcn.0045224c
mov edi, eax
lea eax, [rdi - 0x2d]
cmp eax, 2
jb case.default.0x4527d7
cmp edi, 0x110000
je 0x45294f
lea eax, [rdi - 0x61]
cmp eax, 0x1a
jb case.default.0x4527d7
lea eax, [rdi - 0x30]
cmp eax, 0xa
jb case.default.0x4527d7
mov ecx, edi
call fcn.004522d5
movzx ecx, byte [rax]
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
jmp rcx
cmp byte [rsi + 0x39], 0
jne case.0x4527d7.50
jmp case.0x4527d7.48
cmp byte [rsi + 0x38], 0
je case.0x4527d7.50
mov rcx, qword [rsi + 0x30]
mov byte [rcx + 7], 1
inc rax
mov rcx, rax
call fcn.004523b7
add rdx, rax
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
jmp 0x45276e
mov edi, eax
jmp case.default.0x4527d7
cmp byte [rsi + 0x38], 0
je case.0x4527d7.48
mov rax, qword [rsi + 0x30]
add rax, 6
jmp 0x452836
cmp byte [rsi + 0x3c], 0
je case.0x4527d7.48
mov rax, qword [rsi + 0x30]
add rax, 0xb
jmp 0x452836
mov rax, qword [rsi + 0x30]
add rax, 8
mov byte [rax], 1
cmp edi, 0x110000
je 0x45294f
mov rax, qword [rsp + 0x120]
cmp byte [rax + 0x68], 0
je 0x4528ab
cmp edi, 0x80
jb 0x45290a
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jb 0x4528c1
mov ecx, edi
call fcn.004f3190
test rax, rax
jne 0x452889
mov ecx, edi
call fcn.004f3051
test rax, rax
je 0x45290a
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x452914
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.00454f7b
add rdi, 4
jmp 0x452895
cmp edi, 0x80
jb 0x45290a
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jae 0x452921
mov eax, esi
xor edx, edx
mov ecx, 0x24c
div ecx
mov edi, edx
lea edx, [rax + 0x1100]
mov rcx, r12
call fcn.00454f7b
mov eax, edi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, r12
call fcn.00454f7b
mov eax, esi
xor edx, edx
div r15d
test edx, edx
je 0x452914
mov edi, edx
add edi, 0x11a7
mov rcx, r12
mov edx, edi
call fcn.00454f7b
mov rsi, qword [rsp + 0x120]
jmp 0x45274f
mov ecx, edi
call fcn.004f3051
test rax, rax
je 0x45290a
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x452914
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.00454f7b
add rdi, 4
jmp 0x452939
mov byte [rsi + 0x38], 2
mov rsi, qword [rsp + 0x120]
cmp dword [rsi + 0x40], 0
je 0x452967
mov rax, qword [rsi + 0x58]
jmp 0x45296b
movzx eax, word [rsi + 0x44]
test rax, rax
je 0x452a9e
mov rcx, rsi
call fcn.00454f83
mov rsi, qword [rsp + 0x120]
mov r8d, dword [rsi + 0x40]
test r8d, r8d
je 0x452993
mov rdx, qword [rsi + 0x58]
jmp 0x452997
movzx edx, word [rsi + 0x44]
mov qword [rsi + 8], rdx
mov rcx, qword [rsi]
test r8d, r8d
je 0x4529ad
mov r9, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
jmp 0x4529bf
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x454aca
lea r9, [rsi + 0x48]
cmp rax, rcx
jbe 0x452cb2
mov edi, dword [r9 + rcx*8 + 4]
inc rcx
cmp rcx, rdx
jne 0x4529e0
test r8d, r8d
je 0x4529e8
mov r8, qword [rsi + 0x58]
jmp 0x4529ed
mov qword [rsi], rcx
jmp 0x452a78
movzx r8d, word [rsi + 0x44]
sub r8, rdx
lea r9, [rsi + 0x48]
xor ecx, ecx
cmp r8, rcx
je 0x452a55
mov rdx, qword [rsi + 8]
add rdx, rcx
cmp dword [rsi + 0x40], 0
je 0x452a1b
mov rax, qword [rsi + 0x58]
cmp rax, rdx
jbe 0x452c12
mov r10, qword [rsi + 0x50]
jmp 0x452a35
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x454aca
mov r10, r9
cmp rdx, rax
jae 0x452c12
cmp rax, rcx
jbe 0x452c1e
mov al, byte [r10 + rdx*8]
mov edx, dword [r10 + rdx*8 + 4]
mov byte [r10 + rcx*8], al
mov dword [r10 + rcx*8 + 4], edx
inc rcx
jmp 0x4529f6
cmp dword [rsi + 0x40], 0
je 0x452a67
cmp qword [rsi + 0x58], r8
jb 0x452a75
mov qword [rsi + 0x58], r8
jmp 0x452a75
movzx eax, word [rsi + 0x44]
cmp r8, rax
jae 0x452a75
mov word [rsi + 0x44], r8w
movups xmmword [rsi], xmm6
mov ecx, edi
call fcn.004f2ff7
mov ebx, eax
mov esi, dword [rsp + 0x110]
cmp esi, 0x110000
jne 0x4526cf
test bl, bl
je 0x4526c6
jmp 0x452b06
mov qword [rsp + 0x100], 2
and qword [rsp + 0x108], 0
mov esi, dword [rsp + 0x110]
mov eax, 2
cmp esi, 0x110000
je 0x452684
jmp 0x452b6f
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454b34
cmp rax, rcx
jb 0x452bac
cmp word [rsp + 0x74], 0
je 0x452af6
and word [rsp + 0x74], 0
and qword [rsp + 0x100], 0
xor eax, eax
jmp 0x452684
mov esi, edi
jmp 0x452c01
mov dword [rsp + 0x110], edi
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x100], 1
and qword [rsp + 0x108], 0
jmp 0x452c01
mov dword [rsp + 0x110], edi
jmp 0x452c01
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x452b7f
cmp rax, qword [rsp + 0x88]
jae 0x452bcd
mov rdx, qword [rsp + 0x80]
jmp 0x452b98
mov rcx, qword [rsp + 0x80]
jmp 0x452bb1
mov dword [rsp + 0x110], 0x110000
jmp 0x452c01
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454b34
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x452bd8
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x100], 2
jmp 0x452bc3
lea rcx, [rsp + 0x78]
mov esi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
jmp 0x452c01
and qword [rsp + 0x88], 0
jmp 0x452be6
cmp word [rsp + 0x74], 0
je 0x452be6
and word [rsp + 0x74], 0
mov esi, dword [rsp + 0x110]
mov eax, 0x110000
mov dword [rsp + 0x110], eax
cmp esi, eax
je 0x452cbe
mov rcx, qword [rsp + 0x68]
mov edx, esi
call fcn.00455560
jmp 0x45267c
lea r8, [0x00529958]
mov rcx, rdx
jmp 0x452c25
lea r8, [0x00529970]
mov rdx, rax
call fcn.0042fd90
ud2
mov rcx, r13
mov rdx, rdi
mov r8, rsi
call fcn.004f2b8c
and dword [r15 + 8], 0
and qword [r15], 0
movaps xmm6, xmmword [rsp + 0x210]
movaps xmm7, xmmword [rsp + 0x220]
movaps xmm8, xmmword [rsp + 0x230]
movaps xmm9, xmmword [rsp + 0x240]
movaps xmm10, xmmword [rsp + 0x250]
movaps xmm11, xmmword [rsp + 0x260]
movaps xmm12, xmmword [rsp + 0x270]
movaps xmm13, xmmword [rsp + 0x280]
movaps xmm14, xmmword [rsp + 0x290]
movaps xmm15, xmmword [rsp + 0x2a0]
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [0x00529940]
jmp 0x452c25
lea rcx, [rsp + 0xd0]
call fcn.00455646
lea rcx, [rsp + 0x70]
call fcn.0045565c
lea rax, [rsp + 0x120]
and qword [rax], 0
mov qword [rax + 8], 8
and qword [rax + 0x10], 0
mov r15, qword [rsp + 0x30]
mov rdx, r15
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
lea r8, [rsp + 0x1a0]
mov qword [r8], rax
mov qword [r8 + 8], rcx
and qword [r8 + 0x10], 0
and rdx, 0xffffffffffff00ff
mov qword [rsp + 0x1f0], rdx
mov qword [r8 + 0x18], rcx
mov qword [r8 + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [r8 + 0x28], rax
and qword [r8 + 0x30], 0
mov qword [r8 + 0x38], rcx
mov word [r8 + 0x40], 1
xorps xmm6, xmm6
movdqa xmm12, xmmword [0x004ff400]
movdqa xmm13, xmmword [0x004ff410]
movdqa xmm14, xmmword [0x004ff420]
movdqa xmm15, xmmword [0x004ff430]
movdqa xmm8, xmmword [0x004ff450]
movdqa xmm9, xmmword [0x004ff460]
movdqa xmm10, xmmword [0x004ff470]
movdqa xmm11, xmmword [0x004ff480]
movdqa xmm7, xmmword [0x004ff490]
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x320]
lea rcx, [rsp + 0x1a0]
call fcn.004f9eab
test rax, rax
je 0x454413
mov rsi, rax
mov rdi, rdx
test r14b, 1
je 0x452de2
mov rcx, rbp
call fcn.00454cbc
mov r9d, 4
mov rcx, rsi
mov rdx, rdi
lea r8, str.xn__
call fcn.0045622c
mov r13, rsi
add r13, 4
test al, al
mov eax, 0
cmove r13, rax
je 0x452ebe
lea rsi, [rdi - 4]
and qword [rsp + 0x130], 0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rsi
and qword [rsp + 0x80], 0
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], 1
movabs rax, 0x2d0000002d
mov qword [rsp + 0x98], rax
mov r12, rsi
cmp r12, rsi
ja 0x452f07
mov cl, 0x2d
mov rdx, r13
mov r8, r12
call fcn.00430f10
cmp rax, 1
jne 0x452f07
mov r12, rdx
mov rbx, rdx
inc rbx
je 0x452eb4
cmp rbx, rsi
ja 0x452eb4
mov r14, r12
add r14, r13
mov edx, 1
mov r9d, 1
mov rcx, r14
lea r8, [rsp + 0x98]
call fcn.00455d37
test al, al
jne 0x452f8a
mov qword [rsp + 0x88], r12
jmp 0x452e5b
test byte [rsp + 0x138], 1
jne 0x452edb
mov rcx, rsi
mov rdx, rdi
call fcn.00454e68
mov qword [rsp + 0x138], rax
mov rcx, rsi
mov rdx, rdi
mov r8, r15
lea r9, [rsp + 0x140]
call fcn.00454d22
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004f2b8c
mov r14b, 1
jmp 0x452db8
mov rax, r13
xor r12d, r12d
lea r13, str.ntdll.dll
cmp r12, 8
jb 0x452f72
lea rdx, [r13 + 7]
and rdx, 0xfffffffffffffff8
mov rcx, rdx
sub rcx, r13
cmp rcx, r12
ja 0x452f72
movabs r8, 0x8080808080808080
test qword [r13], r8
jne 0x4531e1
cmp rdx, r13
mov edx, 8
cmove rcx, rdx
lea rdx, [r12 - 8]
cmp rcx, rdx
jae 0x452fab
movabs r8, 0x8080808080808080
test qword [r13 + rcx], r8
jne 0x4531e1
add rcx, 8
jmp 0x452f52
xor ecx, ecx
cmp r12, rcx
je 0x452fc0
cmp byte [r13 + rcx], 0
lea rcx, [rcx + 1]
jns 0x452f74
jmp 0x4531e1
test r12, r12
je 0x4531fb
cmp r12, rsi
jae 0x453206
cmp byte [r14], 0xbf
jg 0x453215
jmp 0x454c29
movabs rcx, 0x8080808080808080
test qword [r13 + rdx], rcx
jne 0x4531e1
add rsi, rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x38], pe_nt_image_headers64
mov esi, 0x48
xor ebx, ebx
xor edi, edi
mov eax, r12d
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x188], r12
lea rcx, [rsp + 0x50]
call fcn.00455f9a
test al, 1
mov qword [rsp + 0x168], rbx
je 0x453243
lea ebp, [rsi + 0x1a]
mov r13d, esi
neg r13d
mov r15d, 0x24
mov r12d, 1
mov ebx, edi
lea eax, [rdx - 0x30]
cmp al, 0xa
jae 0x453035
add dl, 0xea
mov eax, edx
jmp 0x45304a
lea eax, [rdx - 0x41]
cmp al, 0x1a
jb 0x45304a
add dl, 0x9f
mov eax, edx
cmp dl, 0x1a
jae 0x4531d4
test r12d, r12d
je 0x454ae0
movzx ecx, al
mov eax, ebx
not eax
xor edx, edx
div r12d
cmp eax, ecx
jb 0x4531d4
mov eax, r12d
imul eax, ecx
add ebx, eax
lea eax, [r15 + r13]
cmp r15d, ebp
mov edx, 0x1a
cmovae eax, edx
cmp r15d, esi
mov edx, 1
cmovbe eax, edx
cmp eax, ecx
ja 0x4530c1
mov r14d, 0x24
sub r14d, eax
mov eax, r14d
mul r12d
jo 0x4531d4
lea rcx, [rsp + 0x50]
call fcn.00455f9a
test al, 1
je 0x4531d4
add r15d, 0x24
imul r12d, r14d
jmp 0x453027
mov ecx, ebx
sub ecx, edi
mov r14, qword [rsp + 0x40]
lea edx, [r14 + 1]
test edi, edi
sete r8b
call fcn.00455faa
inc r14d
je 0x454b63
mov esi, eax
mov eax, ebx
xor edx, edx
mov qword [rsp + 0x40], r14
div r14d
add dword [rsp + 0x38], eax
jb 0x4531d4
mov eax, ebx
xor edx, edx
div dword [rsp + 0x40]
mov eax, dword [rsp + 0x38]
xor eax, 0xd800
add eax, 0xffef0000
cmp eax, 0xffef0800
jb 0x4531d4
cmp dword [rsp + 0x38], 0x110000
je 0x4531d4
mov edi, edx
mov rax, qword [rsp + 0x128]
mov ebx, edx
mov rcx, qword [rsp + 0x168]
shl rcx, 4
xor edx, edx
mov r13, qword [rsp + 0x160]
mov r12, qword [rsp + 0x188]
cmp rcx, rdx
je 0x45316e
mov r8, qword [rax + rdx]
cmp r8, rbx
jb 0x453168
inc r8
mov qword [rax + rdx], r8
add rdx, 0x10
jmp 0x453153
mov rdx, qword [rsp + 0x168]
cmp rdx, qword [rsp + 0x120]
jne 0x45319d
lea rcx, [rsp + 0x120]
call fcn.004ae470
mov rax, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
mov rbp, qword [rsp + 0x320]
mov r15, qword [rsp + 0x30]
mov rcx, rdx
shl rcx, 4
mov qword [rax + rcx], rbx
mov r8d, dword [rsp + 0x38]
mov dword [rax + rcx + 8], r8d
inc rdx
mov qword [rsp + 0x130], rdx
inc edi
mov rbx, rdx
jmp 0x452ff6
mov rbp, qword [rsp + 0x320]
mov r15, qword [rsp + 0x30]
mov byte [rsp + 0x140], 1
mov r14b, 1
mov al, 1
mov qword [rsp + 0x138], rax
jmp 0x452db8
mov rax, r13
xor r12d, r12d
jmp 0x452f14
jne 0x454c29
add rdi, 0xfffffffffffffffd
mov rbx, rdi
je 0x453235
cmp rbx, rsi
jae 0x45322b
cmp byte [r13 + rbx], 0xbf
jle 0x454c43
mov rcx, rbx
jmp 0x453237
mov rcx, rsi
je 0x453237
jmp 0x454c43
xor ecx, ecx
lea rax, [rcx + r13]
sub rsi, rcx
jmp 0x452f14
mov rsi, qword [rsp + 0x128]
cmp rbx, 0x15
jae 0x453270
cmp rbx, 2
jb 0x453268
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.0045214e
mov r14, rsi
jmp 0x45383c
lea rcx, [rbx*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov edx, 8
call fcn.00403ce0
test rax, rax
je 0x454c75
mov r15, rax
mov ecx, 0x100
mov edx, 8
call fcn.00403ce0
test rax, rax
je 0x454c88
mov r14, rax
lea rax, [rsi + 0x20]
mov qword [rsp + 0x190], rax
mov edi, 0x10
xor r11d, r11d
xor ecx, ecx
mov qword [rsp + 0x180], rsi
mov qword [rsp + 0x198], r15
mov r10, rbx
sub r10, rcx
jbe 0x45380f
cmp r10, 2
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x150], rdi
jae 0x453303
mov rdx, rbx
jmp 0x4534a6
mov rdx, rcx
shl rdx, 4
lea r8, [rsi + rdx]
mov rax, qword [r8]
mov rdi, qword [r8 + 0x10]
cmp rdi, rax
mov rbp, r10
jae 0x45334a
add rdx, qword [rsp + 0x190]
mov r8d, 2
mov r9, rdi
cmp r10, r8
je 0x45337a
mov r10, qword [rdx]
cmp r10, r9
jae 0x453377
inc r8
add rdx, 0x10
mov r9, r10
mov r10, rbp
jmp 0x45332e
add rdx, qword [rsp + 0x190]
mov r8d, 2
mov r9, rdi
cmp r10, r8
je 0x45337a
mov r10, qword [rdx]
cmp r10, r9
jb 0x453377
inc r8
add rdx, 0x10
mov r9, r10
mov r10, rbp
jmp 0x45335b
mov r10, r8
lea rdx, [r10 + rcx]
cmp rdi, rax
jae 0x453477
mov qword [rsp + 0x40], r10
lea rax, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x178], rdx
mov r8, rsi
mov r9, rbx
call fcn.00452210
mov rsi, rdx
shr rsi, 1
shl rdx, 4
mov rdi, r14
lea r14, [rdx + rax]
mov r12, rsi
shl r12, 4
sub r14, r12
lea rcx, [0x0051ac38]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov rdx, rsi
mov r8, rax
mov r9, rsi
call fcn.00452210
mov rbx, rax
mov rbp, rdx
lea rax, [0x0051ac50]
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, rsi
mov r8, r14
mov r14, rdi
mov rdi, qword [rsp + 0x150]
mov r9, rsi
call fcn.00452210
add rbx, 8
dec rsi
add rax, r12
add rax, 0xfffffffffffffff8
mov r12, qword [rsp + 0x188]
mov rcx, rbp
cmp rsi, 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
je 0x453481
sub rcx, 1
jb 0x454b13
cmp rsi, rdx
jae 0x454b25
mov r8, qword [rbx - 8]
mov r9d, dword [rbx]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov qword [rbx - 8], r10
mov dword [rbx], r11d
mov qword [rax - 8], r8
mov dword [rax], r9d
add rbx, 0x10
dec rsi
add rax, 0xfffffffffffffff0
jmp 0x453430
mov rdi, qword [rsp + 0x150]
jmp 0x4534a6
mov rbx, qword [rsp + 0x168]
mov rsi, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x158]
mov r10, qword [rsp + 0x40]
cmp rdx, rcx
jb 0x454c11
cmp rdx, rbx
ja 0x454c11
jae 0x45351a
cmp r10, 0xa
jae 0x45351a
mov rbp, rcx
lea rdi, [rcx + 0xa]
cmp rdi, rbx
cmovae rdi, rbx
cmp r10, 2
mov eax, 1
cmovb r10, rax
mov qword [rsp + 0x40], r10
lea rax, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov r8, rsi
mov r9, rbx
call fcn.00452210
mov rcx, rax
mov r8, qword [rsp + 0x40]
call fcn.0045214e
mov rdx, rdi
mov rdi, qword [rsp + 0x150]
mov rcx, rbp
mov r11, qword [rsp + 0x38]
cmp r11, rdi
jne 0x453595
mov qword [rsp + 0x158], rcx
mov rbp, rdx
mov rcx, rdi
shl rcx, 5
mov edx, 8
call fcn.00403ce0
test rax, rax
je 0x454c62
mov rsi, rax
lea rax, [rdi + rdi]
mov qword [rsp + 0x40], rax
mov r8, rdi
shl r8, 4
mov rcx, rsi
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rcx, r14
mov rdx, rdi
call fcn.00451e36
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x150], rax
mov r14, rsi
mov rsi, qword [rsp + 0x180]
mov r11, qword [rsp + 0x38]
mov rdx, rbp
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0x178], rdx
mov rax, rdx
sub rax, rcx
mov rdx, r11
shl rdx, 4
mov qword [r14 + rdx], rax
mov qword [r14 + rdx + 8], rcx
inc r11
mov qword [rsp + 0x1f8], r14
mov rcx, r14
mov rdx, r11
mov r8, rbx
mov rbp, r11
call fcn.00452077
cmp rax, 1
jne 0x4537ef
mov rdi, rdx
mov rcx, rbp
mov rdx, r14
mov r8, rdi
lea r9, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
call fcn.00451e40
mov r15, qword [rax]
mov r12, qword [rax + 8]
mov rdx, r14
mov r14, rdi
inc r14
mov qword [rsp + 0x38], rbp
mov rcx, rbp
mov r8, r14
lea r9, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
call fcn.00451e40
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x200], rcx
add rdx, rcx
lea rax, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], r12
mov rcx, r12
mov r8, rsi
mov r9, rbx
call fcn.00452210
mov r12, rax
mov rbp, rdx
mov rbx, r15
shl rbx, 4
lea rsi, [rax + rbx]
mov r13, rdx
shl r13, 4
sub rbp, r15
mov qword [rsp + 0x158], r15
cmp rbp, r15
jae 0x4536db
shl rbp, 4
mov r15, qword [rsp + 0x198]
mov rcx, r15
mov rdx, rsi
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbp, r15
lea rax, [r12 + r13]
add rax, 0xfffffffffffffff0
mov rbx, rbp
mov r13, qword [rsp + 0x160]
cmp rsi, r12
jbe 0x453743
cmp rbx, r15
jbe 0x453743
mov rcx, qword [rbx - 0x10]
cmp rcx, qword [rsi - 0x10]
jb 0x4536c6
add rbx, 0xfffffffffffffff0
mov rcx, rbx
jmp 0x4536cd
add rsi, 0xfffffffffffffff0
mov rcx, rsi
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rax], xmm0
add rax, 0xfffffffffffffff0
jmp 0x4536a1
add r13, r12
mov r15, qword [rsp + 0x198]
mov rcx, r15
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rbx, r15
mov rdx, r15
cmp rdx, rbx
jae 0x45374b
cmp rsi, r13
jae 0x45374b
mov r9, qword [rsi]
xor eax, eax
xor r8d, r8d
mov rcx, rsi
cmp r9, qword [rdx]
setae r9b
setb r10b
jb 0x45371f
mov rcx, rdx
mov r8b, r10b
shl r8, 4
add rsi, r8
mov al, r9b
shl rax, 4
add rdx, rax
movdqu xmm0, xmmword [rcx]
movdqu xmmword [r12], xmm0
add r12, 0x10
jmp 0x4536fa
mov r12, rsi
mov rdx, r15
jmp 0x453753
mov r13, qword [rsp + 0x160]
sub rbx, rdx
mov rcx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x38]
cmp r8, r14
mov rsi, qword [rsp + 0x180]
jbe 0x454b76
mov rcx, qword [rsp + 0x200]
add rcx, qword [rsp + 0x158]
shl r14, 4
mov rax, qword [rsp + 0x1f8]
mov qword [rax + r14], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + r14 + 8], rcx
cmp r8, rdi
mov r12, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x168]
jbe 0x454bab
mov r14, rax
mov rax, rdi
shl rax, 4
lea rcx, [r14 + rax]
lea rdx, [r14 + rax]
add rdx, 0x10
not rdi
add rdi, r8
shl rdi, 4
mov r8, rdi
call sub.msvcrt.dll_memmove
mov r11, qword [rsp + 0x38]
dec r11
jmp 0x4535be
mov rcx, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x150]
mov r11, rbp
mov rbp, qword [rsp + 0x320]
jmp 0x4532dc
mov rcx, r14
mov rdx, rdi
call fcn.00451e36
mov edx, 8
mov rcx, r15
call fcn.00403d70
mov r14, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
mov r15, qword [rsp + 0x30]
lea rdi, [rbx + r12]
add r12, r13
mov rsi, qword [rbp + 0x10]
mov rcx, rbp
mov rdx, rdi
call fcn.004f2b75
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x80], r14
mov qword [rsp + 0x88], rbx
lea rax, [rsp + 0x90]
movups xmmword [rax], xmm6
mov qword [rsp + 0xa0], rdi
xor edi, edi
cmp rdi, rbx
jae 0x4538a3
mov rax, qword [rsp + 0x80]
mov rcx, rdi
shl rcx, 4
mov rdx, qword [rax + rcx]
cmp rdx, qword [rsp + 0x98]
je 0x4538e5
lea rcx, [rsp + 0x70]
call fcn.0045224c
cmp eax, 0x110000
jne 0x4538cb
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
cmp rdi, rbx
jb 0x453881
jmp 0x45390e
inc qword [rsp + 0x98]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
jmp 0x4538ff
inc rdi
mov qword [rsp + 0x90], rdi
inc rdx
mov qword [rsp + 0x98], rdx
mov eax, dword [rax + rcx + 8]
mov rcx, rbp
mov edx, eax
call fcn.00455560
jmp 0x453881
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
mov r8, rsi
lea r9, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
call fcn.00454cee
mov r12, rax
mov r13, rdx
test byte [rsp + 0x138], 1
jne 0x453948
mov rcx, r12
mov rdx, r13
call fcn.00454e68
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x140]
call fcn.00454ec1
mov r14b, 1
test al, al
jne 0x452db8
mov rdi, r12
add rdi, r13
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], r12
xor ecx, ecx
xor eax, eax
mov ebx, ecx
mov ebp, eax
lea rcx, [rsp + 0x70]
call fcn.0045224c
cmp eax, 0x110000
je 0x453dfa
mov esi, eax
xor eax, eax
cmp esi, 0x80
jb 0x453976
mov ecx, esi
call fcn.004f2ff7
cmp bpl, al
jbe 0x4539ad
test al, al
jne 0x454406
lea ecx, [rsi - 0x340]
cmp ecx, 4
ja 0x4539c1
cmp ecx, 2
jne 0x454406
lea ecx, [rsi - 0x1fbe]
cmp ecx, 0x3f
jbe 0x453d7c
lea ecx, [rsi - 0xf43]
cmp ecx, 0x3e
jbe 0x453d95
lea ecx, [rsi - 0x1f71]
cmp ecx, 0xc
jbe 0x453dae
mov cl, 2
lea edx, [rsi - 0x30f]
cmp edx, 0x36
jbe 0x453dc1
lea edx, [rsi - 0xf93]
cmp edx, 0x26
mov r15, qword [rsp + 0x30]
jbe 0x453dd7
lea edx, [rsi - 0xfa10]
cmp edx, 0x12
ja 0x453a2e
mov r8d, 0x50005
bt r8d, edx
jb 0x454406
lea edx, [rsi - 0x113b8]
cmp edx, 0xd
ja 0x453a49
mov r8d, 0x2409
bt r8d, edx
jb 0x453df0
lea edx, [rsi - 0x374]
cmp edx, 0x13
mov r15, qword [rsp + 0x30]
ja 0x453a69
mov r8d, 0x80401
bt r8d, edx
jb 0x454406
lea edx, [rsi - 0xa33]
cmp edx, 0x2b
ja 0x453a88
movabs r8, 0x80000000009
bt r8, rdx
jb 0x454406
lea edx, [rsi - 0xb3e]
cmp edx, 0x19
ja 0x453aa3
mov r8d, 0x3000001
bt r8d, edx
jb 0x453df0
lea edx, [rsi - 0xdca]
cmp edx, 0x15
ja 0x453abe
mov r8d, 0x200021
bt r8d, edx
jb 0x453df0
lea edx, [rsi - 0xfb1d]
cmp edx, 0x21
mov r15, qword [rsp + 0x30]
ja 0x453ae2
movabs r8, 0x200000005
bt r8, rdx
jb 0x454406
lea edx, [rsi - 0x114b0]
cmp edx, 0xd
ja 0x453afd
mov r8d, 0x2401
bt r8d, edx
jb 0x453df0
lea edx, [rsi - 0x2329]
cmp edx, 2
mov r15, qword [rsp + 0x30]
jb 0x454406
cmp esi, 0x93c
je 0x453df0
cmp esi, 0x9be
je 0x453df0
cmp esi, 0x9d7
je 0x453df0
cmp esi, 0x9df
mov r15, qword [rsp + 0x30]
je 0x454406
cmp esi, 0xbbe
je 0x453df0
cmp esi, 0xbd7
je 0x453df0
cmp esi, 0xc56
je 0x453df0
cmp esi, 0xcc2
je 0x453df0
cmp esi, 0xd3e
je 0x453df0
cmp esi, 0xd57
je 0x453df0
cmp esi, 0x102e
je 0x453df0
cmp esi, 0x1b35
je 0x453df0
cmp esi, 0x1fbb
mov r15, qword [rsp + 0x30]
je 0x454406
cmp esi, 0x2126
je 0x454406
cmp esi, 0x2adc
je 0x454406
cmp esi, 0x110ba
je 0x453df0
cmp esi, 0x11127
je 0x453df0
cmp esi, 0x1133e
je 0x453df0
cmp esi, 0x11357
je 0x453df0
cmp esi, 0x115af
je 0x453df0
cmp esi, 0x11930
je 0x453df0
movd xmm1, esi
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x004ff3c0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x004ff3d0]
pxor xmm3, xmm12
movdqa xmm4, xmm14
pcmpgtd xmm4, xmm3
pxor xmm2, xmm12
movdqa xmm3, xmm15
pcmpgtd xmm3, xmm2
packssdw xmm3, xmm4
pmovmskb edx, xmm3
test edx, edx
mov r15, qword [rsp + 0x30]
jne 0x454406
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x004ff3b0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x004ff3e0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x004ff3f0]
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne 0x454406
lea edx, [rsi - 0x1d1bb]
cmp edx, 6
jb 0x454406
lea edx, [rsi - 0x2f800]
cmp edx, 0x21e
jb 0x454406
movd edx, xmm1
cmp edx, 0x2000
je 0x454406
cmp edx, 0x212a
je 0x454406
cmp edx, 0xfb40
je 0x454406
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x004ff440]
movdqa xmm2, xmm0
paddd xmm2, xmm8
pxor xmm2, xmm12
movdqa xmm3, xmm10
pcmpgtd xmm3, xmm2
pxor xmm1, xmm12
movdqa xmm2, xmm11
pcmpgtd xmm2, xmm1
packssdw xmm3, xmm2
pmovmskb r8d, xmm3
test r8d, r8d
jne 0x453df0
paddd xmm0, xmm9
pxor xmm0, xmm12
movdqa xmm1, xmm7
pcmpgtd xmm1, xmm0
movmskps r8d, xmm1
test r8b, r8b
jne 0x453df0
add esi, 0xfffe9299
cmp esi, 2
jb 0x453df0
cmp edx, 0x330
mov r15, qword [rsp + 0x30]
jne 0x453976
jmp 0x453974
movabs rdx, 0xa800202020202801
bt rdx, rcx
jae 0x4539d0
jmp 0x454406
movabs rdx, 0x4021004002108401
bt rdx, rcx
jae 0x4539df
jmp 0x454406
mov edx, 0x1555
bt edx, ecx
jae 0x4539ee
jmp 0x454406
movabs r8, 0x48020000001005
bt r8, rdx
jae 0x4539ff
jmp 0x453df0
movabs r8, 0x4002108401
bt r8, rdx
jae 0x453a13
jmp 0x454406
mov r15, qword [rsp + 0x30]
jmp 0x453974
test bl, bl
je 0x4543ca
lea rcx, [rsp + 0xd0]
movups xmmword [rcx - 0x30], xmm6
and qword [rcx - 0x22], 0
movups xmmword [rsp + 0x52], xmm6
movzx eax, word [rsp + 0x60]
mov word [rcx - 0x4a], ax
movdqu xmm0, xmmword [rsp + 0x50]
movdqu xmmword [rcx - 0x5a], xmm0
and dword [rsp + 0x70], 0
and word [rsp + 0x74], 0
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], r12
xor eax, eax
mov byte [rsp + 0xb8], al
and dword [rsp + 0xbc], 0
mov byte [rsp + 0xc0], al
and dword [rsp + 0xc4], 0
mov byte [rsp + 0xc8], al
and dword [rsp + 0xcc], 0
mov byte [rsp + 0xd0], al
and dword [rsp + 0xd4], 0
mov byte [rsp + 0xd8], al
and qword [rsp + 0xe0], 0
mov dword [rsp + 0xf0], 0x110000
mov byte [rsp + 0xf4], al
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r12
mov ebx, 0x110000
lea r15, [rsp + 0x90]
lea rcx, [rsp + 0x50]
call fcn.0045224c
mov ebp, eax
mov rax, qword [rsp + 0xe0]
mov esi, ebx
cmp rax, 1
jne 0x453f35
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x453f02
cmp rax, qword [rsp + 0x88]
jb 0x4542b9
and qword [rsp + 0x88], 0
jmp 0x453f28
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454b34
cmp rax, rcx
jb 0x4542fa
cmp word [rsp + 0x74], 0
je 0x453f28
and word [rsp + 0x74], 0
and qword [rsp + 0xe0], 0
xor eax, eax
jmp 0x453ed4
cmp rax, 2
je 0x454296
mov qword [rsp + 0x48], r15
mov rcx, r15
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x454098
cmp qword [rcx + 8], 0
je 0x45408c
call fcn.0045224c
mov rcx, qword [rsp + 0x48]
cmp eax, 0x110000
je 0x45408c
mov esi, eax
cmp byte [rcx + 0x48], 0
je 0x453fdc
cmp esi, 0x80
jb 0x454046
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jb 0x453ff4
mov ecx, esi
call fcn.004f3190
test rax, rax
jne 0x453fb4
mov ecx, esi
call fcn.004f3051
test rax, rax
je 0x454046
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x454052
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00455771
add rsi, 4
jmp 0x453fc0
cmp esi, 0x80
jb 0x454046
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jae 0x45405c
mov eax, edi
xor edx, edx
mov ecx, 0x24c
div ecx
mov esi, edx
lea edx, [rax + 0x1100]
lea rbx, [rsp + 0x48]
mov rcx, rbx
call fcn.00455771
mov eax, esi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, rbx
call fcn.00455771
mov eax, edi
xor edx, edx
mov ecx, 0x1c
div ecx
test edx, edx
je 0x454052
mov esi, edx
add esi, 0x11a7
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.00455771
mov rcx, qword [rsp + 0x48]
jmp 0x453f47
mov ecx, esi
call fcn.004f3051
test rax, rax
je 0x454046
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x454052
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00455771
add rsi, 4
jmp 0x454074
cmp dword [rcx + 0x20], 0
je 0x45409e
mov rax, qword [rcx + 0x38]
jmp 0x4540a2
mov r10d, dword [rcx + 0x20]
jmp 0x4540cc
movzx eax, word [rcx + 0x24]
test rax, rax
je 0x45424d
call fcn.00455779
mov rcx, qword [rsp + 0x48]
mov r10d, dword [rcx + 0x20]
test r10d, r10d
je 0x4540c4
mov rdx, qword [rcx + 0x38]
jmp 0x4540c8
movzx edx, word [rcx + 0x24]
mov qword [rcx + 0x18], rdx
mov rax, qword [rcx + 0x10]
test r10d, r10d
je 0x4540df
mov r11, qword [rcx + 0x30]
mov r9, qword [rcx + 0x38]
jmp 0x4540f2
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x454be5
lea r11, [rcx + 0x28]
cmp r9, rax
jbe 0x454b42
lea r8, [rcx + 0x10]
mov esi, dword [r11 + rax*8 + 4]
inc rax
cmp rax, rdx
jne 0x454117
test r10d, r10d
je 0x45411f
mov r10, qword [rcx + 0x38]
jmp 0x454124
mov qword [r8], rax
jmp 0x4541af
movzx r10d, word [rcx + 0x24]
sub r10, rdx
lea r11, [rcx + 0x28]
xor eax, eax
cmp r10, rax
je 0x45418b
mov rdx, qword [rcx + 0x18]
add rdx, rax
cmp dword [rcx + 0x20], 0
je 0x454152
mov r9, qword [rcx + 0x38]
cmp r9, rdx
jbe 0x454af5
mov rdi, qword [rcx + 0x30]
jmp 0x45416d
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x454be5
mov rdi, r11
cmp rdx, r9
jae 0x454af5
cmp r9, rax
jbe 0x454b01
mov r9b, byte [rdi + rdx*8]
mov edx, dword [rdi + rdx*8 + 4]
mov byte [rdi + rax*8], r9b
mov dword [rdi + rax*8 + 4], edx
inc rax
jmp 0x45412d
cmp dword [rcx + 0x20], 0
je 0x45419d
cmp qword [rcx + 0x38], r10
jb 0x4541ab
mov qword [rcx + 0x38], r10
jmp 0x4541ab
movzx eax, word [rcx + 0x24]
cmp r10, rax
jae 0x4541ab
mov word [rcx + 0x24], r10w
movups xmmword [r8], xmm6
mov ecx, esi
call fcn.004f2ff7
mov ebx, eax
mov edi, dword [rsp + 0xf0]
cmp edi, 0x110000
jne 0x4541db
test bl, bl
jne 0x454328
mov dword [rsp + 0xf0], esi
jmp 0x453f3f
cmp byte [rsp + 0xf4], 0
je 0x454200
cmp byte [rsp + 0xf5], bl
jae 0x454225
mov ecx, edi
mov edx, esi
call fcn.004f2bcd
cmp eax, 0x110000
je 0x45422d
jmp 0x454219
mov ecx, edi
mov edx, esi
call fcn.004f2bcd
cmp eax, 0x110000
jne 0x454219
test bl, bl
jne 0x45422d
jmp 0x454399
mov dword [rsp + 0xf0], eax
jmp 0x453f3f
test bl, bl
je 0x454373
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.004554e3
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x453f3f
mov qword [rsp + 0xe0], 2
and qword [rsp + 0xe8], 0
mov ecx, dword [rsp + 0xf0]
mov eax, 2
mov esi, 0x110000
cmp ecx, 0x110000
je 0x453ed4
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
mov esi, ecx
jmp 0x454355
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x4542c3
cmp rax, qword [rsp + 0x88]
jae 0x45431d
mov rdx, qword [rsp + 0x80]
jmp 0x4542dc
mov rcx, qword [rsp + 0x80]
jmp 0x4542ff
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454b34
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x45432f
mov ebx, esi
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0xe0], 2
mov qword [rsp + 0xe8], rax
jmp 0x45434d
lea rcx, [rsp + 0x78]
mov ebx, esi
mov esi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0xe0], 1
mov qword [rsp + 0xe8], rax
jmp 0x454355
and qword [rsp + 0x88], 0
jmp 0x45433d
mov ebx, 0x110000
jmp 0x454355
cmp word [rsp + 0x74], 0
je 0x45433d
and word [rsp + 0x74], 0
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
lea r15, [rsp + 0x90]
cmp ebp, 0x110000
je 0x4543a6
cmp esi, 0x110000
je 0x4543ea
cmp esi, ebp
je 0x453ebe
jmp 0x4543ea
mov dword [rsp + 0xf0], esi
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0xe0], 1
and qword [rsp + 0xe8], 0
jmp 0x4543a0
mov dword [rsp + 0xf0], esi
mov ebx, esi
mov esi, edi
jmp 0x454355
lea rcx, [rsp + 0xb0]
call fcn.00455646
lea rcx, [rsp + 0x70]
call fcn.0045565c
cmp esi, 0x110000
mov r15, qword [rsp + 0x30]
jne 0x454406
mov rcx, r12
mov rdx, r13
mov r8, qword [rsp + 0x1f0]
lea r9, [rsp + 0x140]
call fcn.00454d22
jmp 0x452db0
lea rcx, [rsp + 0xb0]
call fcn.00455646
lea rcx, [rsp + 0x70]
call fcn.0045565c
mov r15, qword [rsp + 0x30]
mov byte [rsp + 0x145], 1
jmp 0x452db0
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
lea r9, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov qword [rsp + 0x30], rdx
mov r8, qword [rsp + 0x170]
call fcn.00454cee
lea rsi, [rsp + 0x70]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
and qword [rsi + 0x10], 0
mov qword [rsi + 0x18], rdx
mov qword [rsi + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rsi + 0x28], rax
and qword [rsi + 0x30], 0
mov qword [rsi + 0x38], rdx
mov word [rsi + 0x40], 1
lea rdi, [rsp + 0x1a0]
mov ebp, 1
mov r13d, 0x260fb
mov r14d, 0x62f8
mov rcx, rsi
call fcn.004f9eab
test rax, rax
je 0x45461c
test byte [rsp + 0x138], 1
je 0x454487
mov rbx, rax
mov r12, rdx
add r12, rax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x50]
call fcn.0045224c
cmp eax, 0x110000
je 0x454487
mov ecx, eax
call fcn.004f2af7
test al, al
je 0x454514
movzx eax, al
cmp eax, 0x11
je 0x454514
cmp eax, 9
jne 0x454614
lea rcx, [rsp + 0x50]
call fcn.0045224c
cmp eax, 0x110000
je 0x4545c6
mov ecx, eax
call fcn.004f2af7
cmp al, 0xe
ja 0x454614
movzx eax, al
bt r14, rax
jb 0x4544e2
jmp 0x454614
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x1a0], xmm0
xor esi, esi
xor ecx, ecx
mov r15d, ecx
mov rcx, rdi
call fcn.0045224c
cmp eax, 0x110000
je 0x454568
mov ecx, eax
call fcn.004f2af7
mov cl, 1
cmp al, 5
je 0x454527
cmp al, 1
movzx esi, sil
cmove esi, ebp
cmp al, 0x11
ja 0x454614
movzx eax, al
bt r13, rax
mov ecx, r15d
jb 0x454527
jmp 0x454614
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], rbx
mov rcx, rdi
call fcn.00454f01
cmp eax, 0x110000
je 0x454614
mov ebx, eax
mov ecx, eax
call fcn.004f2af7
cmp al, 0xd
je 0x454578
mov ecx, ebx
call fcn.004f2af7
cmp al, 0x11
ja 0x454614
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x454614
test sil, 1
je 0x4545bc
test r15b, r15b
jne 0x454614
lea rsi, [rsp + 0x70]
jmp 0x454487
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], rbx
mov rcx, rdi
call fcn.00454f01
cmp eax, 0x110000
je 0x454487
mov ebx, eax
mov ecx, eax
call fcn.004f2af7
cmp al, 0xd
je 0x4545d6
mov ecx, ebx
call fcn.004f2af7
cmp al, 9
je 0x454487
mov ecx, ebx
call fcn.004f2af7
cmp al, 5
je 0x454487
mov byte [rsp + 0x142], 1
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x454640
shl rdx, 4
mov rcx, qword [rsp + 0x128]
mov r8d, 8
call fcn.00434e53
mov rcx, qword [rsp + 0x30]
call fcn.004ae3c6
mov rbp, qword [rsp + 0x320]
mov rcx, qword [rbp + 0x10]
lea rbx, [rsp + 0x70]
movups xmm0, xmmword [rbp]
mov qword [rbp], rax
mov qword [rbp + 8], rdx
and qword [rbp + 0x10], 0
mov qword [rbx + 0x10], rcx
movaps xmmword [rbx], xmm0
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsi + 0x18]
mov rdx, qword [rsi + 0x20]
call fcn.0045b973
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x28], rax
movdqa xmm0, xmmword [rbx]
movdqu xmmword [rsi + 0x18], xmm0
mov rax, qword [rsi + 0x20]
mov rcx, qword [rsi + 0x28]
mov qword [rbx], rax
mov qword [rbx + 8], rcx
and qword [rbx + 0x10], 0
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rbx + 0x28], rax
and qword [rbx + 0x30], 0
mov qword [rbx + 0x38], rcx
mov word [rbx + 0x40], 1
xor esi, esi
lea r14, str.xn__
lea r15, [rsp + 0x1a0]
mov rcx, rbx
call fcn.004f9eab
test rax, rax
je 0x454a8e
mov r12, rax
mov rdi, rdx
test sil, 1
je 0x454709
mov rcx, rbp
call fcn.00454cbc
mov rsi, r12
cmp rdi, 8
jb 0x454764
lea rcx, [r12 + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, r12
cmp rax, rdi
ja 0x454764
movabs rdx, 0x8080808080808080
test qword [rsi], rdx
jne 0x454779
cmp rcx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x454a3a
movabs rdx, 0x8080808080808080
test qword [rsi + rax], rdx
jne 0x454779
add rax, 8
jmp 0x454745
xor eax, eax
cmp rdi, rax
je 0x454a4e
cmp byte [rsi + rax], 0
lea rax, [rax + 1]
jns 0x454766
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov r8d, 4
mov rcx, rbp
mov rdx, r14
call fcn.004f2b8c
add r12, rdi
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x1a8], rsi
mov dword [rsp + 0x30], 0
xor edi, edi
mov esi, edi
mov rcx, r15
call fcn.0045224c
cmp eax, 0x110000
je 0x4547e9
mov edi, esi
inc edi
je 0x4549f5
inc esi
cmp eax, 0x80
jae 0x4547b7
mov rcx, rbp
mov edx, eax
call fcn.00455560
inc dword [rsp + 0x30]
jmp 0x4547b5
mov qword [rsp + 0x170], r12
cmp dword [rsp + 0x30], 0
je 0x454805
mov rcx, rbp
mov edx, 0x2d
call fcn.00455560
xor ecx, ecx
mov r12d, 0x48
mov r13d, pe_nt_image_headers64
mov eax, dword [rsp + 0x30]
mov edi, eax
lea r14, [rsp + 0x120]
mov dword [rsp + 0x50], r13d
cmp edi, esi
jae 0x454a64
mov dword [rsp + 0x38], ecx
mov rbp, rdi
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1a8], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x1b0], rax
mov rcx, r15
call fcn.0045224c
cmp eax, 0x110000
je 0x454b4b
mov ebx, eax
mov rax, qword [rsp + 0x1b0]
mov edi, dword [rax]
cmp ebx, edi
jb 0x45485f
movdqa xmm0, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0x120], xmm0
mov rcx, r14
call fcn.0045224c
cmp eax, 0x110000
je 0x4548b1
cmp ebx, eax
mov ecx, eax
cmovb ecx, ebx
cmp edi, eax
cmovbe ebx, ecx
jmp 0x454894
mov r14d, ebx
sub r14d, r13d
mov rdi, rbp
lea ecx, [rbp + 1]
mov r8d, dword [rsp + 0x38]
mov eax, r8d
not eax
xor edx, edx
div ecx
cmp r14d, eax
mov rbp, qword [rsp + 0x320]
ja 0x4549e9
imul r14d, ecx
add r14d, r8d
mov dword [rsp + 0x50], ebx
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1a8], rax
mov rcx, r15
call fcn.0045224c
cmp eax, 0x110000
je 0x4549d6
mov ecx, dword [rsp + 0x50]
cmp eax, ecx
jae 0x454928
inc r14d
je 0x4549e9
cmp eax, ecx
jne 0x454904
mov qword [rsp + 0x38], rdi
lea r13d, [r12 + 0x1a]
mov edi, r12d
neg edi
mov ebp, 0x24
mov ebx, r14d
lea ecx, [rdi + rbp]
cmp ebp, r13d
mov eax, 0x1a
cmovae ecx, eax
cmp ebp, r12d
mov eax, 1
cmovbe ecx, eax
mov eax, ebx
sub eax, ecx
jb 0x454996
cmp ecx, 0x24
je 0x454ab0
mov r8d, 0x24
sub r8d, ecx
xor edx, edx
div r8d
mov ebx, eax
add ecx, edx
call fcn.00456031
mov rcx, qword [rsp + 0x320]
mov edx, eax
call fcn.00455560
add ebp, 0x24
jmp 0x454943
mov ecx, ebx
call fcn.00456031
mov rbp, qword [rsp + 0x320]
mov rcx, rbp
mov edx, eax
call fcn.00455560
mov rax, qword [rsp + 0x38]
lea ebx, [rax + 1]
cmp eax, dword [rsp + 0x30]
sete r8b
mov ecx, r14d
mov edx, ebx
call fcn.00455faa
mov r12d, eax
xor r14d, r14d
mov edi, ebx
jmp 0x454904
inc r14d
mov r13d, dword [rsp + 0x50]
inc r13d
mov ecx, r14d
jmp 0x454819
lea rbx, [rsp + 0x70]
lea r14, str.xn__
mov byte [rsp + 0x140], 1
mov rax, qword [rbp + 0x10]
mov sil, 1
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jb 0x4546e4
test rcx, rcx
je 0x454a31
cmp rax, rcx
jbe 0x454a2b
mov rax, qword [rbp + 8]
cmp byte [rax + rcx], 0xc0
jge 0x454a31
jmp 0x454bf9
jne 0x454bf9
mov qword [rbp + 0x10], rcx
jmp 0x4546e4
movabs rax, 0x8080808080808080
test qword [rsi + rcx], rax
jne 0x454779
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004f2b8c
mov sil, 1
jmp 0x4546e4
mov sil, 1
lea rbx, [rsp + 0x70]
lea r14, str.xn__
jmp 0x4546e4
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_uts46.rs
mov ecx, 4
mov edx, 4
jmp 0x452c28
mov eax, dword [rsp + 0x148]
mov rcx, qword [rsp + 0x208]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x140]
mov qword [rcx], rax
jmp 0x452c46
lea rcx, [0x00529ac0]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x39
call fcn.0042fe50
ud2
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, rax
call fcn.004312c0
ud2
lea rcx, [0x00529a20]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
jmp 0x454ac3
lea r8, [0x00529958]
mov rcx, rdx
jmp 0x454b0b
lea r8, [0x00529970]
mov rcx, rax
mov rdx, r9
jmp 0x452c28
lea r8, [0x0051ac68]
mov rcx, rbp
mov rdx, rbp
jmp 0x452c28
lea r8, [0x0051ac80]
mov rcx, rsi
jmp 0x452c28
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
jmp 0x454ad9
lea r8, [0x00529940]
jmp 0x454b08
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x2b
jmp 0x454ac3
lea rcx, [0x00529a20]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
jmp 0x454aee
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str.ntdll.dll
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x454bde
lea rax, str.Index_out_of_bounds
lea rcx, [rsp + 0x70]
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], 1
and qword [rcx], 0
lea rax, str.ntdll.dll
mov qword [rcx + 0x20], rax
and qword [rcx + 0x28], 0
lea rdx, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
call fcn.0042fe10
ud2
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
mov rcx, r9
jmp 0x454ad9
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_
lea r8, str._repos_rust_1.70.0_library_alloc_src_string.rsassertion_failed:_self.is_char_boundary_n_
mov edx, 0x30
jmp 0x454ac3
lea rcx, str.assertion_failed:_end___start__end___len
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov edx, 0x2c
jmp 0x454ac3
lea rax, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
xor r8d, r8d
mov r9, r12
jmp 0x454c5b
lea rax, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rsi
mov r8, rbx
mov r9, rsi
call fcn.0042f750
ud2
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x454b59
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x454b59
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
jmp 0x454b59