Function at 0x451931
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 0x451a47
lea rax, [rdi + rsi]
lea rbx, [rsp + 0x1a0]
mov qword [rbx], rax
mov qword [rbx + 8], rdi
xor ecx, ecx
movaps xmm6, xmmword [0x005033a0]
mov r14, rcx
mov rcx, rbx
call fcn.0045173c
mov ecx, 0
cmp eax, 0x2e
je 0x4519e0
cmp eax, 0x110000
je 0x45211f
test r14, r14
jne 0x451a0a
cmp eax, 0x2d
je 0x451a47
mov ecx, 5
cmp r14, 5
jae 0x451a37
movaps xmmword [rsp + 0x70], xmm6
cmp r14, 4
je 0x453f68
cmp eax, dword [rsp + r14*4 + 0x70]
jne 0x451a37
inc r14
mov rcx, r14
cmp r14, 4
je 0x451a47
lea edx, [rax - 0x7b]
cmp edx, 0xffffffe5
ja 0x4519e0
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x4519e0
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.004f70a5
lea rbp, [rsp + 0x90]
lea r13, [0x0045418c]
mov r15d, 0x1c
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x451c34
cmp rax, 1
jne 0x452032
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x451fc0
cmp rax, qword [rsp + 0x88]
jb 0x452055
and qword [rsp + 0x88], 0
jmp 0x451fe6
mov dword [rsp + 0x110], edi
jmp 0x451c34
cmp byte [rsp + 0x114], 0
je 0x451be4
cmp byte [rsp + 0x115], bl
jae 0x451c06
mov ecx, esi
mov edx, edi
call fcn.004f70fd
cmp eax, 0x110000
je 0x451c0e
jmp 0x451bfd
mov ecx, esi
mov edx, edi
call fcn.004f70fd
cmp eax, 0x110000
jne 0x451bfd
test bl, bl
jne 0x451c0e
jmp 0x452026
mov dword [rsp + 0x110], eax
jmp 0x451c34
test bl, bl
je 0x451ffd
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.004549d3
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], bl
jmp 0x451c34
mov r8d, dword [rsi + 0x40]
jmp 0x451e8b
mov qword [rsp + 0x120], rbp
mov rsi, rbp
mov rdx, qword [rsi + 8]
test rdx, rdx
jne 0x451c2b
cmp byte [rsi + 0x38], 2
je 0x451e4b
lea rbx, [rsi + 0x10]
lea r14, [rsi + 0x20]
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x451c7b
mov rcx, rbx
call fcn.0045173c
cmp eax, 0x110000
jne 0x451cfa
and qword [rsi + 0x18], 0
mov rcx, r14
call fcn.0045173c
mov edi, eax
lea eax, [rdi - 0x2d]
cmp eax, 2
jb case.default.0x451cc7
cmp edi, 0x110000
je 0x451e3f
lea eax, [rdi - 0x61]
cmp eax, 0x1a
jb case.default.0x451cc7
lea eax, [rdi - 0x30]
cmp eax, 0xa
jb case.default.0x451cc7
mov ecx, edi
call fcn.004517c5
movzx ecx, byte [rax]
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
jmp rcx
cmp byte [rsi + 0x39], 0
jne case.0x451cc7.50
jmp case.0x451cc7.48
cmp byte [rsi + 0x38], 0
je case.0x451cc7.50
mov rcx, qword [rsi + 0x30]
mov byte [rcx + 7], 1
inc rax
mov rcx, rax
call fcn.004518a7
add rdx, rax
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
jmp 0x451c5e
mov edi, eax
jmp case.default.0x451cc7
cmp byte [rsi + 0x38], 0
je case.0x451cc7.48
mov rax, qword [rsi + 0x30]
add rax, 6
jmp 0x451d26
cmp byte [rsi + 0x3c], 0
je case.0x451cc7.48
mov rax, qword [rsi + 0x30]
add rax, 0xb
jmp 0x451d26
mov rax, qword [rsi + 0x30]
add rax, 8
mov byte [rax], 1
cmp edi, 0x110000
je 0x451e3f
mov rax, qword [rsp + 0x120]
cmp byte [rax + 0x68], 0
je 0x451d9b
cmp edi, 0x80
jb 0x451dfa
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jb 0x451db1
mov ecx, edi
call fcn.004f76c0
test rax, rax
jne 0x451d79
mov ecx, edi
call fcn.004f7581
test rax, rax
je 0x451dfa
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x451e04
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.0045446b
add rdi, 4
jmp 0x451d85
cmp edi, 0x80
jb 0x451dfa
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jae 0x451e11
mov eax, esi
xor edx, edx
mov ecx, 0x24c
div ecx
mov edi, edx
lea edx, [rax + 0x1100]
mov rcx, r12
call fcn.0045446b
mov eax, edi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, r12
call fcn.0045446b
mov eax, esi
xor edx, edx
div r15d
test edx, edx
je 0x451e04
mov edi, edx
add edi, 0x11a7
mov rcx, r12
mov edx, edi
call fcn.0045446b
mov rsi, qword [rsp + 0x120]
jmp 0x451c3f
mov ecx, edi
call fcn.004f7581
test rax, rax
je 0x451dfa
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x451e04
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.0045446b
add rdi, 4
jmp 0x451e29
mov byte [rsi + 0x38], 2
mov rsi, qword [rsp + 0x120]
cmp dword [rsi + 0x40], 0
je 0x451e57
mov rax, qword [rsi + 0x58]
jmp 0x451e5b
movzx eax, word [rsi + 0x44]
test rax, rax
je 0x451f8e
mov rcx, rsi
call fcn.00454473
mov rsi, qword [rsp + 0x120]
mov r8d, dword [rsi + 0x40]
test r8d, r8d
je 0x451e83
mov rdx, qword [rsi + 0x58]
jmp 0x451e87
movzx edx, word [rsi + 0x44]
mov qword [rsi + 8], rdx
mov rcx, qword [rsi]
test r8d, r8d
je 0x451e9d
mov r9, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
jmp 0x451eaf
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x453fba
lea r9, [rsi + 0x48]
cmp rax, rcx
jbe 0x4521a2
mov edi, dword [r9 + rcx*8 + 4]
inc rcx
cmp rcx, rdx
jne 0x451ed0
test r8d, r8d
je 0x451ed8
mov r8, qword [rsi + 0x58]
jmp 0x451edd
mov qword [rsi], rcx
jmp 0x451f68
movzx r8d, word [rsi + 0x44]
sub r8, rdx
lea r9, [rsi + 0x48]
xor ecx, ecx
cmp r8, rcx
je 0x451f45
mov rdx, qword [rsi + 8]
add rdx, rcx
cmp dword [rsi + 0x40], 0
je 0x451f0b
mov rax, qword [rsi + 0x58]
cmp rax, rdx
jbe 0x452102
mov r10, qword [rsi + 0x50]
jmp 0x451f25
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x453fba
mov r10, r9
cmp rdx, rax
jae 0x452102
cmp rax, rcx
jbe 0x45210e
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 0x451ee6
cmp dword [rsi + 0x40], 0
je 0x451f57
cmp qword [rsi + 0x58], r8
jb 0x451f65
mov qword [rsi + 0x58], r8
jmp 0x451f65
movzx eax, word [rsi + 0x44]
cmp r8, rax
jae 0x451f65
mov word [rsi + 0x44], r8w
movups xmmword [rsi], xmm6
mov ecx, edi
call fcn.004f7527
mov ebx, eax
mov esi, dword [rsp + 0x110]
cmp esi, 0x110000
jne 0x451bbf
test bl, bl
je 0x451bb6
jmp 0x451ff6
mov qword [rsp + 0x100], 2
and qword [rsp + 0x108], 0
mov esi, dword [rsp + 0x110]
mov eax, 2
cmp esi, 0x110000
je 0x451b74
jmp 0x45205f
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454024
cmp rax, rcx
jb 0x45209c
cmp word [rsp + 0x74], 0
je 0x451fe6
and word [rsp + 0x74], 0
and qword [rsp + 0x100], 0
xor eax, eax
jmp 0x451b74
mov esi, edi
jmp 0x4520f1
mov dword [rsp + 0x110], edi
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x100], 1
and qword [rsp + 0x108], 0
jmp 0x4520f1
mov dword [rsp + 0x110], edi
jmp 0x4520f1
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x45206f
cmp rax, qword [rsp + 0x88]
jae 0x4520bd
mov rdx, qword [rsp + 0x80]
jmp 0x452088
mov rcx, qword [rsp + 0x80]
jmp 0x4520a1
mov dword [rsp + 0x110], 0x110000
jmp 0x4520f1
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454024
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x4520c8
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x100], 2
jmp 0x4520b3
lea rcx, [rsp + 0x78]
mov esi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
jmp 0x4520f1
and qword [rsp + 0x88], 0
jmp 0x4520d6
cmp word [rsp + 0x74], 0
je 0x4520d6
and word [rsp + 0x74], 0
mov esi, dword [rsp + 0x110]
mov eax, 0x110000
mov dword [rsp + 0x110], eax
cmp esi, eax
je 0x4521ae
mov rcx, qword [rsp + 0x68]
mov edx, esi
call fcn.00454a50
jmp 0x451b6c
lea r8, [0x0052dcd8]
mov rcx, rdx
jmp 0x452115
lea r8, [0x0052dcf0]
mov rdx, rax
call fcn.0042f150
ud2
mov rcx, r13
mov rdx, rdi
mov r8, rsi
call fcn.004f70bc
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, [0x0052dcc0]
jmp 0x452115
lea rcx, [rsp + 0xd0]
call fcn.00454b36
lea rcx, [rsp + 0x70]
call fcn.00454b4c
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 [0x00503400]
movdqa xmm13, xmmword [0x00503410]
movdqa xmm14, xmmword [0x00503420]
movdqa xmm15, xmmword [0x00503430]
movdqa xmm8, xmmword [0x00503450]
movdqa xmm9, xmmword [0x00503460]
movdqa xmm10, xmmword [0x00503470]
movdqa xmm11, xmmword [0x00503480]
movdqa xmm7, xmmword [0x00503490]
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x138], rax
mov rbp, qword [rsp + 0x320]
lea rcx, [rsp + 0x1a0]
call fcn.004fe397
test rax, rax
je 0x453903
mov rsi, rax
mov rdi, rdx
test r14b, 1
je 0x4522d2
mov rcx, rbp
call fcn.004541ac
mov r9d, 4
mov rcx, rsi
mov rdx, rdi
lea r8, str.xn__
call fcn.0045571c
mov r13, rsi
add r13, 4
test al, al
mov eax, 0
cmove r13, rax
je 0x4523ae
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 0x4523f7
mov cl, 0x2d
mov rdx, r13
mov r8, r12
call fcn.00430390
cmp rax, 1
jne 0x4523f7
mov r12, rdx
mov rbx, rdx
inc rbx
je 0x4523a4
cmp rbx, rsi
ja 0x4523a4
mov r14, r12
add r14, r13
mov edx, 1
mov r9d, 1
mov rcx, r14
lea r8, [rsp + 0x98]
call fcn.00455227
test al, al
jne 0x45247a
mov qword [rsp + 0x88], r12
jmp 0x45234b
test byte [rsp + 0x138], 1
jne 0x4523cb
mov rcx, rsi
mov rdx, rdi
call fcn.00454358
mov qword [rsp + 0x138], rax
mov rcx, rsi
mov rdx, rdi
mov r8, r15
lea r9, [rsp + 0x140]
call fcn.00454212
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004f70bc
mov r14b, 1
jmp 0x4522a8
mov rax, r13
xor r12d, r12d
lea r13, str.ntdll.dll
cmp r12, 8
jb 0x452462
lea rdx, [r13 + 7]
and rdx, 0xfffffffffffffff8
mov rcx, rdx
sub rcx, r13
cmp rcx, r12
ja 0x452462
movabs r8, 0x8080808080808080
test qword [r13], r8
jne 0x4526d1
cmp rdx, r13
mov edx, 8
cmove rcx, rdx
lea rdx, [r12 - 8]
cmp rcx, rdx
jae 0x45249b
movabs r8, 0x8080808080808080
test qword [r13 + rcx], r8
jne 0x4526d1
add rcx, 8
jmp 0x452442
xor ecx, ecx
cmp r12, rcx
je 0x4524b0
cmp byte [r13 + rcx], 0
lea rcx, [rcx + 1]
jns 0x452464
jmp 0x4526d1
test r12, r12
je 0x4526eb
cmp r12, rsi
jae 0x4526f6
cmp byte [r14], 0xbf
jg 0x452705
jmp 0x454119
movabs rcx, 0x8080808080808080
test qword [r13 + rdx], rcx
jne 0x4526d1
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.0045548a
test al, 1
mov qword [rsp + 0x168], rbx
je 0x452733
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 0x452525
add dl, 0xea
mov eax, edx
jmp 0x45253a
lea eax, [rdx - 0x41]
cmp al, 0x1a
jb 0x45253a
add dl, 0x9f
mov eax, edx
cmp dl, 0x1a
jae 0x4526c4
test r12d, r12d
je 0x453fd0
movzx ecx, al
mov eax, ebx
not eax
xor edx, edx
div r12d
cmp eax, ecx
jb 0x4526c4
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 0x4525b1
mov r14d, 0x24
sub r14d, eax
mov eax, r14d
mul r12d
jo 0x4526c4
lea rcx, [rsp + 0x50]
call fcn.0045548a
test al, 1
je 0x4526c4
add r15d, 0x24
imul r12d, r14d
jmp 0x452517
mov ecx, ebx
sub ecx, edi
mov r14, qword [rsp + 0x40]
lea edx, [r14 + 1]
test edi, edi
sete r8b
call fcn.0045549a
inc r14d
je 0x454053
mov esi, eax
mov eax, ebx
xor edx, edx
mov qword [rsp + 0x40], r14
div r14d
add dword [rsp + 0x38], eax
jb 0x4526c4
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 0x4526c4
cmp dword [rsp + 0x38], 0x110000
je 0x4526c4
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 0x45265e
mov r8, qword [rax + rdx]
cmp r8, rbx
jb 0x452658
inc r8
mov qword [rax + rdx], r8
add rdx, 0x10
jmp 0x452643
mov rdx, qword [rsp + 0x168]
cmp rdx, qword [rsp + 0x120]
jne 0x45268d
lea rcx, [rsp + 0x120]
call fcn.004b00c0
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 0x4524e6
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 0x4522a8
mov rax, r13
xor r12d, r12d
jmp 0x452404
jne 0x454119
add rdi, 0xfffffffffffffffd
mov rbx, rdi
je 0x452725
cmp rbx, rsi
jae 0x45271b
cmp byte [r13 + rbx], 0xbf
jle 0x454133
mov rcx, rbx
jmp 0x452727
mov rcx, rsi
je 0x452727
jmp 0x454133
xor ecx, ecx
lea rax, [rcx + r13]
sub rsi, rcx
jmp 0x452404
mov rsi, qword [rsp + 0x128]
cmp rbx, 0x15
jae 0x452760
cmp rbx, 2
jb 0x452758
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.0045163e
mov r14, rsi
jmp 0x452d2c
lea rcx, [rbx*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov edx, 8
call fcn.00403370
test rax, rax
je 0x454165
mov r15, rax
mov ecx, 0x100
mov edx, 8
call fcn.00403370
test rax, rax
je 0x454178
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 0x452cff
cmp r10, 2
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x150], rdi
jae 0x4527f3
mov rdx, rbx
jmp 0x452996
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 0x45283a
add rdx, qword [rsp + 0x190]
mov r8d, 2
mov r9, rdi
cmp r10, r8
je 0x45286a
mov r10, qword [rdx]
cmp r10, r9
jae 0x452867
inc r8
add rdx, 0x10
mov r9, r10
mov r10, rbp
jmp 0x45281e
add rdx, qword [rsp + 0x190]
mov r8d, 2
mov r9, rdi
cmp r10, r8
je 0x45286a
mov r10, qword [rdx]
cmp r10, r9
jb 0x452867
inc r8
add rdx, 0x10
mov r9, r10
mov r10, rbp
jmp 0x45284b
mov r10, r8
lea rdx, [r10 + rcx]
cmp rdi, rax
jae 0x452967
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.00451700
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, [0x0051efb8]
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov rdx, rsi
mov r8, rax
mov r9, rsi
call fcn.00451700
mov rbx, rax
mov rbp, rdx
lea rax, [0x0051efd0]
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.00451700
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 0x452971
sub rcx, 1
jb 0x454003
cmp rsi, rdx
jae 0x454015
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 0x452920
mov rdi, qword [rsp + 0x150]
jmp 0x452996
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 0x454101
cmp rdx, rbx
ja 0x454101
jae 0x452a0a
cmp r10, 0xa
jae 0x452a0a
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.00451700
mov rcx, rax
mov r8, qword [rsp + 0x40]
call fcn.0045163e
mov rdx, rdi
mov rdi, qword [rsp + 0x150]
mov rcx, rbp
mov r11, qword [rsp + 0x38]
cmp r11, rdi
jne 0x452a85
mov qword [rsp + 0x158], rcx
mov rbp, rdx
mov rcx, rdi
shl rcx, 5
mov edx, 8
call fcn.00403370
test rax, rax
je 0x454152
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.00451326
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.00451567
cmp rax, 1
jne 0x452cdf
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.00451330
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.00451330
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.00451700
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 0x452bcb
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 0x452c33
cmp rbx, r15
jbe 0x452c33
mov rcx, qword [rbx - 0x10]
cmp rcx, qword [rsi - 0x10]
jb 0x452bb6
add rbx, 0xfffffffffffffff0
mov rcx, rbx
jmp 0x452bbd
add rsi, 0xfffffffffffffff0
mov rcx, rsi
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rax], xmm0
add rax, 0xfffffffffffffff0
jmp 0x452b91
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 0x452c3b
cmp rsi, r13
jae 0x452c3b
mov r9, qword [rsi]
xor eax, eax
xor r8d, r8d
mov rcx, rsi
cmp r9, qword [rdx]
setae r9b
setb r10b
jb 0x452c0f
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 0x452bea
mov r12, rsi
mov rdx, r15
jmp 0x452c43
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 0x454066
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 0x45409b
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 0x452aae
mov rcx, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x150]
mov r11, rbp
mov rbp, qword [rsp + 0x320]
jmp 0x4527cc
mov rcx, r14
mov rdx, rdi
call fcn.00451326
mov edx, 8
mov rcx, r15
call fcn.00403400
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.004f70a5
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 0x452d93
mov rax, qword [rsp + 0x80]
mov rcx, rdi
shl rcx, 4
mov rdx, qword [rax + rcx]
cmp rdx, qword [rsp + 0x98]
je 0x452dd5
lea rcx, [rsp + 0x70]
call fcn.0045173c
cmp eax, 0x110000
jne 0x452dbb
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
cmp rdi, rbx
jb 0x452d71
jmp 0x452dfe
inc qword [rsp + 0x98]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
jmp 0x452def
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.00454a50
jmp 0x452d71
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.004541de
mov r12, rax
mov r13, rdx
test byte [rsp + 0x138], 1
jne 0x452e38
mov rcx, r12
mov rdx, r13
call fcn.00454358
mov qword [rsp + 0x138], rax
lea rcx, [rsp + 0x140]
call fcn.004543b1
mov r14b, 1
test al, al
jne 0x4522a8
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.0045173c
cmp eax, 0x110000
je 0x4532ea
mov esi, eax
xor eax, eax
cmp esi, 0x80
jb 0x452e66
mov ecx, esi
call fcn.004f7527
cmp bpl, al
jbe 0x452e9d
test al, al
jne 0x4538f6
lea ecx, [rsi - 0x340]
cmp ecx, 4
ja 0x452eb1
cmp ecx, 2
jne 0x4538f6
lea ecx, [rsi - 0x1fbe]
cmp ecx, 0x3f
jbe 0x45326c
lea ecx, [rsi - 0xf43]
cmp ecx, 0x3e
jbe 0x453285
lea ecx, [rsi - 0x1f71]
cmp ecx, 0xc
jbe 0x45329e
mov cl, 2
lea edx, [rsi - 0x30f]
cmp edx, 0x36
jbe 0x4532b1
lea edx, [rsi - 0xf93]
cmp edx, 0x26
mov r15, qword [rsp + 0x30]
jbe 0x4532c7
lea edx, [rsi - 0xfa10]
cmp edx, 0x12
ja 0x452f1e
mov r8d, 0x50005
bt r8d, edx
jb 0x4538f6
lea edx, [rsi - 0x113b8]
cmp edx, 0xd
ja 0x452f39
mov r8d, 0x2409
bt r8d, edx
jb 0x4532e0
lea edx, [rsi - 0x374]
cmp edx, 0x13
mov r15, qword [rsp + 0x30]
ja 0x452f59
mov r8d, 0x80401
bt r8d, edx
jb 0x4538f6
lea edx, [rsi - 0xa33]
cmp edx, 0x2b
ja 0x452f78
movabs r8, 0x80000000009
bt r8, rdx
jb 0x4538f6
lea edx, [rsi - 0xb3e]
cmp edx, 0x19
ja 0x452f93
mov r8d, 0x3000001
bt r8d, edx
jb 0x4532e0
lea edx, [rsi - 0xdca]
cmp edx, 0x15
ja 0x452fae
mov r8d, 0x200021
bt r8d, edx
jb 0x4532e0
lea edx, [rsi - 0xfb1d]
cmp edx, 0x21
mov r15, qword [rsp + 0x30]
ja 0x452fd2
movabs r8, 0x200000005
bt r8, rdx
jb 0x4538f6
lea edx, [rsi - 0x114b0]
cmp edx, 0xd
ja 0x452fed
mov r8d, 0x2401
bt r8d, edx
jb 0x4532e0
lea edx, [rsi - 0x2329]
cmp edx, 2
mov r15, qword [rsp + 0x30]
jb 0x4538f6
cmp esi, 0x93c
je 0x4532e0
cmp esi, 0x9be
je 0x4532e0
cmp esi, 0x9d7
je 0x4532e0
cmp esi, 0x9df
mov r15, qword [rsp + 0x30]
je 0x4538f6
cmp esi, 0xbbe
je 0x4532e0
cmp esi, 0xbd7
je 0x4532e0
cmp esi, 0xc56
je 0x4532e0
cmp esi, 0xcc2
je 0x4532e0
cmp esi, 0xd3e
je 0x4532e0
cmp esi, 0xd57
je 0x4532e0
cmp esi, 0x102e
je 0x4532e0
cmp esi, 0x1b35
je 0x4532e0
cmp esi, 0x1fbb
mov r15, qword [rsp + 0x30]
je 0x4538f6
cmp esi, 0x2126
je 0x4538f6
cmp esi, 0x2adc
je 0x4538f6
cmp esi, 0x110ba
je 0x4532e0
cmp esi, 0x11127
je 0x4532e0
cmp esi, 0x1133e
je 0x4532e0
cmp esi, 0x11357
je 0x4532e0
cmp esi, 0x115af
je 0x4532e0
cmp esi, 0x11930
je 0x4532e0
movd xmm1, esi
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x005033c0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x005033d0]
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 0x4538f6
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x005033b0]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x005033e0]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x005033f0]
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne 0x4538f6
lea edx, [rsi - 0x1d1bb]
cmp edx, 6
jb 0x4538f6
lea edx, [rsi - 0x2f800]
cmp edx, 0x21e
jb 0x4538f6
movd edx, xmm1
cmp edx, 0x2000
je 0x4538f6
cmp edx, 0x212a
je 0x4538f6
cmp edx, 0xfb40
je 0x4538f6
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x00503440]
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 0x4532e0
paddd xmm0, xmm9
pxor xmm0, xmm12
movdqa xmm1, xmm7
pcmpgtd xmm1, xmm0
movmskps r8d, xmm1
test r8b, r8b
jne 0x4532e0
add esi, 0xfffe9299
cmp esi, 2
jb 0x4532e0
cmp edx, 0x330
mov r15, qword [rsp + 0x30]
jne 0x452e66
jmp 0x452e64
movabs rdx, 0xa800202020202801
bt rdx, rcx
jae 0x452ec0
jmp 0x4538f6
movabs rdx, 0x4021004002108401
bt rdx, rcx
jae 0x452ecf
jmp 0x4538f6
mov edx, 0x1555
bt edx, ecx
jae 0x452ede
jmp 0x4538f6
movabs r8, 0x48020000001005
bt r8, rdx
jae 0x452eef
jmp 0x4532e0
movabs r8, 0x4002108401
bt r8, rdx
jae 0x452f03
jmp 0x4538f6
mov r15, qword [rsp + 0x30]
jmp 0x452e64
test bl, bl
je 0x4538ba
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.0045173c
mov ebp, eax
mov rax, qword [rsp + 0xe0]
mov esi, ebx
cmp rax, 1
jne 0x453425
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x4533f2
cmp rax, qword [rsp + 0x88]
jb 0x4537a9
and qword [rsp + 0x88], 0
jmp 0x453418
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454024
cmp rax, rcx
jb 0x4537ea
cmp word [rsp + 0x74], 0
je 0x453418
and word [rsp + 0x74], 0
and qword [rsp + 0xe0], 0
xor eax, eax
jmp 0x4533c4
cmp rax, 2
je 0x453786
mov qword [rsp + 0x48], r15
mov rcx, r15
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x453588
cmp qword [rcx + 8], 0
je 0x45357c
call fcn.0045173c
mov rcx, qword [rsp + 0x48]
cmp eax, 0x110000
je 0x45357c
mov esi, eax
cmp byte [rcx + 0x48], 0
je 0x4534cc
cmp esi, 0x80
jb 0x453536
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jb 0x4534e4
mov ecx, esi
call fcn.004f76c0
test rax, rax
jne 0x4534a4
mov ecx, esi
call fcn.004f7581
test rax, rax
je 0x453536
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x453542
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00454c61
add rsi, 4
jmp 0x4534b0
cmp esi, 0x80
jb 0x453536
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jae 0x45354c
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.00454c61
mov eax, esi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, rbx
call fcn.00454c61
mov eax, edi
xor edx, edx
mov ecx, 0x1c
div ecx
test edx, edx
je 0x453542
mov esi, edx
add esi, 0x11a7
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.00454c61
mov rcx, qword [rsp + 0x48]
jmp 0x453437
mov ecx, esi
call fcn.004f7581
test rax, rax
je 0x453536
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x453542
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00454c61
add rsi, 4
jmp 0x453564
cmp dword [rcx + 0x20], 0
je 0x45358e
mov rax, qword [rcx + 0x38]
jmp 0x453592
mov r10d, dword [rcx + 0x20]
jmp 0x4535bc
movzx eax, word [rcx + 0x24]
test rax, rax
je 0x45373d
call fcn.00454c69
mov rcx, qword [rsp + 0x48]
mov r10d, dword [rcx + 0x20]
test r10d, r10d
je 0x4535b4
mov rdx, qword [rcx + 0x38]
jmp 0x4535b8
movzx edx, word [rcx + 0x24]
mov qword [rcx + 0x18], rdx
mov rax, qword [rcx + 0x10]
test r10d, r10d
je 0x4535cf
mov r11, qword [rcx + 0x30]
mov r9, qword [rcx + 0x38]
jmp 0x4535e2
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x4540d5
lea r11, [rcx + 0x28]
cmp r9, rax
jbe 0x454032
lea r8, [rcx + 0x10]
mov esi, dword [r11 + rax*8 + 4]
inc rax
cmp rax, rdx
jne 0x453607
test r10d, r10d
je 0x45360f
mov r10, qword [rcx + 0x38]
jmp 0x453614
mov qword [r8], rax
jmp 0x45369f
movzx r10d, word [rcx + 0x24]
sub r10, rdx
lea r11, [rcx + 0x28]
xor eax, eax
cmp r10, rax
je 0x45367b
mov rdx, qword [rcx + 0x18]
add rdx, rax
cmp dword [rcx + 0x20], 0
je 0x453642
mov r9, qword [rcx + 0x38]
cmp r9, rdx
jbe 0x453fe5
mov rdi, qword [rcx + 0x30]
jmp 0x45365d
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x4540d5
mov rdi, r11
cmp rdx, r9
jae 0x453fe5
cmp r9, rax
jbe 0x453ff1
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 0x45361d
cmp dword [rcx + 0x20], 0
je 0x45368d
cmp qword [rcx + 0x38], r10
jb 0x45369b
mov qword [rcx + 0x38], r10
jmp 0x45369b
movzx eax, word [rcx + 0x24]
cmp r10, rax
jae 0x45369b
mov word [rcx + 0x24], r10w
movups xmmword [r8], xmm6
mov ecx, esi
call fcn.004f7527
mov ebx, eax
mov edi, dword [rsp + 0xf0]
cmp edi, 0x110000
jne 0x4536cb
test bl, bl
jne 0x453818
mov dword [rsp + 0xf0], esi
jmp 0x45342f
cmp byte [rsp + 0xf4], 0
je 0x4536f0
cmp byte [rsp + 0xf5], bl
jae 0x453715
mov ecx, edi
mov edx, esi
call fcn.004f70fd
cmp eax, 0x110000
je 0x45371d
jmp 0x453709
mov ecx, edi
mov edx, esi
call fcn.004f70fd
cmp eax, 0x110000
jne 0x453709
test bl, bl
jne 0x45371d
jmp 0x453889
mov dword [rsp + 0xf0], eax
jmp 0x45342f
test bl, bl
je 0x453863
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.004549d3
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x45342f
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 0x4533c4
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
mov esi, ecx
jmp 0x453845
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x4537b3
cmp rax, qword [rsp + 0x88]
jae 0x45380d
mov rdx, qword [rsp + 0x80]
jmp 0x4537cc
mov rcx, qword [rsp + 0x80]
jmp 0x4537ef
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x454024
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x45381f
mov ebx, esi
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0xe0], 2
mov qword [rsp + 0xe8], rax
jmp 0x45383d
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 0x453845
and qword [rsp + 0x88], 0
jmp 0x45382d
mov ebx, 0x110000
jmp 0x453845
cmp word [rsp + 0x74], 0
je 0x45382d
and word [rsp + 0x74], 0
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
lea r15, [rsp + 0x90]
cmp ebp, 0x110000
je 0x453896
cmp esi, 0x110000
je 0x4538da
cmp esi, ebp
je 0x4533ae
jmp 0x4538da
mov dword [rsp + 0xf0], esi
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0xe0], 1
and qword [rsp + 0xe8], 0
jmp 0x453890
mov dword [rsp + 0xf0], esi
mov ebx, esi
mov esi, edi
jmp 0x453845
lea rcx, [rsp + 0xb0]
call fcn.00454b36
lea rcx, [rsp + 0x70]
call fcn.00454b4c
cmp esi, 0x110000
mov r15, qword [rsp + 0x30]
jne 0x4538f6
mov rcx, r12
mov rdx, r13
mov r8, qword [rsp + 0x1f0]
lea r9, [rsp + 0x140]
call fcn.00454212
jmp 0x4522a0
lea rcx, [rsp + 0xb0]
call fcn.00454b36
lea rcx, [rsp + 0x70]
call fcn.00454b4c
mov r15, qword [rsp + 0x30]
mov byte [rsp + 0x145], 1
jmp 0x4522a0
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.004541de
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.004fe397
test rax, rax
je 0x453b0c
test byte [rsp + 0x138], 1
je 0x453977
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.0045173c
cmp eax, 0x110000
je 0x453977
mov ecx, eax
call fcn.004f7027
test al, al
je 0x453a04
movzx eax, al
cmp eax, 0x11
je 0x453a04
cmp eax, 9
jne 0x453b04
lea rcx, [rsp + 0x50]
call fcn.0045173c
cmp eax, 0x110000
je 0x453ab6
mov ecx, eax
call fcn.004f7027
cmp al, 0xe
ja 0x453b04
movzx eax, al
bt r14, rax
jb 0x4539d2
jmp 0x453b04
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x1a0], xmm0
xor esi, esi
xor ecx, ecx
mov r15d, ecx
mov rcx, rdi
call fcn.0045173c
cmp eax, 0x110000
je 0x453a58
mov ecx, eax
call fcn.004f7027
mov cl, 1
cmp al, 5
je 0x453a17
cmp al, 1
movzx esi, sil
cmove esi, ebp
cmp al, 0x11
ja 0x453b04
movzx eax, al
bt r13, rax
mov ecx, r15d
jb 0x453a17
jmp 0x453b04
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], rbx
mov rcx, rdi
call fcn.004543f1
cmp eax, 0x110000
je 0x453b04
mov ebx, eax
mov ecx, eax
call fcn.004f7027
cmp al, 0xd
je 0x453a68
mov ecx, ebx
call fcn.004f7027
cmp al, 0x11
ja 0x453b04
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x453b04
test sil, 1
je 0x453aac
test r15b, r15b
jne 0x453b04
lea rsi, [rsp + 0x70]
jmp 0x453977
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], rbx
mov rcx, rdi
call fcn.004543f1
cmp eax, 0x110000
je 0x453977
mov ebx, eax
mov ecx, eax
call fcn.004f7027
cmp al, 0xd
je 0x453ac6
mov ecx, ebx
call fcn.004f7027
cmp al, 9
je 0x453977
mov ecx, ebx
call fcn.004f7027
cmp al, 5
je 0x453977
mov byte [rsp + 0x142], 1
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x453b30
shl rdx, 4
mov rcx, qword [rsp + 0x128]
mov r8d, 8
call fcn.004342d3
mov rcx, qword [rsp + 0x30]
call fcn.004b0016
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.0045ae63
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.004fe397
test rax, rax
je 0x453f7e
mov r12, rax
mov rdi, rdx
test sil, 1
je 0x453bf9
mov rcx, rbp
call fcn.004541ac
mov rsi, r12
cmp rdi, 8
jb 0x453c54
lea rcx, [r12 + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, r12
cmp rax, rdi
ja 0x453c54
movabs rdx, 0x8080808080808080
test qword [rsi], rdx
jne 0x453c69
cmp rcx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x453f2a
movabs rdx, 0x8080808080808080
test qword [rsi + rax], rdx
jne 0x453c69
add rax, 8
jmp 0x453c35
xor eax, eax
cmp rdi, rax
je 0x453f3e
cmp byte [rsi + rax], 0
lea rax, [rax + 1]
jns 0x453c56
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov r8d, 4
mov rcx, rbp
mov rdx, r14
call fcn.004f70bc
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.0045173c
cmp eax, 0x110000
je 0x453cd9
mov edi, esi
inc edi
je 0x453ee5
inc esi
cmp eax, 0x80
jae 0x453ca7
mov rcx, rbp
mov edx, eax
call fcn.00454a50
inc dword [rsp + 0x30]
jmp 0x453ca5
mov qword [rsp + 0x170], r12
cmp dword [rsp + 0x30], 0
je 0x453cf5
mov rcx, rbp
mov edx, 0x2d
call fcn.00454a50
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 0x453f54
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.0045173c
cmp eax, 0x110000
je 0x45403b
mov ebx, eax
mov rax, qword [rsp + 0x1b0]
mov edi, dword [rax]
cmp ebx, edi
jb 0x453d4f
movdqa xmm0, xmmword [rsp + 0x1a0]
movdqa xmmword [rsp + 0x120], xmm0
mov rcx, r14
call fcn.0045173c
cmp eax, 0x110000
je 0x453da1
cmp ebx, eax
mov ecx, eax
cmovb ecx, ebx
cmp edi, eax
cmovbe ebx, ecx
jmp 0x453d84
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 0x453ed9
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.0045173c
cmp eax, 0x110000
je 0x453ec6
mov ecx, dword [rsp + 0x50]
cmp eax, ecx
jae 0x453e18
inc r14d
je 0x453ed9
cmp eax, ecx
jne 0x453df4
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 0x453e86
cmp ecx, 0x24
je 0x453fa0
mov r8d, 0x24
sub r8d, ecx
xor edx, edx
div r8d
mov ebx, eax
add ecx, edx
call fcn.00455521
mov rcx, qword [rsp + 0x320]
mov edx, eax
call fcn.00454a50
add ebp, 0x24
jmp 0x453e33
mov ecx, ebx
call fcn.00455521
mov rbp, qword [rsp + 0x320]
mov rcx, rbp
mov edx, eax
call fcn.00454a50
mov rax, qword [rsp + 0x38]
lea ebx, [rax + 1]
cmp eax, dword [rsp + 0x30]
sete r8b
mov ecx, r14d
mov edx, ebx
call fcn.0045549a
mov r12d, eax
xor r14d, r14d
mov edi, ebx
jmp 0x453df4
inc r14d
mov r13d, dword [rsp + 0x50]
inc r13d
mov ecx, r14d
jmp 0x453d09
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 0x453bd4
test rcx, rcx
je 0x453f21
cmp rax, rcx
jbe 0x453f1b
mov rax, qword [rbp + 8]
cmp byte [rax + rcx], 0xc0
jge 0x453f21
jmp 0x4540e9
jne 0x4540e9
mov qword [rbp + 0x10], rcx
jmp 0x453bd4
movabs rax, 0x8080808080808080
test qword [rsi + rcx], rax
jne 0x453c69
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004f70bc
mov sil, 1
jmp 0x453bd4
mov sil, 1
lea rbx, [rsp + 0x70]
lea r14, str.xn__
jmp 0x453bd4
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 0x452118
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 0x452136
lea rcx, [0x0052de40]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x39
call fcn.0042f210
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.00430740
ud2
lea rcx, [0x0052dda0]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
jmp 0x453fb3
lea r8, [0x0052dcd8]
mov rcx, rdx
jmp 0x453ffb
lea r8, [0x0052dcf0]
mov rcx, rax
mov rdx, r9
jmp 0x452118
lea r8, [0x0051efe8]
mov rcx, rbp
mov rdx, rbp
jmp 0x452118
lea r8, [0x0051f000]
mov rcx, rsi
jmp 0x452118
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
jmp 0x453fc9
lea r8, [0x0052dcc0]
jmp 0x453ff8
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 0x453fb3
lea rcx, [0x0052dda0]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
jmp 0x453fde
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 0x4540ce
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.0042f1d0
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 0x453fc9
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 0x453fb3
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 0x453fb3
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 0x45414b
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.0042eb10
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 0x454049
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 0x454049
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 0x454049