Function at 0x1401c8ac0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
mov r13, r8
mov rdi, rdx
mov r12, rcx
mov r14, qword [rdx + 0x38]
mov qword [rdx + 0x38], 0
test r14, r14
je 0x1401c8ca6
movzx eax, byte [r14 + 0x80]
test al, al
jne 0x1401c8b5a
mov rsi, r12
mov rax, qword [r13]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
mov r15, rax
mov r12, rdx
mov al, 1
xchg byte [r14 + 0x60], al
test al, al
je 0x1401c8b29
mov rcx, r12
call qword [r15 + 0x18]
mov r12, rsi
jmp 0x1401c8b5a
mov rax, qword [r14 + 0x50]
test rax, rax
je 0x1401c8b39
mov rcx, qword [r14 + 0x58]
call qword [rax + 0x18]
mov qword [r14 + 0x50], r15
mov qword [r14 + 0x58], r12
xor eax, eax
xchg byte [r14 + 0x60], al
movzx eax, byte [r14 + 0x80]
test al, al
mov r12, rsi
je 0x1401c97fd
mov al, 1
xchg byte [r14 + 0x48], al
test al, al
je 0x1401c8b91
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1401c8bbc
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401ca806
mov rcx, rax
mov qword [0x1403ac160], rax
jmp 0x1401c8bbc
movzx eax, byte [r14 + 0x41]
mov byte [r14 + 0x41], 2
cmp al, 2
jne 0x1401c97a5
xor eax, eax
xchg byte [r14 + 0x48], al
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
je 0x1401c8b77
mov r8d, 0x38
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401ca806
mov r15, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 4
lea rdx, str.request_has_been_canceled
mov r8d, 0x19
mov rcx, rax
call fcn.1401cc670
mov qword [rsp + 0x140], r15
mov byte [rsp + 0x1b0], 2
mov bl, 1
mov al, 1
xchg byte [r14 + 0x80], al
mov al, 1
xchg byte [r14 + 0x60], al
test al, al
jne 0x1401c8c3c
mov rax, qword [r14 + 0x50]
mov rcx, qword [r14 + 0x58]
mov qword [r14 + 0x50], 0
xor edx, edx
xchg byte [r14 + 0x60], dl
test rax, rax
je 0x1401c8c3c
call qword [rax + 0x18]
xchg byte [r14 + 0x78], bl
test bl, bl
jne 0x1401c8c62
mov rax, qword [r14 + 0x68]
mov rcx, qword [r14 + 0x70]
mov qword [r14 + 0x68], 0
xor edx, edx
xchg byte [r14 + 0x78], dl
test rax, rax
je 0x1401c8c62
call qword [rax + 8]
lock dec qword [r14]
jne 0x1401c8c70
mov rcx, r14
call fcn.1401cd4c0
movzx eax, byte [rsp + 0x1b0]
cmp eax, 4
je 0x1401ca275
cmp eax, 3
je 0x1401c8ca6
cmp eax, 2
jne 0x1401c94c6
mov rax, qword [rsp + 0x140]
mov qword [r12], rax
mov byte [r12 + 0x70], 2
jmp 0x1401ca27b
mov rsi, qword [rdi + 0x30]
test rsi, rsi
je 0x1401ca266
lea rcx, [rsi + 0x10]
mov qword [rsp + 0x238], rcx
call sub.kernel32.dll_AcquireSRWLockExclusive
mov rax, qword [0x1403ac1e8]
shl rax, 1
test rax, rax
mov qword [rsp + 0xf0], rdi
jne 0x1401c9eec
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x248], r13
mov qword [rsp + 0x78], r12
movzx eax, byte [rsi + 0x18]
test al, al
jne 0x1401ca815
mov qword [rsp + 0x50], rsi
cmp qword [rsi + 0x78], 0
je 0x1401c91bb
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0xd0]
mov qword [rsp + 0x138], rax
mov eax, dword [rdi + 0xd8]
mov dword [rsp + 0x30], eax
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov rsi, qword [rsp + 0xf0]
mov r8, rsi
call fcn.1401d3ec0
mov rcx, qword [rdi + 0x60]
mov rdx, qword [rdi + 0x68]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r9d, byte [rsi]
mov r8, qword [rsi + 8]
mov qword [rsp + 0x60], r8
movzx r8d, byte [rsi + 1]
mov byte [rsp + 0xe8], r8b
mov r8, qword [rsi + 0x18]
mov qword [rsp + 0x68], r8
mov r8, qword [rsi + 0x20]
mov qword [rsp + 0x58], r8
neg r8
mov qword [rsp + 0x70], r8
xor r8d, r8d
mov qword [rsp + 0x48], r8
pcmpeqd xmm1, xmm1
mov qword [rsp + 0xf8], r9
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r10d, xmm3
test r10d, r10d
jne 0x1401c8e27
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
jne 0x1401c91bb
mov r8, qword [rsp + 0x48]
add rax, r8
add rax, 0x10
add r8, 0x10
mov qword [rsp + 0x48], r8
jmp 0x1401c8db6
test r10b, r10b
je 0x1401ca7ee
lea r10d, [rbx - 1]
and r10d, ebx
test r10w, r10w
mov rcx, r13
mov rdx, r11
mov rax, r12
mov r9, qword [rsp + 0xf8]
je 0x1401c8dd0
mov ebx, r10d
tzcnt r10d, ebx
mov r12, rax
add r10, rax
mov r11, rdx
and r10, rdx
neg r10
lea r10, [r10 + r10*8]
mov r13, rcx
lea rcx, [rcx + r10*8]
cmp r9d, 1
je 0x1401c8ef0
cmp r9d, 2
jne 0x1401ca7ee
mov r8, rcx
movzx r10d, byte [r8 - 0x48]
cmp r10b, 2
jne 0x1401c8e00
mov rcx, r8
mov rax, qword [rsp + 0x60]
mov rbp, qword [rax + 0x10]
mov r10, qword [r8 - 0x40]
cmp rbp, qword [r10 + 0x10]
jne 0x1401c8e09
mov rax, qword [rsp + 0x60]
mov r14, qword [rax + 8]
mov rdi, qword [r10 + 8]
mov rsi, rbp
neg rsi
mov r10, 0xffffffffffffffff
nop dword [rax + rax]
lea r15, [rsi + r10]
cmp r15, 0xffffffffffffffff
je 0x1401c8f30
movzx r15d, byte [r14 + r10 + 1]
movzx r9d, byte [rdi + r10 + 1]
lea ecx, [r15 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea edx, [r9 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or cl, r15b
or dl, r9b
inc r10
cmp cl, dl
je 0x1401c8ea0
cmp r10, rbp
jb 0x1401c8e09
jmp 0x1401c8f30
movzx r10d, byte [rcx - 0x48]
cmp r10b, 1
jne 0x1401c8e00
mov r8, rcx
movzx r10d, byte [rcx - 0x47]
cmp byte [rsp + 0xe8], 0
je 0x1401c8f1b
test r10b, r10b
jne 0x1401c8f30
jmp 0x1401c8e09
test r10b, r10b
jne 0x1401c8e09
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x58]
cmp rax, qword [r8 - 0x28]
jne 0x1401c8e09
mov rsi, qword [r8 - 0x30]
mov r10, 0xffffffffffffffff
nop word [rax + rax]
mov rax, qword [rsp + 0x70]
lea rcx, [rax + r10]
cmp rcx, 0xffffffffffffffff
je 0x1401c8fa8
mov rax, qword [rsp + 0x68]
movzx ecx, byte [rax + r10 + 1]
movzx edx, byte [rsi + r10 + 1]
lea r9d, [rcx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea edi, [rdx - 0x41]
cmp dil, 0x1a
setb dil
shl dil, 5
or r9b, cl
or dil, dl
inc r10
cmp r9b, dil
je 0x1401c8f50
cmp r10, qword [rsp + 0x58]
jb 0x1401c8e09
mov rax, qword [r8 - 8]
test rax, rax
je 0x1401c91bb
mov r14, r8
dec rax
mov qword [r8 - 8], rax
mov rcx, qword [r8 - 0x10]
lea rdx, [rax + rax*8]
mov eax, dword [rcx + rdx*8 + 0x40]
cmp eax, 0x3b9aca00
je 0x1401c91bb
lea rcx, [rcx + rdx*8]
mov edx, dword [rcx + 0x44]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqu xmm3, xmmword [rcx + 0x30]
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0xb0], xmm3
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], edx
mov rax, qword [rsp + 0xa8]
movzx eax, byte [rax + 0x10]
test al, al
je 0x1401c9a2f
lea rcx, [rsp + 0x80]
call fcn.1401cd530
mov rax, qword [r14 - 8]
test rax, rax
je 0x1401c91bb
lea rbx, [rsp + 0x140]
xor esi, esi
lea rbp, [rsp + 0x80]
jmp 0x1401c9085
mov rcx, rbp
call fcn.1401cd530
mov rax, qword [r14 - 8]
test rax, rax
je 0x1401c91bb
dec rax
mov qword [r14 - 8], rax
mov rcx, qword [r14 - 0x10]
lea rdx, [rax + rax*8]
mov eax, dword [rcx + rdx*8 + 0x40]
cmp eax, 0x3b9aca00
je 0x1401c91bb
lea rcx, [rcx + rdx*8]
mov edx, dword [rcx + 0x44]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqu xmm3, xmmword [rcx + 0x30]
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0xb0], xmm3
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xc4], edx
mov rax, qword [rsp + 0xa8]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x1401c9070
cmp byte [rsp + 0x90], 2
jne 0x1401c9125
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1401c9070
jmp 0x1401c913b
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1401c9070
mov r12, qword [rsp + 0xb8]
mov edi, dword [rsp + 0xc0]
cmp dword [rsp + 0x30], 0x3b9aca00
je 0x1401c9f8c
call fcn.140245d40
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x148], edx
mov rcx, rbx
mov rdx, r12
mov r8d, edi
call fcn.140245ee0
cmp edx, 0x3b9aca00
cmove rax, rsi
mov r8, qword [rsp + 0x138]
cmp rax, r8
jb 0x1401c9f8c
cmp edx, 0x3b9aca00
setne cl
cmp edx, dword [rsp + 0x30]
seta dl
cmp rax, r8
jne 0x1401c9070
and cl, dl
jne 0x1401c9070
jmp 0x1401c9f8c
mov dword [rsp + 0x180], 0x3b9aca00
mov dword [rsp + 0x30], 0x3b9aca00
mov dword [rsp + 0x138], 0
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x50]
mov rcx, qword [r14 + 0x80]
mov rdx, qword [r14 + 0x88]
mov r8, rdi
call fcn.1401d3ec0
mov rcx, qword [r14 + 0x60]
mov rdx, qword [r14 + 0x68]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r8d, byte [rdi]
mov r9, qword [rdi + 8]
mov qword [rsp + 0x60], r9
movzx r9d, byte [rdi + 1]
mov byte [rsp + 0xe8], r9b
mov r9, qword [rdi + 0x18]
mov qword [rsp + 0x68], r9
mov r9, qword [rdi + 0x20]
mov qword [rsp + 0x58], r9
neg r9
mov qword [rsp + 0x70], r9
xor r9d, r9d
mov qword [rsp + 0x48], r9
pcmpeqd xmm1, xmm1
mov qword [rsp + 0xf8], r8
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r9d, xmm3
test r9d, r9d
jne 0x1401c92e7
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x50]
jne 0x1401c9727
mov r9, qword [rsp + 0x48]
add rax, r9
add rax, 0x10
add r9, 0x10
mov qword [rsp + 0x48], r9
jmp 0x1401c9266
test r11b, r11b
je 0x1401ca7ee
lea r9d, [r15 - 1]
and r9d, r15d
test r9w, r9w
mov rcx, rbx
mov rdx, rax
mov rax, r13
mov r8, qword [rsp + 0xf8]
je 0x1401c9280
mov r15d, r9d
tzcnt esi, r15d
mov r13, rax
add rsi, rax
mov rax, rdx
and rsi, rdx
mov r9, rsi
neg r9
lea r9, [r9 + r9*8]
mov rbx, rcx
lea r9, [rcx + r9*8]
cmp r8d, 1
je 0x1401c93b0
cmp r8d, 2
jne 0x1401ca7ee
movzx r11d, byte [r9 - 0x48]
cmp r11b, 2
jne 0x1401c92c0
mov rcx, qword [rsp + 0x60]
mov r11, qword [rcx + 0x10]
mov r14, qword [r9 - 0x40]
cmp r11, qword [r14 + 0x10]
jne 0x1401c92c9
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rcx + 8]
mov rbp, qword [r14 + 8]
mov r14, r11
neg r14
mov r12, 0xffffffffffffffff
nop dword [rax + rax]
lea r10, [r14 + r12]
cmp r10, 0xffffffffffffffff
je 0x1401c93f0
movzx r10d, byte [rdi + r12 + 1]
movzx ecx, byte [rbp + r12 + 1]
lea edx, [r10 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or dl, r10b
or r8b, cl
inc r12
cmp dl, r8b
je 0x1401c9360
cmp r12, r11
jb 0x1401c92c9
jmp 0x1401c93f0
movzx r11d, byte [r9 - 0x48]
cmp r11b, 1
jne 0x1401c92c0
movzx r11d, byte [r9 - 0x47]
cmp byte [rsp + 0xe8], 0
je 0x1401c93d8
test r11b, r11b
jne 0x1401c93f0
jmp 0x1401c92c9
test r11b, r11b
jne 0x1401c92c9
nop word cs:[rax + rax]
mov rcx, qword [rsp + 0x58]
cmp rcx, qword [r9 - 0x28]
jne 0x1401c92c9
mov rdi, qword [r9 - 0x30]
mov r11, 0xffffffffffffffff
nop word [rax + rax]
mov rcx, qword [rsp + 0x70]
add rcx, r11
cmp rcx, 0xffffffffffffffff
je 0x1401c9468
mov rcx, qword [rsp + 0x68]
movzx ecx, byte [rcx + r11 + 1]
movzx edx, byte [rdi + r11 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea r10d, [rdx - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
or r8b, cl
or r10b, dl
inc r11
cmp r8b, r10b
je 0x1401c9410
cmp r11, qword [rsp + 0x58]
jb 0x1401c92c9
shl rsi, 3
lea rcx, [rsi + rsi*8]
sar rcx, 3
movabs r11, 0x8e38e38e38e38e39
imul r11, rcx
lea r8, [r11 - 0x10]
and r8, rax
movdqu xmm0, xmmword [rbx + r8]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rbx + r11]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x1401c95ea
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1401c95ef
mov rcx, qword [rsp + 0x140]
movups xmm0, xmmword [rsp + 0x148]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsp + 0x168]
movaps xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsp + 0x178]
movaps xmmword [rsp + 0xb0], xmm0
movups xmm0, xmmword [rsp + 0x188]
movaps xmmword [rsp + 0xc0], xmm0
movups xmm0, xmmword [rsp + 0x198]
movaps xmmword [rsp + 0xd0], xmm0
mov rdx, qword [rsp + 0x1a8]
mov qword [rsp + 0xe0], rdx
mov edx, dword [rsp + 0x1b1]
mov dword [rsp + 0x200], edx
mov edx, dword [rsp + 0x1b4]
mov dword [rsp + 0x203], edx
mov rdx, qword [rsp + 0xe0]
mov qword [r12 + 0x68], rdx
movaps xmm0, xmmword [rsp + 0xd0]
movups xmmword [r12 + 0x58], xmm0
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [r12 + 0x48], xmm0
movdqa xmm0, xmmword [rsp + 0x80]
movdqa xmm1, xmmword [rsp + 0x90]
movdqa xmm2, xmmword [rsp + 0xa0]
movdqa xmm3, xmmword [rsp + 0xb0]
movdqu xmmword [r12 + 0x38], xmm3
movdqu xmmword [r12 + 0x28], xmm2
movdqu xmmword [r12 + 0x18], xmm1
movdqu xmmword [r12 + 8], xmm0
mov edx, dword [rsp + 0x200]
mov r8d, dword [rsp + 0x203]
mov dword [r12 + 0x71], edx
mov dword [r12 + 0x74], r8d
mov qword [r12], rcx
mov byte [r12 + 0x70], al
jmp 0x1401ca27b
mov r10w, 0x10
mov r14, qword [rsp + 0x50]
or edx, 0x10000
tzcnt ecx, edx
add r10d, ecx
mov dl, pe_nt_image_headers64
cmp r10w, 0xf
mov rdi, qword [rsp + 0xf0]
ja 0x1401c9618
inc qword [r14 + 0x70]
mov dl, 0xff
mov byte [rbx + r11], dl
mov byte [r8 + rbx + 0x10], dl
dec qword [r14 + 0x78]
movdqu xmm0, xmmword [r9 - 0x48]
movdqu xmm1, xmmword [r9 - 0x38]
movdqu xmm2, xmmword [r9 - 0x28]
movdqu xmm3, xmmword [r9 - 0x18]
movdqa xmmword [rsp + 0xb0], xmm3
mov rax, qword [r9 - 8]
mov qword [rsp + 0xc0], rax
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov rsi, qword [rsp + 0xb0]
movabs rax, 0x7fffffffffffffff
inc rax
cmp rsi, rax
je 0x1401c9727
mov r12, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
cmp byte [rsp + 0x80], 2
jb 0x1401c96d1
mov r13, qword [rsp + 0x88]
lea rcx, [r13 + 0x18]
mov rax, qword [r13]
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, r13
call fcn.14029804c
lea rcx, [rsp + 0xa8]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
call qword [rax + 0x10]
test rbx, rbx
je 0x1401c9711
mov r13, r12
nop dword [rax]
mov rcx, r13
call fcn.1401cd530
add r13, 0x48
dec rbx
jne 0x1401c9700
test rsi, rsi
je 0x1401c9727
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, r12
call fcn.14029804c
mov ecx, dword [rsp + 0x30]
cmp ecx, 0x3b9aca00
sete bpl
mov r12, qword [rsp + 0x78]
jne 0x1401ca1c7
cmp qword [rdi + 0x38], 0
je 0x1401c988f
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x1f0], rax
movdqa xmm0, xmmword [rsp + 0x100]
movdqa xmm1, xmmword [rsp + 0x110]
movdqa xmm2, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x1e0], xmm2
movdqa xmmword [rsp + 0x1d0], xmm1
movdqa xmmword [rsp + 0x1c0], xmm0
mov bpl, 1
mov eax, dword [rsp + 0x3c]
test al, al
jne 0x1401ca250
jmp 0x1401ca236
lea rcx, [r14 + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rsp + 0x1f0], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rsp + 0x1e0], xmm2
movdqa xmmword [rsp + 0x1d0], xmm1
movdqa xmmword [rsp + 0x1c0], xmm0
mov ecx, dword [r14 + 0x42]
mov dword [rsp + 0x40], ecx
movzx ecx, word [r14 + 0x46]
mov word [rsp + 0x44], cx
xor ecx, ecx
xchg byte [r14 + 0x48], cl
cmp al, 3
jne 0x1401c993a
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401c986d
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1401c9836
mov rax, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x50], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1401c9836
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x1401c985a
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x70]
mov qword [rsi + 0x68], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1401c985a
call qword [rax + 8]
mov rax, qword [rdi + 0x38]
lock dec qword [rax]
jne 0x1401c986d
mov rcx, qword [rdi + 0x38]
call fcn.1401cd4c0
mov qword [rdi + 0x38], r14
mov byte [rsp + 0x1b0], 4
movzx eax, byte [rsp + 0x1b0]
cmp eax, 4
jne 0x1401c8c81
jmp 0x1401ca275
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1401c98ba
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401ca85e
mov rcx, rax
mov qword [0x1403ac160], rax
mov r8d, 0x88
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401ca85e
mov rsi, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov byte [rax + 0x41], 2
mov byte [rax + 0x48], 0
mov qword [rax + 0x50], 0
mov byte [rax + 0x60], 0
mov qword [rax + 0x68], 0
mov byte [rax + 0x78], 0
mov byte [rax + 0x80], 0
lock inc qword [rax]
jle 0x1401ca85c
movzx eax, byte [rdi]
test rax, rax
mov dword [rsp + 0x1bc], ebp
je 0x1401c9a81
cmp eax, 1
jne 0x1401c9a85
movzx ecx, byte [rdi + 1]
mov al, 1
jmp 0x1401c9ac2
movdqa xmm0, xmmword [rsp + 0x1c0]
movdqa xmm1, xmmword [rsp + 0x1d0]
movdqa xmm2, xmmword [rsp + 0x1e0]
movdqa xmmword [rsp + 0x120], xmm2
movzx ecx, byte [rsp + 0x1f0]
mov byte [rsp + 0x130], cl
movdqa xmmword [rsp + 0x110], xmm1
movdqa xmmword [rsp + 0x100], xmm0
mov byte [rsp + 0x131], al
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x132], eax
movzx eax, word [rsp + 0x44]
mov word [rsp + 0x136], ax
mov rax, qword [rsp + 0x128]
movzx eax, byte [rax + 0x10]
test al, al
je 0x1401c9a58
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1401c99dd
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401ca806
mov rcx, rax
mov qword [0x1403ac160], rax
mov r8d, 0x38
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401ca806
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 4
mov qword [rax], 1
lea rcx, [0x14035ab30]
mov qword [rax + 8], rcx
mov qword [rsp + 0x140], rax
mov byte [rsp + 0x1b0], 2
lea rcx, [rsp + 0x100]
call fcn.1401cd530
jmp 0x1401c8c09
cmp byte [rsp + 0x90], 2
jne 0x1401c9efc
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1401c9036
jmp 0x1401c9f12
cmp byte [rsp + 0x110], 2
jne 0x1401c9ffc
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1401c99b2
jmp 0x1401ca012
xor eax, eax
jmp 0x1401c9ac2
movzx eax, byte [0x1403ac1f0]
mov ecx, 0x20
mov edx, 8
call fcn.14007b1b0
test rax, rax
je 0x1401ca89f
mov r12, rax
mov rax, qword [rdi + 8]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
mov rcx, r12
call qword [r10]
mov al, 2
mov qword [rsp + 0x48], rsi
mov byte [rsp + 0x80], al
mov byte [rsp + 0x81], cl
mov qword [rsp + 0x88], r12
lea rcx, [rsp + 0x90]
lea rdx, [rdi + 0x28]
mov rax, qword [rdi + 0x10]
mov r8, qword [rdi + 0x18]
mov r9, qword [rdi + 0x20]
call qword [rax]
lea rax, [r14 + 0x90]
mov qword [rsp + 0x30], rax
mov rcx, qword [r14 + 0xb0]
mov rdx, qword [r14 + 0xb8]
lea r8, [rsp + 0x80]
call fcn.1401d3ec0
mov r12, rax
mov rdi, qword [r14 + 0x90]
mov rbx, qword [r14 + 0x98]
shr rax, 0x39
mov qword [rsp + 0x230], rax
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx edx, byte [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xf8], rax
movzx eax, byte [rsp + 0x81]
mov byte [rsp + 0x58], al
mov r10, qword [rsp + 0x98]
mov r11, qword [rsp + 0xa0]
mov qword [rsp + 0x60], r11
neg r11
xor eax, eax
mov qword [rsp + 0xe8], rax
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x240], r12
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], rbx
and r12, rbx
movdqu xmm2, xmmword [rdi + r12]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r8d, xmm3
test r8d, r8d
jne 0x1401c9c28
pcmpeqb xmm2, xmm1
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x1401ca676
mov rax, qword [rsp + 0xe8]
add r12, rax
add r12, 0x10
add rax, 0x10
mov qword [rsp + 0xe8], rax
jmp 0x1401c9ba9
cmp edx, 1
je 0x1401c9cf0
test edx, edx
je 0x1401ca7ee
lea r8d, [r9 - 1]
and r8d, r9d
test r8w, r8w
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
je 0x1401c9bc4
mov r9d, r8d
tzcnt r8d, r9d
add r8, r12
and r8, rbx
neg r8
lea r8, [r8 + r8*4]
shl r8, 4
lea rbp, [rdi + r8]
movzx r8d, byte [rdi + r8 - 0x50]
cmp r8, 1
je 0x1401c9c00
cmp r8d, 2
jne 0x1401ca7ee
cmp edx, 2
jne 0x1401c9c09
mov r8, qword [rbp - 0x48]
mov rbx, qword [r8 + 0x10]
mov rax, qword [rsp + 0xf8]
cmp rbx, qword [rax + 0x10]
jne 0x1401c9c11
mov rdi, qword [r8 + 8]
mov rax, qword [rsp + 0xf8]
mov r14, qword [rax + 8]
mov rsi, rbx
neg rsi
mov r8, 0xffffffffffffffff
nop word cs:[rax + rax]
lea r13, [rsi + r8]
cmp r13, 0xffffffffffffffff
je 0x1401c9d10
movzx r13d, byte [rdi + r8 + 1]
movzx r15d, byte [r14 + r8 + 1]
lea ecx, [r13 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea eax, [r15 - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or cl, r13b
or al, r15b
inc r8
cmp cl, al
je 0x1401c9ca0
cmp r8, rbx
jb 0x1401c9c11
jmp 0x1401c9d10
cmp byte [rbp - 0x4f], 0
je 0x1401c9d02
cmp byte [rsp + 0x58], 0
jne 0x1401c9d10
jmp 0x1401c9c11
cmp byte [rsp + 0x58], 0
jne 0x1401c9c11
nop dword [rax]
mov rax, qword [rsp + 0x60]
cmp qword [rbp - 0x30], rax
jne 0x1401c9c11
mov rsi, qword [rbp - 0x38]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
lea rax, [r11 + r8]
cmp rax, 0xffffffffffffffff
je 0x1401c9d7a
movzx eax, byte [rsi + r8 + 1]
movzx ecx, byte [r10 + r8 + 1]
lea edi, [rax - 0x41]
cmp dil, 0x1a
setb bl
shl bl, 5
lea edi, [rcx - 0x41]
cmp dil, 0x1a
setb dil
shl dil, 5
or bl, al
or dil, cl
inc r8
cmp bl, dil
je 0x1401c9d30
cmp r8, qword [rsp + 0x60]
jb 0x1401c9c11
movdqu xmm0, xmmword [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x220], xmm2
movdqa xmmword [rsp + 0x210], xmm1
movdqa xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm1
mov qword [rsp + 0xb0], rbp
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rax
movzx eax, byte [rsp + 0x80]
cmp al, 3
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x48]
je 0x1401c9e51
cmp al, 2
jb 0x1401c9e2e
mov r12, qword [rsp + 0x88]
lea rcx, [r12 + 0x18]
mov rax, qword [r12]
mov rdx, qword [r12 + 8]
mov r8, qword [r12 + 0x10]
call qword [rax + 0x10]
mov rcx, qword [0x1403ac160]
xor edx, edx
mov r8, r12
mov r12, qword [rsp + 0x78]
call fcn.14029804c
lea rcx, [rsp + 0xa8]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 8]
cmp rax, rcx
jne 0x1401c9e6f
lea rcx, [rbp - 0x20]
call fcn.1400fc7a0
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
add rdx, rax
xor r8d, r8d
cmp rdx, rcx
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [rbp - 0x18]
mov qword [rcx + rdx*8], rsi
inc rax
mov qword [rbp - 8], rax
movzx eax, byte [rsi + 0x80]
test al, al
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x1bc]
jne 0x1401ca0c5
mov rax, qword [rsp + 0x248]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
mov rbx, rax
mov r12, rdx
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
je 0x1401ca094
mov rcx, r12
call qword [rbx + 0x18]
mov r12, qword [rsp + 0x78]
jmp 0x1401ca0c5
call fcn.140248e40
xor al, 1
mov dword [rsp + 0x3c], eax
jmp 0x1401c8ce7
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1401c9036
mov r12, qword [rsp + 0xb8]
mov edi, dword [rsp + 0xc0]
cmp dword [rsp + 0x30], 0x3b9aca00
je 0x1401c9f8c
call fcn.140245d40
mov qword [rsp + 0x140], rax
mov dword [rsp + 0x148], edx
lea rcx, [rsp + 0x140]
mov rdx, r12
mov r8d, edi
call fcn.140245ee0
xor ecx, ecx
cmp edx, 0x3b9aca00
cmovne rcx, rax
mov r8, qword [rsp + 0x138]
cmp rcx, r8
jb 0x1401c9f8c
cmp edx, 0x3b9aca00
setne al
cmp edx, dword [rsp + 0x30]
seta dl
cmp rcx, r8
jne 0x1401c9036
and al, dl
jne 0x1401c9036
mov dword [rsp + 0x30], edi
mov rdi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
movzx edx, byte [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
movzx esi, byte [rsp + 0xb0]
movzx r9d, byte [rsp + 0xb1]
lea rcx, [rsp + 0xb2]
cmp dl, 2
jne 0x1401ca033
mov byte [rsp + 0x70], r9b
mov byte [rsp + 0x68], dl
test rbp, rbp
je 0x1401ca3d5
mov rcx, rbp
call qword [r15 + 0x18]
jmp 0x1401ca3d7
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1401c99b2
mov rdx, qword [rdi + 0x30]
lea rcx, [rsp + 0x140]
lea r9, [rsp + 0x100]
mov r8, rdi
call fcn.140222050
jmp 0x1401c8c09
movzx eax, word [rcx + 4]
mov word [rsp + 0x44], ax
mov eax, dword [rcx]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x91]
mov ecx, dword [rsp + 0x94]
mov dword [rsp + 0x100], eax
mov dword [rsp + 0x103], ecx
mov qword [rsp + 0x107], rbp
mov qword [rsp + 0x10f], r15
mov qword [rsp + 0x117], rbx
mov byte [rsp + 0x11f], sil
lea rax, [rsp + 0x40]
lea rcx, [rsp + 0x100]
mov esi, dword [rsp + 0x30]
jmp 0x1401ca51e
mov rax, qword [rsi + 0x50]
test rax, rax
je 0x1401ca0a4
mov rcx, qword [rsi + 0x58]
call qword [rax + 0x18]
mov qword [rsi + 0x50], rbx
mov qword [rsi + 0x58], r12
xor eax, eax
xchg byte [rsi + 0x60], al
movzx eax, byte [rsi + 0x80]
test al, al
mov r12, qword [rsp + 0x78]
je 0x1401ca147
mov al, 1
xchg byte [rsi + 0x48], al
test al, al
jne 0x1401ca872
movzx eax, byte [rsi + 0x41]
mov byte [rsi + 0x41], 2
cmp al, 2
je 0x1401ca86d
mov rcx, rsi
add rcx, 0x10
movzx edx, byte [rcx + 0x30]
mov byte [rsp + 0xb0], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rsp + 0xa0], xmm2
movdqa xmmword [rsp + 0x90], xmm1
movdqa xmmword [rsp + 0x80], xmm0
mov ecx, dword [rsi + 0x42]
mov dword [rsp + 0xb2], ecx
movzx ecx, word [rsi + 0x46]
mov word [rsp + 0xb6], cx
mov byte [rsp + 0xb1], al
xor ecx, ecx
xchg byte [rsi + 0x48], cl
cmp al, 3
jne 0x1401ca87a
mov rsi, qword [rdi + 0x38]
test rsi, rsi
je 0x1401ca1b7
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1401ca180
mov rax, qword [rsi + 0x50]
mov rcx, qword [rsi + 0x58]
mov qword [rsi + 0x50], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1401ca180
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x1401ca1a4
mov rax, qword [rsi + 0x68]
mov rcx, qword [rsi + 0x70]
mov qword [rsi + 0x68], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1401ca1a4
call qword [rax + 8]
mov rax, qword [rdi + 0x38]
lock dec qword [rax]
jne 0x1401ca1b7
mov rcx, qword [rdi + 0x38]
call fcn.1401cd4c0
mov rax, qword [rsp + 0x48]
mov qword [rdi + 0x38], rax
mov ecx, dword [rsp + 0x180]
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x1f0], rax
movdqa xmm0, xmmword [rsp + 0x100]
movdqa xmm1, xmmword [rsp + 0x110]
movdqa xmm2, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x1e0], xmm2
movdqa xmmword [rsp + 0x1d0], xmm1
movdqa xmmword [rsp + 0x1c0], xmm0
cmp ecx, 0x3b9aca00
sete al
mov ecx, dword [rsp + 0x138]
or cl, al
jne 0x1401ca22e
lea rcx, [rsp + 0x140]
call fcn.1401cd530
mov eax, dword [rsp + 0x3c]
test al, al
jne 0x1401ca250
mov rax, qword [0x1403ac1e8]
movabs rcx, 0x7fffffffffffffff
test rax, rcx
jne 0x1401ca3be
mov rcx, qword [rsp + 0x238]
call fcn.1402980c4
test bpl, bpl
je 0x1401ca321
mov byte [rsp + 0x1b0], 2
cmp qword [rdi + 0x30], 0
je 0x1401ca28f
mov byte [r12 + 0x70], 3
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [0x1403ac1f0]
mov rcx, qword [0x1403ac160]
test rcx, rcx
jne 0x1401ca2ba
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1401ca806
mov rcx, rax
mov qword [0x1403ac160], rax
mov r8d, 0x38
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1401ca806
mov rdi, rax
mov qword [rax], 0
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 4
lea rdx, str.pool_is_disabled_home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.28_src_common_lazy.rs
mov r8d, 0x10
mov rcx, rax
call fcn.1401cc670
mov qword [r12], rdi
mov byte [r12 + 0x70], 2
cmp byte [rsp + 0x1b0], 2
je 0x1401ca27b
lea rcx, [rsp + 0x140]
call fcn.1401cb280
jmp 0x1401ca27b
mov rdx, qword [rdi + 0x30]
lea rcx, [rsp + 0x140]
lea r9, [rsp + 0x1c0]
mov r8, rdi
call fcn.140222050
cmp byte [rsp + 0x1b0], 2
je 0x1401ca26e
mov rax, qword [rsp + 0x1b0]
mov qword [r12 + 0x70], rax
movups xmm0, xmmword [rsp + 0x1a0]
movups xmmword [r12 + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [r12 + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x180]
movups xmmword [r12 + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
movups xmm2, xmmword [rsp + 0x160]
movups xmm3, xmmword [rsp + 0x170]
movups xmmword [r12 + 0x30], xmm3
movups xmmword [r12 + 0x20], xmm2
movups xmmword [r12 + 0x10], xmm1
movups xmmword [r12], xmm0
jmp 0x1401ca27b
call fcn.140248e40
test al, al
jne 0x1401ca250
mov byte [r14 + 0x18], 1
jmp 0x1401ca250
xor eax, eax
lock inc qword [rbx]
jle 0x1401ca85c
lock inc qword [rdi]
movzx ecx, byte [rsp + 0x70]
lea r8, [rsp + 0xb2]
jle 0x1401ca85c
lock inc qword [r13 + 0x1c8]
lock inc qword [r13]
jle 0x1401ca85c
mov qword [rsp + 0x207], rax
mov qword [rsp + 0x20f], rdx
mov qword [rsp + 0x217], rbx
mov byte [rsp + 0x21f], sil
mov qword [rsp + 0x107], rbp
mov qword [rsp + 0x10f], r15
mov qword [rsp + 0x117], rbx
mov byte [rsp + 0x11f], sil
mov eax, dword [r8]
mov dword [rsp + 0x40], eax
movzx eax, word [r8 + 4]
mov word [rsp + 0x44], ax
cmp cl, 2
jne 0x1401ca47a
mov r9b, 2
lea rax, [rsp + 0x40]
lea rcx, [rsp + 0x100]
mov esi, dword [rsp + 0x30]
jmp 0x1401ca519
call fcn.140245d40
mov rbx, rax
mov ebp, edx
mov rdx, qword [r14 - 8]
cmp rdx, qword [r14 - 0x18]
mov esi, dword [rsp + 0x30]
jne 0x1401ca49f
lea rcx, [r14 - 0x18]
call fcn.1401d5e80
mov rdx, qword [r14 - 8]
mov rax, qword [r14 - 0x10]
lea rcx, [rdx + rdx*8]
mov qword [rax + rcx*8], rdi
mov qword [rax + rcx*8 + 8], r13
mov byte [rax + rcx*8 + 0x10], 2
movdqu xmm0, xmmword [rsp + 0x100]
movdqu xmm1, xmmword [rsp + 0x110]
movdqu xmmword [rax + rcx*8 + 0x11], xmm0
movdqu xmmword [rax + rcx*8 + 0x21], xmm1
movzx r9d, byte [rsp + 0x70]
mov byte [rax + rcx*8 + 0x31], r9b
lea r10, [rsp + 0xb2]
mov r8d, dword [r10]
mov dword [rax + rcx*8 + 0x32], r8d
movzx r8d, word [r10 + 4]
mov word [rax + rcx*8 + 0x36], r8w
mov qword [rax + rcx*8 + 0x38], rbx
mov dword [rax + rcx*8 + 0x40], ebp
inc rdx
mov qword [r14 - 8], rdx
lea rax, [rsp + 0x252]
lea rcx, [rsp + 0x200]
movzx edx, byte [rsp + 0x68]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x161], xmm1
movups xmmword [rsp + 0x151], xmm0
mov ecx, dword [rax]
mov dword [rsp + 0x172], ecx
movzx eax, word [rax + 4]
mov word [rsp + 0x176], ax
cmp qword [r14 - 8], 0
mov qword [rsp + 0x140], rdi
mov qword [rsp + 0x148], r13
mov byte [rsp + 0x150], dl
mov byte [rsp + 0x171], r9b
mov qword [rsp + 0x178], r12
mov dword [rsp + 0x180], esi
sete byte [rsp + 0x188]
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x130], rax
movzx eax, byte [rsp + 0x150]
mov byte [rsp + 0x110], al
mov rax, qword [rsp + 0x151]
mov qword [rsp + 0x111], rax
mov eax, dword [rsp + 0x159]
mov dword [rsp + 0x119], eax
movzx eax, word [rsp + 0x15d]
mov word [rsp + 0x11d], ax
movzx eax, byte [rsp + 0x15f]
mov byte [rsp + 0x11f], al
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x100], xmm0
movups xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x120], xmm0
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0x50]
je 0x1401ca668
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x1f0], rax
movups xmm0, xmmword [rsp + 0x140]
movups xmm1, xmmword [rsp + 0x150]
movups xmm2, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x1e0], xmm2
movaps xmmword [rsp + 0x1d0], xmm1
movaps xmmword [rsp + 0x1c0], xmm0
xor ebp, ebp
mov r12, qword [rsp + 0x78]
mov eax, dword [rsp + 0x3c]
test al, al
jne 0x1401ca250
jmp 0x1401ca236
mov al, 1
mov dword [rsp + 0x138], eax
jmp 0x1401c91e6
mov rsi, qword [rsp + 0x50]
cmp qword [rsi + 0xa0], 0
je 0x1401ca7ca
movups xmm0, xmmword [rsp + 0x80]
movdqu xmm1, xmmword [rsp + 0x90]
movdqu xmm2, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x220], xmm2
movdqa xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
mov rax, qword [rsp + 0x240]
and rax, rbx
movdqu xmm0, xmmword [rdi + rax]
pmovmskb edx, xmm0
test edx, edx
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x48]
je 0x1401ca6e9
mov rcx, qword [rsp + 0x230]
jmp 0x1401ca70e
mov r8d, 0x10
mov rcx, qword [rsp + 0x230]
add rax, r8
and rax, rbx
movdqu xmm0, xmmword [rdi + rax]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x1401ca6f7
tzcnt edx, edx
add rdx, rax
and rdx, rbx
movzx r8d, byte [rdi + rdx]
test r8b, r8b
js 0x1401ca733
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
tzcnt edx, eax
movzx r8d, byte [rdi + rdx]
lea rax, [rdx - 0x10]
and rax, rbx
mov byte [rdi + rdx], cl
mov byte [rax + rdi + 0x10], cl
neg rdx
lea rax, [rdx + rdx*4]
shl rax, 4
lea rbp, [rdi + rax]
and r8b, 1
movzx ecx, r8b
mov rdx, qword [rsp + 0x50]
sub qword [rdx + 0xa0], rcx
movdqa xmm0, xmmword [rsp + 0x200]
movdqa xmm1, xmmword [rsp + 0x210]
movdqa xmm2, xmmword [rsp + 0x220]
movdqu xmmword [rdi + rax - 0x30], xmm2
movdqu xmmword [rdi + rax - 0x40], xmm1
movdqu xmmword [rdi + rax - 0x50], xmm0
mov qword [rdi + rax - 0x20], 0
mov qword [rdi + rax - 0x18], 8
pxor xmm0, xmm0
movdqu xmmword [rdi + rax - 0x10], xmm0
inc qword [rdx + 0xa8]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 8]
cmp rax, rcx
je 0x1401c9e5e
jmp 0x1401c9e6f
lea rdx, [rsi + 0xb0]
mov rcx, qword [rsp + 0x30]
call fcn.1402221b0
mov rdi, qword [rsi + 0x90]
mov rbx, qword [rsi + 0x98]
jmp 0x1401ca689
lea rcx, str.internal_error:_entered_unreachable_code_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadmod.rs
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_http_0.2.11_src_uri_scheme.rs
mov edx, 0x28
call fcn.1400abba0
mov ecx, 8
mov edx, 0x38
call fcn.1400a81e0
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x140], rax
mov eax, dword [rsp + 0x3c]
mov byte [rsp + 0x148], al
lea rax, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.28_src_client_pool.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14035cd30]
lea r8, [rsp + 0x140]
mov edx, 0x2b
call fcn.1400ad960
ud2
mov ecx, 8
mov edx, 0x88
call fcn.1400a81e0
xor eax, eax
xchg byte [rsi + 0x48], al
mov byte [rsp + 0xb1], 2
lea rcx, [rsp + 0x80]
call fcn.1402228a0
lea rcx, str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
lea r8, str._home_hj_.cargo_registry_src_index.crates.io_6f17d22bba15001f_hyper_0.14.28_src_client_pool.rs
mov edx, 0x39
call fcn.1400abba0
mov ecx, 8
mov edx, 0x20
call fcn.1400a81e0
int3