Function at 0x435c50
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 0x435d66
lea rax, [rdi + rsi]
lea rbx, [rsp + 0x1b0]
mov qword [rbx], rax
mov qword [rbx + 8], rdi
xor ecx, ecx
movaps xmm6, xmmword [0x004db360]
mov r14, rcx
mov rcx, rbx
call fcn.00435a5b
mov ecx, 0
cmp eax, 0x2e
je 0x435cff
cmp eax, 0x110000
je 0x43643e
test r14, r14
jne 0x435d29
cmp eax, 0x2d
je 0x435d66
mov ecx, 5
cmp r14, 5
jae 0x435d56
movaps xmmword [rsp + 0x70], xmm6
cmp r14, 4
je 0x43823c
cmp eax, dword [rsp + r14*4 + 0x70]
jne 0x435d56
inc r14
mov rcx, r14
cmp r14, 4
je 0x435d66
lea edx, [rax - 0x7b]
cmp edx, 0xffffffe5
ja 0x435cff
add eax, 0xffffffc6
cmp eax, 0xfffffff6
jae 0x435cff
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 + 0x148]
add rsi, rdi
xorps xmm6, xmm6
movups xmmword [rsp + 0x1b8], 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 + 0x1b0]
movdqu xmmword [r10 + 0x10], xmm0
mov r8, qword [rsp + 0x1c0]
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 + 0x178], rax
mov dword [r10 + 0x98], 0x110000
mov byte [r10 + 0x9c], dl
xor edx, edx
call fcn.004cfb2b
lea rbp, [rsp + 0x90]
lea r13, [0x00438460]
mov r15d, 0x1c
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x435f53
cmp rax, 1
jne 0x436351
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x4362df
cmp rax, qword [rsp + 0x88]
jb 0x436374
and qword [rsp + 0x88], 0
jmp 0x436305
mov dword [rsp + 0x110], edi
jmp 0x435f53
cmp byte [rsp + 0x114], 0
je 0x435f03
cmp byte [rsp + 0x115], bl
jae 0x435f25
mov ecx, esi
mov edx, edi
call fcn.004cf913
cmp eax, 0x110000
je 0x435f2d
jmp 0x435f1c
mov ecx, esi
mov edx, edi
call fcn.004cf913
cmp eax, 0x110000
jne 0x435f1c
test bl, bl
jne 0x435f2d
jmp 0x436345
mov dword [rsp + 0x110], eax
jmp 0x435f53
test bl, bl
je 0x43631c
lea rcx, [rsp + 0x70]
mov edx, edi
call fcn.00438df7
mov byte [rsp + 0x114], 1
mov byte [rsp + 0x115], bl
jmp 0x435f53
mov r8d, dword [rsi + 0x40]
jmp 0x4361aa
mov qword [rsp + 0x120], rbp
mov rsi, rbp
mov rdx, qword [rsi + 8]
test rdx, rdx
jne 0x435f4a
cmp byte [rsi + 0x38], 2
je 0x43616a
lea rbx, [rsi + 0x10]
lea r14, [rsi + 0x20]
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x435f9a
mov rcx, rbx
call fcn.00435a5b
cmp eax, 0x110000
jne 0x436019
and qword [rsi + 0x18], 0
mov rcx, r14
call fcn.00435a5b
mov edi, eax
lea eax, [rdi - 0x2d]
cmp eax, 2
jb case.default.0x435fe6
cmp edi, 0x110000
je 0x43615e
lea eax, [rdi - 0x61]
cmp eax, 0x1a
jb case.default.0x435fe6
lea eax, [rdi - 0x30]
cmp eax, 0xa
jb case.default.0x435fe6
mov ecx, edi
call fcn.00435ae4
movzx ecx, byte [rax]
movsxd rcx, dword [r13 + rcx*4]
add rcx, r13
jmp rcx
cmp byte [rsi + 0x39], 0
jne case.0x435fe6.50
jmp case.0x435fe6.48
cmp byte [rsi + 0x38], 0
je case.0x435fe6.50
mov rcx, qword [rsi + 0x30]
mov byte [rcx + 7], 1
inc rax
mov rcx, rax
call fcn.00435bc6
add rdx, rax
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rax
jmp 0x435f7d
mov edi, eax
jmp case.default.0x435fe6
cmp byte [rsi + 0x38], 0
je case.0x435fe6.48
mov rax, qword [rsi + 0x30]
add rax, 6
jmp 0x436045
cmp byte [rsi + 0x3c], 0
je case.0x435fe6.48
mov rax, qword [rsi + 0x30]
add rax, 0xb
jmp 0x436045
mov rax, qword [rsi + 0x30]
add rax, 8
mov byte [rax], 1
cmp edi, 0x110000
je 0x43615e
mov rax, qword [rsp + 0x120]
cmp byte [rax + 0x68], 0
je 0x4360ba
cmp edi, 0x80
jb 0x436119
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jb 0x4360d0
mov ecx, edi
call fcn.004cfd1c
test rax, rax
jne 0x436098
mov ecx, edi
call fcn.004cfbdd
test rax, rax
je 0x436119
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x436123
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.0043888f
add rdi, 4
jmp 0x4360a4
cmp edi, 0x80
jb 0x436119
lea esi, [rdi - 0xac00]
cmp esi, 0x2ba4
jae 0x436130
mov eax, esi
xor edx, edx
mov ecx, 0x24c
div ecx
mov edi, edx
lea edx, [rax + 0x1100]
mov rcx, r12
call fcn.0043888f
mov eax, edi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, r12
call fcn.0043888f
mov eax, esi
xor edx, edx
div r15d
test edx, edx
je 0x436123
mov edi, edx
add edi, 0x11a7
mov rcx, r12
mov edx, edi
call fcn.0043888f
mov rsi, qword [rsp + 0x120]
jmp 0x435f5e
mov ecx, edi
call fcn.004cfbdd
test rax, rax
je 0x436119
mov rsi, rax
mov rbx, rdx
shl rbx, 2
xor edi, edi
cmp rbx, rdi
je 0x436123
mov edx, dword [rsi + rdi]
mov rcx, r12
call fcn.0043888f
add rdi, 4
jmp 0x436148
mov byte [rsi + 0x38], 2
mov rsi, qword [rsp + 0x120]
cmp dword [rsi + 0x40], 0
je 0x436176
mov rax, qword [rsi + 0x58]
jmp 0x43617a
movzx eax, word [rsi + 0x44]
test rax, rax
je 0x4362ad
mov rcx, rsi
call fcn.00438897
mov rsi, qword [rsp + 0x120]
mov r8d, dword [rsi + 0x40]
test r8d, r8d
je 0x4361a2
mov rdx, qword [rsi + 0x58]
jmp 0x4361a6
movzx edx, word [rsi + 0x44]
mov qword [rsi + 8], rdx
mov rcx, qword [rsi]
test r8d, r8d
je 0x4361bc
mov r9, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
jmp 0x4361ce
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x43828e
lea r9, [rsi + 0x48]
cmp rax, rcx
jbe 0x4364c1
mov edi, dword [r9 + rcx*8 + 4]
inc rcx
cmp rcx, rdx
jne 0x4361ef
test r8d, r8d
je 0x4361f7
mov r8, qword [rsi + 0x58]
jmp 0x4361fc
mov qword [rsi], rcx
jmp 0x436287
movzx r8d, word [rsi + 0x44]
sub r8, rdx
lea r9, [rsi + 0x48]
xor ecx, ecx
cmp r8, rcx
je 0x436264
mov rdx, qword [rsi + 8]
add rdx, rcx
cmp dword [rsi + 0x40], 0
je 0x43622a
mov rax, qword [rsi + 0x58]
cmp rax, rdx
jbe 0x436421
mov r10, qword [rsi + 0x50]
jmp 0x436244
movzx eax, word [rsi + 0x44]
cmp rax, 5
jae 0x43828e
mov r10, r9
cmp rdx, rax
jae 0x436421
cmp rax, rcx
jbe 0x43642d
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 0x436205
cmp dword [rsi + 0x40], 0
je 0x436276
cmp qword [rsi + 0x58], r8
jb 0x436284
mov qword [rsi + 0x58], r8
jmp 0x436284
movzx eax, word [rsi + 0x44]
cmp r8, rax
jae 0x436284
mov word [rsi + 0x44], r8w
movups xmmword [rsi], xmm6
mov ecx, edi
call fcn.004cfb83
mov ebx, eax
mov esi, dword [rsp + 0x110]
cmp esi, 0x110000
jne 0x435ede
test bl, bl
je 0x435ed5
jmp 0x436315
mov qword [rsp + 0x100], 2
and qword [rsp + 0x108], 0
mov esi, dword [rsp + 0x110]
mov eax, 2
cmp esi, 0x110000
je 0x435e93
jmp 0x43637e
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x4382f8
cmp rax, rcx
jb 0x4363bb
cmp word [rsp + 0x74], 0
je 0x436305
and word [rsp + 0x74], 0
and qword [rsp + 0x100], 0
xor eax, eax
jmp 0x435e93
mov esi, edi
jmp 0x436410
mov dword [rsp + 0x110], edi
mov byte [rsp + 0x114], 0
mov qword [rsp + 0x100], 1
and qword [rsp + 0x108], 0
jmp 0x436410
mov dword [rsp + 0x110], edi
jmp 0x436410
mov rax, qword [rsp + 0x108]
cmp dword [rsp + 0x70], 0
je 0x43638e
cmp rax, qword [rsp + 0x88]
jae 0x4363dc
mov rdx, qword [rsp + 0x80]
jmp 0x4363a7
mov rcx, qword [rsp + 0x80]
jmp 0x4363c0
mov dword [rsp + 0x110], 0x110000
jmp 0x436410
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x4382f8
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x4363e7
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0x100], 2
jmp 0x4363d2
lea rcx, [rsp + 0x78]
mov esi, dword [rcx + rax*4]
inc rax
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], rax
jmp 0x436410
and qword [rsp + 0x88], 0
jmp 0x4363f5
cmp word [rsp + 0x74], 0
je 0x4363f5
and word [rsp + 0x74], 0
mov esi, dword [rsp + 0x110]
mov eax, 0x110000
mov dword [rsp + 0x110], eax
cmp esi, eax
je 0x4364cd
mov rcx, qword [rsp + 0x68]
mov edx, esi
call fcn.004d1194
jmp 0x435e8b
lea r8, [0x0059cab0]
mov rcx, rdx
jmp 0x436434
lea r8, [0x0059cac8]
mov rdx, rax
call fcn.00413b60
ud2
mov rcx, r13
mov rdx, rdi
mov r8, rsi
call fcn.004cfb42
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, [0x0059ca98]
jmp 0x436434
lea rcx, [rsp + 0xd0]
call fcn.00438e74
lea rcx, [rsp + 0x70]
call fcn.00438e8a
lea rax, [rsp + 0x120]
and qword [rax], 0
mov qword [rax + 8], 8
and qword [rax + 0x10], 0
mov r15, qword [rsp + 0x30]
mov rax, r15
and rax, 0xffffffffffff00ff
mov qword [rsp + 0x1f8], rax
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
lea rdx, [rsp + 0x1b0]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
and qword [rdx + 0x10], 0
mov qword [rdx + 0x18], rcx
mov qword [rdx + 0x20], 1
movabs rax, 0x2e0000002e
mov qword [rdx + 0x28], rax
and qword [rdx + 0x30], 0
mov qword [rdx + 0x38], rcx
mov word [rdx + 0x40], 1
xorps xmm6, xmm6
movdqa xmm11, xmmword [0x004db3b0]
movdqa xmm12, xmmword [0x004db3c0]
movdqa xmm13, xmmword [0x004db3d0]
movdqa xmm14, xmmword [0x004db3e0]
movdqa xmm15, xmmword [0x004db3f0]
movdqa xmm7, xmmword [0x004db400]
movdqa xmm8, xmmword [0x004db410]
movdqa xmm9, xmmword [0x004db420]
movdqa xmm10, xmmword [0x004db430]
xor r14d, r14d
xor eax, eax
mov qword [rsp + 0x140], rax
mov rbp, qword [rsp + 0x320]
lea rcx, [rsp + 0x1b0]
call fcn.00438480
test rax, rax
je 0x437bd7
mov rsi, rax
mov rdi, rdx
test r14b, 1
je 0x4365ef
mov rcx, rbp
call fcn.004385cd
mov r9d, 4
mov rcx, rsi
mov rdx, rdi
lea r8, str.xn__
call fcn.00439adb
mov r13, rsi
add r13, 4
test al, al
mov eax, 0
cmove r13, rax
je 0x4366cb
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 0x436714
mov cl, 0x2d
mov rdx, r13
mov r8, r12
call fcn.00414ce0
cmp rax, 1
jne 0x436714
mov r12, rdx
mov rbx, rdx
inc rbx
je 0x4366c1
cmp rbx, rsi
ja 0x4366c1
mov r14, r12
add r14, r13
mov edx, 1
mov r9d, 1
mov rcx, r14
lea r8, [rsp + 0x98]
call fcn.00499e0b
test al, al
jne 0x436797
mov qword [rsp + 0x88], r12
jmp 0x436668
test byte [rsp + 0x140], 1
jne 0x4366e8
mov rcx, rsi
mov rdx, rdi
call fcn.0043877c
mov qword [rsp + 0x140], rax
mov rcx, rsi
mov rdx, rdi
mov r8, r15
lea r9, [rsp + 0x148]
call fcn.00438633
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004cfb42
mov r14b, 1
jmp 0x4365c5
mov rax, r13
xor r12d, r12d
lea r13, str.ntdll.dll
cmp r12, 8
jb 0x43677f
lea rdx, [r13 + 7]
and rdx, 0xfffffffffffffff8
mov rcx, rdx
sub rcx, r13
cmp rcx, r12
ja 0x43677f
movabs r8, 0x8080808080808080
test qword [r13], r8
jne 0x4369ee
cmp rdx, r13
mov edx, 8
cmove rcx, rdx
lea rdx, [r12 - 8]
cmp rcx, rdx
jae 0x4367b8
movabs r8, 0x8080808080808080
test qword [r13 + rcx], r8
jne 0x4369ee
add rcx, 8
jmp 0x43675f
xor ecx, ecx
cmp r12, rcx
je 0x4367cd
cmp byte [r13 + rcx], 0
lea rcx, [rcx + 1]
jns 0x436781
jmp 0x4369ee
test r12, r12
je 0x436a08
cmp r12, rsi
jae 0x436a13
cmp byte [r14], 0xbf
jg 0x436a22
jmp 0x4383ed
movabs rcx, 0x8080808080808080
test qword [r13 + rdx], rcx
jne 0x4369ee
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 + 0x1a8], r13
mov qword [rsp + 0x190], r12
lea rcx, [rsp + 0x50]
call fcn.00439791
test al, 1
mov qword [rsp + 0x170], rbx
je 0x436a50
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 0x436842
add dl, 0xea
mov eax, edx
jmp 0x436857
lea eax, [rdx - 0x41]
cmp al, 0x1a
jb 0x436857
add dl, 0x9f
mov eax, edx
cmp dl, 0x1a
jae 0x4369e1
test r12d, r12d
je 0x4382a4
movzx ecx, al
mov eax, ebx
not eax
xor edx, edx
div r12d
cmp eax, ecx
jb 0x4369e1
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 0x4368ce
mov r14d, 0x24
sub r14d, eax
mov eax, r14d
mul r12d
jo 0x4369e1
lea rcx, [rsp + 0x50]
call fcn.00439791
test al, 1
je 0x4369e1
add r15d, 0x24
imul r12d, r14d
jmp 0x436834
mov ecx, ebx
sub ecx, edi
mov r14, qword [rsp + 0x40]
lea edx, [r14 + 1]
test edi, edi
sete r8b
call fcn.004397a1
inc r14d
je 0x438327
mov esi, eax
mov eax, ebx
xor edx, edx
mov qword [rsp + 0x40], r14
div r14d
add dword [rsp + 0x38], eax
jb 0x4369e1
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 0x4369e1
cmp dword [rsp + 0x38], 0x110000
je 0x4369e1
mov edi, edx
mov rax, qword [rsp + 0x128]
mov ebx, edx
mov rcx, qword [rsp + 0x170]
shl rcx, 4
xor edx, edx
mov r13, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x190]
cmp rcx, rdx
je 0x43697b
mov r8, qword [rax + rdx]
cmp r8, rbx
jb 0x436975
inc r8
mov qword [rax + rdx], r8
add rdx, 0x10
jmp 0x436960
mov rdx, qword [rsp + 0x170]
cmp rdx, qword [rsp + 0x120]
jne 0x4369aa
lea rcx, [rsp + 0x120]
call fcn.00439a05
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 0x436803
mov rbp, qword [rsp + 0x320]
mov r15, qword [rsp + 0x30]
mov byte [rsp + 0x148], 1
mov r14b, 1
mov al, 1
mov qword [rsp + 0x140], rax
jmp 0x4365c5
mov rax, r13
xor r12d, r12d
jmp 0x436721
jne 0x4383ed
add rdi, 0xfffffffffffffffd
mov rbx, rdi
je 0x436a42
cmp rbx, rsi
jae 0x436a38
cmp byte [r13 + rbx], 0xbf
jle 0x438407
mov rcx, rbx
jmp 0x436a44
mov rcx, rsi
je 0x436a44
jmp 0x438407
xor ecx, ecx
lea rax, [rcx + r13]
sub rsi, rcx
jmp 0x436721
mov rsi, qword [rsp + 0x128]
cmp rbx, 0x15
jae 0x436a7d
cmp rbx, 2
jb 0x436a75
mov r8d, 1
mov rcx, rsi
mov rdx, rbx
call fcn.0043569d
mov r14, rsi
jmp 0x43704c
lea rcx, [rbx*8]
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov edx, 8
call fcn.0040ad20
test rax, rax
je 0x438439
mov r15, rax
mov ecx, 0x100
mov edx, 8
call fcn.0040ad20
test rax, rax
je 0x43844c
mov r14, rax
lea rax, [rsi + 0x20]
mov qword [rsp + 0x198], rax
mov edi, 0x10
xor r11d, r11d
xor ecx, ecx
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x1a0], r15
mov rax, rbx
sub rax, rcx
jbe 0x43701f
cmp rax, 2
mov qword [rsp + 0x38], r11
mov rbp, rax
mov qword [rsp + 0x158], rdi
jae 0x436b13
mov rdx, rbx
jmp 0x436cb3
mov rdx, rcx
shl rdx, 4
lea r8, [rsi + rdx]
mov rax, qword [r8]
mov rdi, qword [r8 + 0x10]
cmp rdi, rax
jae 0x436b54
add rdx, qword [rsp + 0x198]
mov r8d, 2
mov r9, rdi
cmp rbp, r8
je 0x436b81
mov r10, qword [rdx]
cmp r10, r9
jae 0x436b7e
inc r8
add rdx, 0x10
mov r9, r10
jmp 0x436b3b
add rdx, qword [rsp + 0x198]
mov r8d, 2
mov r9, rdi
cmp rbp, r8
je 0x436b81
mov r10, qword [rdx]
cmp r10, r9
jb 0x436b7e
inc r8
add rdx, 0x10
mov r9, r10
jmp 0x436b65
mov rbp, r8
lea rdx, [rcx + rbp]
cmp rdi, rax
jae 0x436c76
mov qword [rsp + 0x168], rbp
mov qword [rsp + 0x188], r14
lea rax, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov rbp, rcx
mov qword [rsp + 0x180], rdx
mov r8, rsi
mov r9, rbx
call fcn.0043575f
mov rdi, rdx
shr rdi, 1
shl rdx, 4
lea rsi, [rdx + rax]
mov r12, rdi
shl r12, 4
sub rsi, r12
lea rcx, str._repos_rust_1.70.0_library_core_src_slice_mod.rs
mov qword [rsp + 0x20], rcx
xor ecx, ecx
mov rdx, rdi
mov r8, rax
mov r9, rdi
call fcn.0043575f
mov r14, rax
mov rbx, rdx
lea rax, str._repos_rust_1.70.0_library_core_src_slice_mod.rs
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov rdx, rdi
mov r8, rsi
mov r9, rdi
call fcn.0043575f
add r14, 8
dec rdi
add rax, r12
add rax, 0xfffffffffffffff8
mov r12, qword [rsp + 0x190]
mov rcx, rbx
cmp rdi, 0xffffffffffffffff
mov r11, qword [rsp + 0x38]
je 0x436c80
sub rcx, 1
jb 0x4382d7
cmp rdi, rdx
jae 0x4382e9
mov r8, qword [r14 - 8]
mov r9d, dword [r14]
mov r10, qword [rax - 8]
mov r11d, dword [rax]
mov qword [r14 - 8], r10
mov dword [r14], r11d
mov qword [rax - 8], r8
mov dword [rax], r9d
add r14, 0x10
dec rdi
add rax, 0xfffffffffffffff0
jmp 0x436c2f
mov rdi, qword [rsp + 0x158]
jmp 0x436cb3
mov rbx, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x160]
mov r14, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x158]
mov rdx, qword [rsp + 0x180]
mov rcx, rbp
mov rbp, qword [rsp + 0x168]
cmp rdx, rcx
jb 0x4383d5
cmp rdx, rbx
ja 0x4383d5
mov qword [rsp + 0x40], rcx
jae 0x436d2e
cmp rbp, 0xa
jae 0x436d2e
mov rax, qword [rsp + 0x40]
lea rdi, [rax + 0xa]
cmp rdi, rbx
cmovae rdi, rbx
cmp rbp, 2
mov eax, 1
cmovb rbp, rax
lea rax, str._repos_rust_1.70.0_library_core_src_slice_sort.rs
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x40]
mov rdx, rdi
mov r8, rsi
mov r9, rbx
call fcn.0043575f
mov rcx, rax
mov r8, rbp
call fcn.0043569d
mov rdx, rdi
mov rdi, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
cmp r11, rdi
jne 0x436da4
mov rbp, rdx
mov rcx, rdi
shl rcx, 5
mov edx, 8
call fcn.0040ad20
test rax, rax
je 0x438426
mov rsi, rax
lea rax, [rdi + rdi]
mov qword [rsp + 0x168], 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.00435645
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x158], rax
mov r14, rsi
mov rsi, qword [rsp + 0x160]
mov r11, qword [rsp + 0x38]
mov rdx, rbp
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x180], 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 + 0x188], r14
mov rcx, r14
mov rdx, r11
mov r8, rbx
mov rbp, r11
call fcn.0043579b
cmp rax, 1
jne 0x436fff
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.0043564f
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.0043564f
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.0043575f
mov r12, rax
mov rbp, rdx
mov rbx, r15
shl rbx, 4
lea r13, [rax + rbx]
mov rsi, rdx
shl rsi, 4
sub rbp, r15
mov qword [rsp + 0x168], r15
cmp rbp, r15
jae 0x436eea
shl rbp, 4
mov r15, qword [rsp + 0x1a0]
mov rcx, r15
mov rdx, r13
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rbp, r15
lea rax, [r12 + rsi]
add rax, 0xfffffffffffffff0
mov rbx, rbp
mov rsi, qword [rsp + 0x160]
cmp r13, r12
jbe 0x436f53
cmp rbx, r15
jbe 0x436f53
mov rcx, qword [rbx - 0x10]
cmp rcx, qword [r13 - 0x10]
jb 0x436ed5
add rbx, 0xfffffffffffffff0
mov rcx, rbx
jmp 0x436edc
add r13, 0xfffffffffffffff0
mov rcx, r13
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rax], xmm0
add rax, 0xfffffffffffffff0
jmp 0x436eb0
add rsi, r12
mov r15, qword [rsp + 0x1a0]
mov rcx, r15
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rbx, r15
mov rdx, r15
cmp rdx, rbx
jae 0x436f5b
cmp r13, rsi
jae 0x436f5b
mov r9, qword [r13]
xor eax, eax
xor r8d, r8d
mov rcx, r13
cmp r9, qword [rdx]
setae r9b
setb r10b
jb 0x436f2f
mov rcx, rdx
mov r8b, r10b
shl r8, 4
add r13, r8
mov al, r9b
shl rax, 4
add rdx, rax
movdqu xmm0, xmmword [rcx]
movdqu xmmword [r12], xmm0
add r12, 0x10
jmp 0x436f09
mov r12, r13
mov rdx, r15
jmp 0x436f63
mov rsi, 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 r13, qword [rsp + 0x1a8]
jbe 0x43833a
mov rcx, qword [rsp + 0x200]
add rcx, qword [rsp + 0x168]
shl r14, 4
mov rax, qword [rsp + 0x188]
mov qword [rax + r14], rcx
mov rcx, qword [rsp + 0x40]
mov qword [rax + r14 + 8], rcx
cmp r8, rdi
mov r12, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x170]
jbe 0x43836f
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 0x436dcd
mov rcx, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x158]
mov r11, rbp
mov rbp, qword [rsp + 0x320]
jmp 0x436ae9
mov rcx, r14
mov rdx, rdi
call fcn.00435645
mov edx, 8
mov rcx, r15
call fcn.0040adb0
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.004cfb2b
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 0x4370b3
mov rax, qword [rsp + 0x80]
mov rcx, rdi
shl rcx, 4
mov rdx, qword [rax + rcx]
cmp rdx, qword [rsp + 0x98]
je 0x4370f5
lea rcx, [rsp + 0x70]
call fcn.00435a5b
cmp eax, 0x110000
jne 0x4370db
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
cmp rdi, rbx
jb 0x437091
jmp 0x43711e
inc qword [rsp + 0x98]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
jmp 0x43710f
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.004d1194
jmp 0x437091
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.004385ff
mov r12, rax
mov r13, rdx
test byte [rsp + 0x140], 1
jne 0x437158
mov rcx, r12
mov rdx, r13
call fcn.0043877c
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x148]
call fcn.004387d5
mov r14b, 1
test al, al
jne 0x4365c5
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.00435a5b
cmp eax, 0x110000
je 0x4375be
mov esi, eax
xor eax, eax
cmp esi, 0x80
jb 0x437186
mov ecx, esi
call fcn.004cfb83
cmp bpl, al
jbe 0x4371bd
test al, al
jne 0x437bca
lea ecx, [rsi - 0x340]
cmp ecx, 4
ja 0x4371d1
cmp ecx, 2
jne 0x437bca
lea ecx, [rsi - 0x1fbe]
cmp ecx, 0x3f
jbe 0x43755b
lea ecx, [rsi - 0xf43]
cmp ecx, 0x3e
jbe 0x437574
lea ecx, [rsi - 0x1f71]
cmp ecx, 0xc
jbe 0x43758d
mov cl, 2
lea edx, [rsi - 0x30f]
cmp edx, 0x36
jbe 0x4375a0
lea edx, [rsi - 0xf93]
cmp edx, 0x26
mov r15, qword [rsp + 0x30]
ja 0x437233
movabs r8, 0x4002108401
bt r8, rdx
jb 0x437bca
lea edx, [rsi - 0xfa10]
cmp edx, 0x12
ja 0x43724e
mov r8d, 0x50005
bt r8d, edx
jb 0x437bca
lea edx, [rsi - 0x374]
cmp edx, 0x13
ja 0x437269
mov r8d, 0x80401
bt r8d, edx
jb 0x437bca
lea edx, [rsi - 0xa33]
cmp edx, 0x2b
ja 0x437288
movabs r8, 0x80000000009
bt r8, rdx
jb 0x437bca
lea edx, [rsi - 0xb3e]
cmp edx, 0x19
ja 0x4372a3
mov r8d, 0x3000001
bt r8d, edx
jb 0x4375b4
lea edx, [rsi - 0xdca]
cmp edx, 0x15
ja 0x4372be
mov r8d, 0x200021
bt r8d, edx
jb 0x4375b4
lea edx, [rsi - 0xfb1d]
cmp edx, 0x21
mov r15, qword [rsp + 0x30]
ja 0x4372e2
movabs r8, 0x200000005
bt r8, rdx
jb 0x437bca
lea edx, [rsi - 0x114b0]
cmp edx, 0xd
ja 0x4372fd
mov r8d, 0x2401
bt r8d, edx
jb 0x4375b4
lea edx, [rsi - 0x2329]
cmp edx, 2
mov r15, qword [rsp + 0x30]
jb 0x437bca
cmp esi, 0x93c
je 0x4375b4
cmp esi, 0x9be
je 0x4375b4
cmp esi, 0x9d7
je 0x4375b4
cmp esi, 0x9df
mov r15, qword [rsp + 0x30]
je 0x437bca
cmp esi, 0xbbe
je 0x4375b4
cmp esi, 0xbd7
je 0x4375b4
cmp esi, 0xc56
je 0x4375b4
cmp esi, 0xcc2
je 0x4375b4
cmp esi, 0xd3e
je 0x4375b4
cmp esi, 0xd57
je 0x4375b4
cmp esi, 0x102e
je 0x4375b4
cmp esi, 0x1b35
je 0x4375b4
cmp esi, 0x1fbb
mov r15, qword [rsp + 0x30]
je 0x437bca
cmp esi, 0x2126
je 0x437bca
cmp esi, 0x2adc
je 0x437bca
cmp esi, 0x110ba
je 0x4375b4
cmp esi, 0x11127
je 0x4375b4
cmp esi, 0x1133e
je 0x4375b4
cmp esi, 0x11357
je 0x4375b4
cmp esi, 0x115af
je 0x4375b4
cmp esi, 0x11930
je 0x4375b4
movd xmm1, esi
pshufd xmm0, xmm1, 0
movdqa xmm2, xmm0
paddd xmm2, xmmword [0x004db380]
movdqa xmm3, xmm0
paddd xmm3, xmmword [0x004db390]
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 0x437bca
pshufd xmm1, xmm1, 0x50
pand xmm1, xmmword [0x004db370]
pshufd xmm2, xmm1, 4
pcmpeqd xmm2, xmmword [0x004db3a0]
movdqa xmm3, xmm0
paddd xmm3, xmm11
pxor xmm3, xmm12
movdqa xmm4, xmm13
pcmpgtd xmm4, xmm3
por xmm4, xmm2
movmskps edx, xmm4
test dl, dl
jne 0x437bca
lea edx, [rsi - 0x1d1bb]
cmp edx, 6
jb 0x437bca
lea edx, [rsi - 0x2f800]
cmp edx, 0x21e
jb 0x437bca
movd edx, xmm1
cmp edx, 0x2000
je 0x437bca
cmp edx, 0x212a
je 0x437bca
cmp edx, 0xfb40
je 0x437bca
movdqa xmm1, xmm0
paddd xmm1, xmm7
paddd xmm0, xmm8
pxor xmm0, xmm12
movdqa xmm2, xmm9
pcmpgtd xmm2, xmm0
pxor xmm1, xmm12
movdqa xmm0, xmm10
pcmpgtd xmm0, xmm1
packssdw xmm2, xmm0
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x4375b4
lea r8d, [rsi - 0x11a8]
cmp r8d, 0x1b
jb 0x4375b4
add esi, 0xffffcf67
cmp esi, 2
jb 0x4375b4
cmp edx, 0x330
mov r15, qword [rsp + 0x30]
jne 0x437186
jmp 0x437184
movabs rdx, 0xa800202020202801
bt rdx, rcx
jae 0x4371e0
jmp 0x437bca
movabs rdx, 0x4021004002108401
bt rdx, rcx
jae 0x4371ef
jmp 0x437bca
mov edx, 0x1555
bt edx, ecx
jae 0x4371fe
jmp 0x437bca
movabs r8, 0x48020000001005
bt r8, rdx
jae 0x43720f
mov r15, qword [rsp + 0x30]
jmp 0x437184
test bl, bl
je 0x437b8e
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.00435a5b
mov ebp, eax
mov rax, qword [rsp + 0xe0]
mov esi, ebx
cmp rax, 1
jne 0x4376f9
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x4376c6
cmp rax, qword [rsp + 0x88]
jb 0x437a7d
and qword [rsp + 0x88], 0
jmp 0x4376ec
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x4382f8
cmp rax, rcx
jb 0x437abe
cmp word [rsp + 0x74], 0
je 0x4376ec
and word [rsp + 0x74], 0
and qword [rsp + 0xe0], 0
xor eax, eax
jmp 0x437698
cmp rax, 2
je 0x437a5a
mov qword [rsp + 0x48], r15
mov rcx, r15
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x43785c
cmp qword [rcx + 8], 0
je 0x437850
call fcn.00435a5b
mov rcx, qword [rsp + 0x48]
cmp eax, 0x110000
je 0x437850
mov esi, eax
cmp byte [rcx + 0x48], 0
je 0x4377a0
cmp esi, 0x80
jb 0x43780a
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jb 0x4377b8
mov ecx, esi
call fcn.004cfd1c
test rax, rax
jne 0x437778
mov ecx, esi
call fcn.004cfbdd
test rax, rax
je 0x43780a
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x437816
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00438f9f
add rsi, 4
jmp 0x437784
cmp esi, 0x80
jb 0x43780a
mov edi, esi
add edi, 0xffff5400
cmp edi, 0x2ba4
jae 0x437820
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.00438f9f
mov eax, esi
xor edx, edx
mov cx, 0x1c
div cx
add eax, 0x1161
movzx edx, ax
mov rcx, rbx
call fcn.00438f9f
mov eax, edi
xor edx, edx
mov ecx, 0x1c
div ecx
test edx, edx
je 0x437816
mov esi, edx
add esi, 0x11a7
lea rcx, [rsp + 0x48]
mov edx, esi
call fcn.00438f9f
mov rcx, qword [rsp + 0x48]
jmp 0x43770b
mov ecx, esi
call fcn.004cfbdd
test rax, rax
je 0x43780a
mov rdi, rax
mov rbx, rdx
shl rbx, 2
xor esi, esi
cmp rbx, rsi
je 0x437816
mov edx, dword [rdi + rsi]
lea rcx, [rsp + 0x48]
call fcn.00438f9f
add rsi, 4
jmp 0x437838
cmp dword [rcx + 0x20], 0
je 0x437862
mov rax, qword [rcx + 0x38]
jmp 0x437866
mov r10d, dword [rcx + 0x20]
jmp 0x437890
movzx eax, word [rcx + 0x24]
test rax, rax
je 0x437a11
call fcn.00438fa7
mov rcx, qword [rsp + 0x48]
mov r10d, dword [rcx + 0x20]
test r10d, r10d
je 0x437888
mov rdx, qword [rcx + 0x38]
jmp 0x43788c
movzx edx, word [rcx + 0x24]
mov qword [rcx + 0x18], rdx
mov rax, qword [rcx + 0x10]
test r10d, r10d
je 0x4378a3
mov r11, qword [rcx + 0x30]
mov r9, qword [rcx + 0x38]
jmp 0x4378b6
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x4383a9
lea r11, [rcx + 0x28]
cmp r9, rax
jbe 0x43831e
lea r8, [rcx + 0x10]
mov esi, dword [r11 + rax*8 + 4]
inc rax
cmp rax, rdx
jne 0x4378db
test r10d, r10d
je 0x4378e3
mov r10, qword [rcx + 0x38]
jmp 0x4378e8
mov qword [r8], rax
jmp 0x437973
movzx r10d, word [rcx + 0x24]
sub r10, rdx
lea r11, [rcx + 0x28]
xor eax, eax
cmp r10, rax
je 0x43794f
mov rdx, qword [rcx + 0x18]
add rdx, rax
cmp dword [rcx + 0x20], 0
je 0x437916
mov r9, qword [rcx + 0x38]
cmp r9, rdx
jbe 0x4382b9
mov rdi, qword [rcx + 0x30]
jmp 0x437931
movzx r9d, word [rcx + 0x24]
cmp r9, 5
jae 0x4383a9
mov rdi, r11
cmp rdx, r9
jae 0x4382b9
cmp r9, rax
jbe 0x4382c5
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 0x4378f1
cmp dword [rcx + 0x20], 0
je 0x437961
cmp qword [rcx + 0x38], r10
jb 0x43796f
mov qword [rcx + 0x38], r10
jmp 0x43796f
movzx eax, word [rcx + 0x24]
cmp r10, rax
jae 0x43796f
mov word [rcx + 0x24], r10w
movups xmmword [r8], xmm6
mov ecx, esi
call fcn.004cfb83
mov ebx, eax
mov edi, dword [rsp + 0xf0]
cmp edi, 0x110000
jne 0x43799f
test bl, bl
jne 0x437aec
mov dword [rsp + 0xf0], esi
jmp 0x437703
cmp byte [rsp + 0xf4], 0
je 0x4379c4
cmp byte [rsp + 0xf5], bl
jae 0x4379e9
mov ecx, edi
mov edx, esi
call fcn.004cf913
cmp eax, 0x110000
je 0x4379f1
jmp 0x4379dd
mov ecx, edi
mov edx, esi
call fcn.004cf913
cmp eax, 0x110000
jne 0x4379dd
test bl, bl
jne 0x4379f1
jmp 0x437b5d
mov dword [rsp + 0xf0], eax
jmp 0x437703
test bl, bl
je 0x437b37
lea rcx, [rsp + 0x70]
mov edx, esi
call fcn.00438df7
mov byte [rsp + 0xf4], 1
mov byte [rsp + 0xf5], bl
jmp 0x437703
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 0x437698
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
mov esi, ecx
jmp 0x437b19
mov rax, qword [rsp + 0xe8]
cmp dword [rsp + 0x70], 0
je 0x437a87
cmp rax, qword [rsp + 0x88]
jae 0x437ae1
mov rdx, qword [rsp + 0x80]
jmp 0x437aa0
mov rcx, qword [rsp + 0x80]
jmp 0x437ac3
movzx ecx, word [rsp + 0x74]
cmp rcx, 5
jae 0x4382f8
lea rdx, [rsp + 0x78]
cmp rax, rcx
jae 0x437af3
mov ebx, esi
mov esi, dword [rdx + rax*4]
inc rax
mov qword [rsp + 0xe0], 2
mov qword [rsp + 0xe8], rax
jmp 0x437b11
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 0x437b19
and qword [rsp + 0x88], 0
jmp 0x437b01
mov ebx, 0x110000
jmp 0x437b19
cmp word [rsp + 0x74], 0
je 0x437b01
and word [rsp + 0x74], 0
mov dword [rsp + 0xf0], 0x110000
mov ebx, 0x110000
lea r15, [rsp + 0x90]
cmp ebp, 0x110000
je 0x437b6a
cmp esi, 0x110000
je 0x437bae
cmp esi, ebp
je 0x437682
jmp 0x437bae
mov dword [rsp + 0xf0], esi
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0xe0], 1
and qword [rsp + 0xe8], 0
jmp 0x437b64
mov dword [rsp + 0xf0], esi
mov ebx, esi
mov esi, edi
jmp 0x437b19
lea rcx, [rsp + 0xb0]
call fcn.00438e74
lea rcx, [rsp + 0x70]
call fcn.00438e8a
cmp esi, 0x110000
mov r15, qword [rsp + 0x30]
jne 0x437bca
mov rcx, r12
mov rdx, r13
mov r8, qword [rsp + 0x1f8]
lea r9, [rsp + 0x148]
call fcn.00438633
jmp 0x4365bd
lea rcx, [rsp + 0xb0]
call fcn.00438e74
lea rcx, [rsp + 0x70]
call fcn.00438e8a
mov r15, qword [rsp + 0x30]
mov byte [rsp + 0x14d], 1
jmp 0x4365bd
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 + 0x178]
call fcn.004385ff
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 + 0x1b0]
mov ebp, 1
mov r13d, 0x260fb
mov r14d, 0x62f8
mov rcx, rsi
call fcn.00438480
test rax, rax
je 0x437de0
test byte [rsp + 0x140], 1
je 0x437c4b
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.00435a5b
cmp eax, 0x110000
je 0x437c4b
mov ecx, eax
call fcn.004cf877
test al, al
je 0x437cd8
movzx eax, al
cmp eax, 0x11
je 0x437cd8
cmp eax, 9
jne 0x437dd8
lea rcx, [rsp + 0x50]
call fcn.00435a5b
cmp eax, 0x110000
je 0x437d8a
mov ecx, eax
call fcn.004cf877
cmp al, 0xe
ja 0x437dd8
movzx eax, al
bt r14, rax
jb 0x437ca6
jmp 0x437dd8
movdqa xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x1b0], xmm0
xor esi, esi
xor ecx, ecx
mov r15d, ecx
mov rcx, rdi
call fcn.00435a5b
cmp eax, 0x110000
je 0x437d2c
mov ecx, eax
call fcn.004cf877
mov cl, 1
cmp al, 5
je 0x437ceb
cmp al, 1
movzx esi, sil
cmove esi, ebp
cmp al, 0x11
ja 0x437dd8
movzx eax, al
bt r13, rax
mov ecx, r15d
jb 0x437ceb
jmp 0x437dd8
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1b8], rbx
mov rcx, rdi
call fcn.00438815
cmp eax, 0x110000
je 0x437dd8
mov ebx, eax
mov ecx, eax
call fcn.004cf877
cmp al, 0xd
je 0x437d3c
mov ecx, ebx
call fcn.004cf877
cmp al, 0x11
ja 0x437dd8
movzx eax, al
mov ecx, 0x20023
bt rcx, rax
jae 0x437dd8
test sil, 1
je 0x437d80
test r15b, r15b
jne 0x437dd8
lea rsi, [rsp + 0x70]
jmp 0x437c4b
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1b8], rbx
mov rcx, rdi
call fcn.00438815
cmp eax, 0x110000
je 0x437c4b
mov ebx, eax
mov ecx, eax
call fcn.004cf877
cmp al, 0xd
je 0x437d9a
mov ecx, ebx
call fcn.004cf877
cmp al, 9
je 0x437c4b
mov ecx, ebx
call fcn.004cf877
cmp al, 5
je 0x437c4b
mov byte [rsp + 0x14a], 1
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x437e04
shl rdx, 4
mov rcx, qword [rsp + 0x128]
mov r8d, 8
call fcn.00499137
mov rcx, qword [rsp + 0x30]
call fcn.004cf82b
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.00443318
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 + 0x1b0]
mov rcx, rbx
call fcn.00438480
test rax, rax
je 0x438252
mov r12, rax
mov rdi, rdx
test sil, 1
je 0x437ecd
mov rcx, rbp
call fcn.004385cd
mov rsi, r12
cmp rdi, 8
jb 0x437f28
lea rcx, [r12 + 7]
and rcx, 0xfffffffffffffff8
mov rax, rcx
sub rax, r12
cmp rax, rdi
ja 0x437f28
movabs rdx, 0x8080808080808080
test qword [rsi], rdx
jne 0x437f3d
cmp rcx, r12
mov ecx, 8
cmove rax, rcx
lea rcx, [rdi - 8]
cmp rax, rcx
jae 0x4381fe
movabs rdx, 0x8080808080808080
test qword [rsi + rax], rdx
jne 0x437f3d
add rax, 8
jmp 0x437f09
xor eax, eax
cmp rdi, rax
je 0x438212
cmp byte [rsi + rax], 0
lea rax, [rax + 1]
jns 0x437f2a
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov r8d, 4
mov rcx, rbp
mov rdx, r14
call fcn.004cfb42
add r12, rdi
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x1b8], rsi
mov dword [rsp + 0x30], 0
xor edi, edi
mov esi, edi
mov rcx, r15
call fcn.00435a5b
cmp eax, 0x110000
je 0x437fad
mov edi, esi
inc edi
je 0x4381b9
inc esi
cmp eax, 0x80
jae 0x437f7b
mov rcx, rbp
mov edx, eax
call fcn.004d1194
inc dword [rsp + 0x30]
jmp 0x437f79
mov qword [rsp + 0x178], r12
cmp dword [rsp + 0x30], 0
je 0x437fc9
mov rcx, rbp
mov edx, 0x2d
call fcn.004d1194
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 0x438228
mov dword [rsp + 0x38], ecx
mov rbp, rdi
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1b8], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x1c0], rax
mov rcx, r15
call fcn.00435a5b
cmp eax, 0x110000
je 0x438306
mov ebx, eax
mov rax, qword [rsp + 0x1c0]
mov edi, dword [rax]
cmp ebx, edi
jb 0x438023
movdqa xmm0, xmmword [rsp + 0x1b0]
movdqa xmmword [rsp + 0x120], xmm0
mov rcx, r14
call fcn.00435a5b
cmp eax, 0x110000
je 0x438075
cmp ebx, eax
mov ecx, eax
cmovb ecx, ebx
cmp edi, eax
cmovbe ebx, ecx
jmp 0x438058
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 0x4381ad
imul r14d, ecx
add r14d, r8d
mov dword [rsp + 0x50], ebx
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x1b8], rax
mov rcx, r15
call fcn.00435a5b
cmp eax, 0x110000
je 0x43819a
mov ecx, dword [rsp + 0x50]
cmp eax, ecx
jae 0x4380ec
inc r14d
je 0x4381ad
cmp eax, ecx
jne 0x4380c8
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 0x43815a
cmp ecx, 0x24
je 0x438274
mov r8d, 0x24
sub r8d, ecx
xor edx, edx
div r8d
mov ebx, eax
add ecx, edx
call fcn.00439828
mov rcx, qword [rsp + 0x320]
mov edx, eax
call fcn.004d1194
add ebp, 0x24
jmp 0x438107
mov ecx, ebx
call fcn.00439828
mov rbp, qword [rsp + 0x320]
mov rcx, rbp
mov edx, eax
call fcn.004d1194
mov rax, qword [rsp + 0x38]
lea ebx, [rax + 1]
cmp eax, dword [rsp + 0x30]
sete r8b
mov ecx, r14d
mov edx, ebx
call fcn.004397a1
mov r12d, eax
xor r14d, r14d
mov edi, ebx
jmp 0x4380c8
inc r14d
mov r13d, dword [rsp + 0x50]
inc r13d
mov ecx, r14d
jmp 0x437fdd
lea rbx, [rsp + 0x70]
lea r14, str.xn__
mov byte [rsp + 0x148], 1
mov rax, qword [rbp + 0x10]
mov sil, 1
mov rcx, qword [rsp + 0x40]
cmp rax, rcx
jb 0x437ea8
test rcx, rcx
je 0x4381f5
cmp rax, rcx
jbe 0x4381ef
mov rax, qword [rbp + 8]
cmp byte [rax + rcx], 0xc0
jge 0x4381f5
jmp 0x4383bd
jne 0x4383bd
mov qword [rbp + 0x10], rcx
jmp 0x437ea8
movabs rax, 0x8080808080808080
test qword [rsi + rcx], rax
jne 0x437f3d
mov rcx, rbp
mov rdx, rsi
mov r8, rdi
call fcn.004cfb42
mov sil, 1
jmp 0x437ea8
mov sil, 1
lea rbx, [rsp + 0x70]
lea r14, str.xn__
jmp 0x437ea8
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 0x436437
mov eax, dword [rsp + 0x150]
mov rcx, qword [rsp + 0x208]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x148]
mov qword [rcx], rax
jmp 0x436455
lea rcx, [0x0059cc10]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x39
call fcn.00413c20
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.00415090
ud2
lea rcx, [0x0059cb70]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
mov edx, 0x19
jmp 0x438287
lea r8, [0x0059cab0]
mov rcx, rdx
jmp 0x4382cf
lea r8, [0x0059cac8]
mov rcx, rax
mov rdx, r9
jmp 0x436437
lea r8, str._repos_rust_1.70.0_library_core_src_slice_mod.rs
mov rcx, rbx
mov rdx, rbx
jmp 0x436437
lea r8, str._repos_rust_1.70.0_library_core_src_slice_mod.rs
mov rcx, rdi
jmp 0x436437
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_tinyvec_1.8.0_src_arrayvec.rs
mov edx, 4
jmp 0x43829d
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 0x438287
lea r8, [0x0059ca98]
jmp 0x4382cc
lea rcx, [0x0059cb70]
lea r8, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_idna_0.5.0_src_punycode.rs
jmp 0x4382b2
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 0x4383a2
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.00413be0
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 0x43829d
lea rcx, str.assertion_failed:_self.is_char_boundary_new_len_x8_
lea r8, str._repos_rust_1.70.0_library_alloc_src_string.rsassertion_failed:_self.is_char_boundary_n_x8_
mov edx, 0x30
jmp 0x438287
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 0x438287
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 0x43841f
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.00413520
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 0x438314
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 0x438314
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 0x438314