Function at 0x140062de0
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2f8
mov qword [rsp + 0x1f8], r8
mov r13, rdx
mov r12, rcx
mov r14, qword [rdx + 0x38]
mov qword [rdx + 0x38], 0
test r14, r14
je 0x140062f7c
movzx eax, byte [r14 + 0x80]
test al, al
jne 0x140062e83
mov rax, qword [rsp + 0x1f8]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
call qword [rdx]
mov cl, 1
xchg byte [r14 + 0x60], cl
test cl, cl
je 0x140062e48
mov rcx, rdx
call qword [rax + 0x18]
jmp 0x140062e83
mov r8, qword [r14 + 0x50]
test r8, r8
je 0x140062e65
mov rcx, qword [r14 + 0x58]
mov rsi, rax
mov rdi, rdx
call qword [r8 + 0x18]
mov rdx, rdi
mov rax, rsi
mov qword [r14 + 0x50], rax
mov qword [r14 + 0x58], rdx
xor eax, eax
xchg byte [r14 + 0x60], al
movzx eax, byte [r14 + 0x80]
test al, al
je 0x14006386a
mov al, 1
xchg byte [r14 + 0x48], al
test al, al
jne 0x140062ea5
movzx eax, byte [r14 + 0x41]
mov byte [r14 + 0x41], 2
cmp al, 2
jne 0x14006380c
xor eax, eax
xchg byte [r14 + 0x48], al
movzx eax, byte [0x14017d2b0]
mov edx, 0x38
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400649e1
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.140066470
mov bl, 2
mov sil, 1
mov al, 1
xchg byte [r14 + 0x80], al
mov al, 1
xchg byte [r14 + 0x60], al
test al, al
jne 0x140062f1e
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 0x140062f1e
call qword [rax + 0x18]
xchg byte [r14 + 0x78], sil
test sil, sil
jne 0x140062f45
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 0x140062f45
call qword [rax + 8]
lock dec qword [r14]
jne 0x140062f53
mov rcx, r14
call fcn.1400672e0
cmp bl, 4
je 0x140064406
movzx eax, bl
cmp eax, 3
je 0x140062f7c
cmp eax, 2
jne 0x140063431
mov qword [r12], r15
mov byte [r12 + 0x70], 2
jmp 0x14006440c
mov rsi, qword [r13 + 0x30]
test rsi, rsi
je 0x1400643f7
lea rax, [rsi + 0x10]
mov qword [rsp + 0x1b0], rax
mov cl, 1
xor eax, eax
lock cmpxchg byte [rsi + 0x10], cl
jne 0x140063fcf
mov rax, qword [0x14017d2a8]
shl rax, 1
test rax, rax
jne 0x140063fef
mov dword [rsp + 0xc4], 0
movzx eax, byte [rsi + 0x11]
test al, al
jne 0x140064009
cmp qword [rsi + 0x70], 0
mov qword [rsp + 0x1b8], r12
mov qword [rsp + 0x120], r13
mov qword [rsp + 0x30], rsi
je 0x140063543
mov rax, qword [rsi + 0xc8]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsi + 0xd0]
mov dword [rsp + 0xd8], eax
mov rcx, qword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov r8, r13
call fcn.14006edb0
mov rcx, qword [rsi + 0x58]
mov rdx, qword [rsi + 0x60]
mov r8, rax
shr r8, 0x39
movd xmm0, r8d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r9d, byte [r13]
mov r8, qword [r13 + 8]
mov qword [rsp + 0x38], r8
movzx r8d, byte [r13 + 1]
mov byte [rsp + 0x48], r8b
mov r11, qword [r13 + 0x18]
mov r15, qword [r13 + 0x20]
xor r8d, r8d
mov qword [rsp + 0xb8], r8
pcmpeqd xmm1, xmm1
mov dword [rsp + 0x40], r9d
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb esi, xmm3
test esi, esi
jne 0x1400630ee
pcmpeqb xmm2, xmm1
pmovmskb esi, xmm2
test esi, esi
mov r13, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x30]
jne 0x140063543
mov r8, qword [rsp + 0xb8]
add rax, r8
add rax, 0x10
add r8, 0x10
mov qword [rsp + 0xb8], r8
jmp 0x140063073
test sil, sil
je 0x1400649c9
lea esi, [rbp - 1]
and esi, ebp
test si, si
mov rcx, rdx
mov rdx, rbx
mov r9d, dword [rsp + 0x40]
je 0x14006308b
mov ebp, esi
tzcnt esi, ebp
add rsi, rax
mov rbx, rdx
and rsi, rdx
neg rsi
lea rsi, [rsi + rsi*8]
mov rdx, rcx
lea rcx, [rcx + rsi*8]
cmp r9d, 1
je 0x1400631a0
cmp r9d, 2
jne 0x1400649c9
mov r8, rcx
movzx esi, byte [r8 - 0x48]
cmp sil, 2
jne 0x1400630d0
mov rcx, r8
mov r9, qword [rsp + 0x38]
mov r13, qword [r9 + 0x10]
mov rdi, qword [r8 - 0x40]
cmp r13, qword [rdi + 0x10]
jne 0x1400630d9
mov rcx, qword [rsp + 0x38]
mov rsi, qword [rcx + 8]
mov r14, qword [rdi + 8]
xor edi, edi
nop word cs:[rax + rax]
cmp r13, rdi
je 0x1400631cf
movzx r12d, byte [rsi + rdi]
movzx r10d, byte [r14 + rdi]
inc rdi
lea r9d, [r12 - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
lea ecx, [r10 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or r9b, r12b
or cl, r10b
cmp r9b, cl
je 0x140063160
jmp 0x1400630d9
movzx esi, byte [rcx - 0x48]
cmp sil, 1
jne 0x1400630d0
mov r8, rcx
movzx esi, byte [rcx - 0x47]
cmp byte [rsp + 0x48], 0
je 0x1400631c6
test sil, sil
jne 0x1400631cf
jmp 0x1400630d9
test sil, sil
jne 0x1400630d9
cmp r15, qword [r8 - 0x28]
jne 0x1400630d9
mov rsi, qword [r8 - 0x30]
xor edi, edi
nop
cmp r15, rdi
je 0x140063222
movzx ecx, byte [r11 + rdi]
movzx r9d, byte [rsi + rdi]
inc rdi
lea r10d, [rcx - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
lea r14d, [r9 - 0x41]
cmp r14b, 0x1a
setb r14b
shl r14b, 5
or r10b, cl
or r14b, r9b
cmp r10b, r14b
je 0x1400631e0
jmp 0x1400630d9
mov rax, qword [r8 - 8]
test rax, rax
mov r13, qword [rsp + 0x120]
mov esi, dword [rsp + 0xd8]
je 0x14006341c
mov rdi, 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 0x14006341c
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 + 0x70], xmm2
movdqa xmmword [rsp + 0x80], xmm3
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x94], edx
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x10]
test al, al
je 0x140063c01
lea rcx, [rsp + 0x50]
call fcn.140067350
mov rax, qword [rdi - 8]
test rax, rax
je 0x14006341c
lea rbx, [rsp + 0x138]
xor r14d, r14d
lea rbp, [rsp + 0x50]
jmp 0x1400632f5
mov rcx, rbp
call fcn.140067350
mov rax, qword [rdi - 8]
test rax, rax
je 0x14006341c
dec rax
mov qword [rdi - 8], rax
mov rcx, qword [rdi - 0x10]
lea rdx, [rax + rax*8]
mov eax, dword [rcx + rdx*8 + 0x40]
cmp eax, 0x3b9aca00
je 0x14006341c
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 + 0x70], xmm2
movdqa xmmword [rsp + 0x80], xmm3
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x90], eax
mov dword [rsp + 0x94], edx
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x1400632e0
cmp byte [rsp + 0x60], 2
jne 0x140063383
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1400632e0
jmp 0x140063396
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1400632e0
mov r15, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x90]
cmp esi, 0x3b9aca00
je 0x1400640e6
call fcn.1400dfe70
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], edx
mov rcx, rbx
mov rdx, r15
mov r8d, r12d
call fcn.1400d67b0
cmp edx, 0x3b9aca00
cmove edx, r14d
mov ecx, 0
cmovne rcx, rax
xor eax, eax
cmp rcx, qword [rsp + 0xd0]
setne al
mov r8d, 0xff
cmovb eax, r8d
xor ecx, ecx
cmp edx, esi
setne cl
cmovb ecx, r8d
test al, al
cmovne ecx, eax
cmp cl, 1
je 0x1400632e0
jmp 0x1400640e6
mov dword [rsp + 0x178], 0x3b9aca00
mov rsi, qword [rsp + 0x30]
jmp 0x14006354e
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x2f0], rax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmmword [rsp + 0x2e0], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x2d0], xmm0
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movaps xmm3, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x2c0], xmm3
movaps xmmword [rsp + 0x2b0], xmm2
movaps xmmword [rsp + 0x2a0], xmm1
movaps xmmword [rsp + 0x290], xmm0
mov eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0x203]
mov dword [rsp + 0x130], eax
mov dword [rsp + 0x133], ecx
mov qword [r12], r15
movaps xmm0, xmmword [rsp + 0x290]
movdqa xmm1, xmmword [rsp + 0x2a0]
movdqa xmm2, xmmword [rsp + 0x2b0]
movdqa xmm3, xmmword [rsp + 0x2c0]
movups xmmword [r12 + 8], xmm0
movdqu xmmword [r12 + 0x18], xmm1
movdqu xmmword [r12 + 0x28], xmm2
movdqu xmmword [r12 + 0x38], xmm3
movaps xmm0, xmmword [rsp + 0x2d0]
movups xmmword [r12 + 0x48], xmm0
movdqa xmm0, xmmword [rsp + 0x2e0]
movdqu xmmword [r12 + 0x58], xmm0
mov rax, qword [rsp + 0x2f0]
mov qword [r12 + 0x68], rax
mov byte [r12 + 0x70], bl
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x133]
mov dword [r12 + 0x71], eax
mov dword [r12 + 0x74], ecx
jmp 0x14006440c
mov dword [rsp + 0x178], 0x3b9aca00
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x110], rax
movdqu xmm0, xmmword [rsp + 0x50]
movdqu xmm1, xmmword [rsp + 0x60]
movdqu xmm2, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x100], xmm2
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov al, 1
mov dword [rsp + 0xd0], eax
mov dword [rsp + 0x12c], 0
mov rcx, qword [rsi + 0x78]
mov rdx, qword [rsi + 0x80]
mov r8, r13
call fcn.14006edb0
mov rcx, qword [rsi + 0x58]
mov r8, qword [rsi + 0x60]
mov qword [rsp + 0x40], r8
and r8, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx r9d, byte [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0xb8], rax
movzx eax, byte [r13 + 1]
mov byte [rsp + 0xd8], al
mov rbx, qword [r13 + 0x18]
mov r15, qword [r13 + 0x20]
xor edx, edx
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x48], rcx
movdqu xmm2, xmmword [rcx + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb eax, xmm3
test eax, eax
mov qword [rsp + 0x38], rdx
jne 0x14006366f
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test eax, eax
jne 0x1400639f8
add r8, rdx
add r8, 0x10
add rdx, 0x10
and r8, qword [rsp + 0x40]
jmp 0x140063608
test sil, sil
je 0x1400649c9
lea eax, [r13 - 1]
and eax, r13d
test ax, ax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x38]
je 0x140063623
mov r13d, eax
tzcnt ebp, r13d
add rbp, r8
and rbp, qword [rsp + 0x40]
mov rax, rbp
neg rax
lea rax, [rax + rax*8]
lea rax, [rcx + rax*8]
cmp r9d, 1
je 0x140063720
cmp r9d, 2
jne 0x1400649c9
movzx esi, byte [rax - 0x48]
cmp sil, 2
jne 0x140063650
mov rcx, qword [rsp + 0xb8]
mov rsi, qword [rcx + 0x10]
mov rdi, qword [rax - 0x40]
cmp rsi, qword [rdi + 0x10]
jne 0x140063659
mov rcx, qword [rsp + 0xb8]
mov r14, qword [rcx + 8]
mov rdi, qword [rdi + 8]
xor r12d, r12d
nop word cs:[rax + rax]
cmp rsi, r12
je 0x14006374f
movzx r11d, byte [r14 + r12]
movzx r10d, byte [rdi + r12]
inc r12
lea ecx, [r11 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea edx, [r10 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or cl, r11b
or dl, r10b
cmp cl, dl
je 0x1400636e0
jmp 0x140063659
movzx esi, byte [rax - 0x48]
cmp sil, 1
jne 0x140063650
movzx esi, byte [rax - 0x47]
cmp byte [rsp + 0xd8], 0
je 0x140063746
test sil, sil
jne 0x14006374f
jmp 0x140063659
test sil, sil
jne 0x140063659
cmp r15, qword [rax - 0x28]
jne 0x140063659
mov rsi, qword [rax - 0x30]
xor edi, edi
nop
cmp r15, rdi
je 0x1400637a0
movzx ecx, byte [rbx + rdi]
movzx edx, byte [rsi + rdi]
inc rdi
lea r10d, [rcx - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
lea r11d, [rdx - 0x41]
cmp r11b, 0x1a
setb r11b
shl r11b, 5
or r10b, cl
or r11b, dl
cmp r10b, r11b
je 0x140063760
jmp 0x140063659
shl rbp, 3
lea rcx, [rbp*8]
add rcx, rbp
sar rcx, 3
movabs r8, 0x8e38e38e38e38e39
imul r8, rcx
lea r9, [r8 - 0x10]
and r9, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
movdqu xmm0, xmmword [rsi + r9]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rsi + r8]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x1400638e2
bsr r10w, r10w
xor r10d, 0xf
jmp 0x1400638e7
lea rcx, [r14 + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rsp + 0x110], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rsp + 0x100], xmm2
movdqa xmmword [rsp + 0xf0], xmm1
movdqa xmmword [rsp + 0xe0], xmm0
mov ecx, dword [r14 + 0x42]
mov dword [rsp + 0x1c0], ecx
movzx ecx, word [r14 + 0x46]
mov word [rsp + 0x1c4], cx
xor ecx, ecx
xchg byte [r14 + 0x48], cl
cmp al, 3
jne 0x140063b3c
mov rbx, qword [r13 + 0x38]
test rbx, rbx
je 0x1400638d9
mov sil, 1
mov al, 1
xchg byte [rbx + 0x80], al
mov al, 1
xchg byte [rbx + 0x60], al
test al, al
jne 0x1400638a4
mov rax, qword [rbx + 0x50]
mov rcx, qword [rbx + 0x58]
mov qword [rbx + 0x50], 0
xor edx, edx
xchg byte [rbx + 0x60], dl
test rax, rax
je 0x1400638a4
call qword [rax + 0x18]
xchg byte [rbx + 0x78], sil
test sil, sil
jne 0x1400638ca
mov rax, qword [rbx + 0x68]
mov rcx, qword [rbx + 0x70]
mov qword [rbx + 0x68], 0
xor edx, edx
xchg byte [rbx + 0x78], dl
test rax, rax
je 0x1400638ca
call qword [rax + 8]
lock dec qword [rbx]
jne 0x1400638d9
mov rcx, qword [r13 + 0x38]
call fcn.1400672e0
mov qword [r13 + 0x38], r14
jmp 0x140064406
mov r10w, 0x10
mov r11, qword [rsp + 0x30]
or edx, 0x10000
tzcnt ecx, edx
add r10d, ecx
mov dl, 0x80
cmp r10w, 0xf
ja 0x140063908
inc qword [r11 + 0x68]
mov dl, 0xff
mov byte [rsi + r8], dl
mov byte [rsi + r9 + 0x10], dl
dec qword [r11 + 0x70]
movdqu xmm0, xmmword [rax - 0x48]
movdqu xmm1, xmmword [rax - 0x38]
movdqu xmm2, xmmword [rax - 0x28]
movdqu xmm3, xmmword [rax - 0x18]
movdqa xmmword [rsp + 0x80], xmm3
mov rax, qword [rax - 8]
mov qword [rsp + 0x90], rax
movdqa xmmword [rsp + 0x70], xmm2
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmmword [rsp + 0x50], xmm0
mov rbx, qword [rsp + 0x80]
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x1400639f8
mov r15, qword [rsp + 0x88]
mov r13, qword [rsp + 0x90]
cmp byte [rsp + 0x50], 2
jb 0x1400639af
mov r12, qword [rsp + 0x58]
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 [0x14017d208]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
lea rcx, [rsp + 0x78]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
call qword [rax + 0x10]
test r13, r13
je 0x1400639e1
mov r12, r15
nop
mov rcx, r12
call fcn.140067350
add r12, 0x48
dec r13
jne 0x1400639d0
test rbx, rbx
je 0x1400639f8
mov rcx, qword [0x14017d208]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov edi, dword [rsp + 0xd0]
test dil, dil
mov r12, qword [rsp + 0x1b8]
mov r13, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x30]
je 0x140063a7c
cmp qword [r13 + 0x38], 0
je 0x140063a83
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x230], rax
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movdqa xmm2, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x220], xmm2
movdqa xmmword [rsp + 0x210], xmm1
movdqa xmmword [rsp + 0x200], xmm0
mov dil, 1
cmp byte [rsp + 0xc4], 0
jne 0x1400643d8
jmp 0x1400643c5
xor eax, eax
jmp 0x14006435a
movzx eax, byte [0x14017d2b0]
mov edx, 0x88
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400649f2
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 0x1400649f0
movzx ecx, byte [r13]
test ecx, ecx
mov qword [rsp + 0xd8], rax
je 0x140063c4d
mov ebx, ecx
cmp ecx, 2
jne 0x140063c51
movzx eax, byte [0x14017d2b0]
mov edx, 0x20
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x140064a31
mov rdi, rax
mov rax, qword [r13 + 8]
lea rdx, [rax + 0x18]
mov r10, qword [rax]
mov r8, qword [rax + 8]
mov r9, qword [rax + 0x10]
mov rcx, rdi
call qword [r10]
jmp 0x140063c4f
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movdqa xmm2, xmmword [rsp + 0x100]
movdqa xmmword [rsp + 0x270], xmm2
movzx ecx, byte [rsp + 0x110]
mov byte [rsp + 0x280], cl
movdqa xmmword [rsp + 0x260], xmm1
movdqa xmmword [rsp + 0x250], xmm0
mov byte [rsp + 0x281], al
mov eax, dword [rsp + 0x1c0]
mov dword [rsp + 0x282], eax
movzx eax, word [rsp + 0x1c4]
mov word [rsp + 0x286], ax
mov rax, qword [rsp + 0x278]
movzx eax, byte [rax + 0x10]
test al, al
je 0x140063c24
movzx eax, byte [0x14017d2b0]
mov edx, 0x38
xor ecx, ecx
call fcn.1400e0010
test rax, rax
je 0x1400649e1
mov r15, rax
mov byte [rax + 0x29], 2
mov byte [rax + 0x30], 4
mov qword [rax], 1
lea rax, [0x140139e60]
mov qword [r15 + 8], rax
lea rcx, [rsp + 0x250]
call fcn.140067350
jmp 0x140062ee8
cmp byte [rsp + 0x60], 2
jne 0x140064053
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x1400632b3
jmp 0x140064066
cmp byte [rsp + 0x260], 2
jne 0x14006414b
mov rax, qword [rsp + 0x250]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x140063bb6
jmp 0x140064161
mov ebx, ecx
jmp 0x140063c56
movzx eax, byte [r13 + 1]
mov ebp, ebx
mov byte [rsp + 0x50], bpl
mov byte [rsp + 0x48], al
mov byte [rsp + 0x51], al
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x58], rdi
lea rcx, [rsp + 0x60]
lea rdx, [r13 + 0x28]
mov rax, qword [r13 + 0x10]
mov r8, qword [r13 + 0x18]
mov r9, qword [r13 + 0x20]
call qword [rax]
mov rsi, qword [rsp + 0x30]
lea rax, [rsi + 0x88]
mov qword [rsp + 0x1f0], rax
mov rcx, qword [rsi + 0xa8]
mov rdx, qword [rsi + 0xb0]
lea r8, [rsp + 0x50]
call fcn.14006edb0
mov rcx, rax
shr rcx, 0x39
mov rbx, qword [rsi + 0x88]
mov rdi, qword [rsi + 0x90]
mov r11, rdi
mov qword [rsp + 0x238], rax
and r11, rax
mov eax, ebp
mov qword [rsp + 0x248], rcx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov r8, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
xor ecx, ecx
pcmpeqd xmm1, xmm1
mov qword [rsp + 0x240], r11
mov qword [rsp + 0x40], rdi
mov rcx, qword [rsp + 0x1b0]
call fcn.14010c7c0
mov rax, qword [0x14017d2a8]
shl rax, 1
test rax, rax
je 0x140062fb7
call fcn.14010c880
xor al, 1
mov dword [rsp + 0xc4], eax
movzx eax, byte [rsi + 0x11]
test al, al
je 0x140062fce
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x138], rax
mov eax, dword [rsp + 0xc4]
mov byte [rsp + 0x140], al
lea rax, str.C:UsersUser.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.28_srcclientpool.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14013baf8]
lea r8, [rsp + 0x138]
mov edx, 0x2b
call fcn.1401049b0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x1400632b3
mov r15, qword [rsp + 0x88]
mov r12d, dword [rsp + 0x90]
cmp esi, 0x3b9aca00
je 0x1400640e6
call fcn.1400dfe70
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], edx
lea rcx, [rsp + 0x138]
mov rdx, r15
mov r8d, r12d
call fcn.1400d67b0
xor ecx, ecx
cmp edx, 0x3b9aca00
cmove edx, ecx
cmovne rcx, rax
xor eax, eax
cmp rcx, qword [rsp + 0xd0]
setne al
mov ecx, 0xff
cmovb eax, ecx
xor r8d, r8d
cmp edx, esi
setne r8b
cmovb r8d, ecx
test al, al
cmovne r8d, eax
cmp r8b, 1
je 0x1400632b3
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
movzx edx, byte [rsp + 0x60]
mov r13, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
movzx esi, byte [rsp + 0x80]
movzx r9d, byte [rsp + 0x81]
lea rcx, [rsp + 0x82]
cmp dl, 2
jne 0x140064539
mov byte [rsp + 0x38], dl
mov byte [rsp + 0x48], sil
mov byte [rsp + 0x40], r9b
test r13, r13
je 0x1400646d5
mov rcx, r13
mov rsi, rax
call qword [rax + 0x18]
jmp 0x1400646da
mov rax, qword [rsp + 0x250]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x140063bb6
mov rdx, qword [r13 + 0x30]
lea rcx, [rsp + 0x138]
lea r9, [rsp + 0x250]
mov r8, r13
call fcn.1400ba450
mov r15, qword [rsp + 0x138]
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x50], xmm0
movups xmm0, xmmword [rsp + 0x150]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x160]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x170]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [rsp + 0x190]
movdqa xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0xb0], rax
movzx ebx, byte [rsp + 0x1a8]
mov eax, dword [rsp + 0x1a9]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0x203], eax
jmp 0x140062eea
mov qword [rsp + 0xe7], r13
mov qword [rsp + 0xef], rax
mov qword [rsp + 0xf7], rbp
mov byte [rsp + 0xff], sil
mov eax, dword [rcx]
mov dword [rsp + 0xc8], eax
movzx eax, word [rcx + 4]
mov word [rsp + 0xcc], ax
mov eax, dword [rsp + 0x61]
mov ecx, dword [rsp + 0x64]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xe3], ecx
lea rax, [rsp + 0xc8]
lea rcx, [rsp + 0xe0]
jmp 0x140064829
mov rsi, rax
xor eax, eax
lock inc qword [rbp]
jle 0x1400649f0
lock inc qword [r14]
movzx r8d, byte [rsp + 0x40]
lea r9, [rsp + 0x82]
jle 0x1400649f0
lock inc qword [rbx + 0x1c8]
lock inc qword [rbx]
jle 0x1400649f0
mov qword [rsp + 0xe7], r13
mov qword [rsp + 0xef], rsi
mov qword [rsp + 0xf7], rbp
movzx esi, byte [rsp + 0x48]
mov byte [rsp + 0xff], sil
mov ecx, dword [r9]
mov dword [rsp + 0xc8], ecx
movzx ecx, word [r9 + 4]
mov word [rsp + 0xcc], cx
mov qword [rsp + 0x1c7], rax
mov qword [rsp + 0x1cf], rdx
mov qword [rsp + 0x1d7], rbp
mov byte [rsp + 0x1df], sil
cmp r8b, 2
jne 0x140064789
mov r9b, 2
lea rax, [rsp + 0xc8]
lea rcx, [rsp + 0xe0]
jmp 0x140064824
call fcn.1400dfe70
mov r13, rax
mov ebp, edx
mov rax, qword [rdi - 8]
cmp rax, qword [rdi - 0x18]
jne 0x1400647aa
lea rcx, [rdi - 0x18]
call fcn.1400bec90
mov rax, qword [rdi - 8]
mov rcx, qword [rdi - 0x10]
lea rdx, [rax + rax*8]
mov qword [rcx + rdx*8], r14
mov qword [rcx + rdx*8 + 8], rbx
mov byte [rcx + rdx*8 + 0x10], 2
movdqu xmm0, xmmword [rsp + 0xe0]
movdqu xmm1, xmmword [rsp + 0xf0]
movdqu xmmword [rcx + rdx*8 + 0x11], xmm0
movdqu xmmword [rcx + rdx*8 + 0x21], xmm1
movzx r9d, byte [rsp + 0x40]
mov byte [rcx + rdx*8 + 0x31], r9b
lea r10, [rsp + 0x82]
mov r8d, dword [r10]
mov dword [rcx + rdx*8 + 0x32], r8d
movzx r8d, word [r10 + 4]
mov word [rcx + rdx*8 + 0x36], r8w
mov qword [rcx + rdx*8 + 0x38], r13
mov dword [rcx + rdx*8 + 0x40], ebp
inc rax
mov qword [rdi - 8], rax
lea rax, [rsp + 0x28a]
lea rcx, [rsp + 0x1c0]
movzx edx, byte [rsp + 0x38]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsp + 0x159], xmm1
movups xmmword [rsp + 0x149], xmm0
mov ecx, dword [rax]
mov dword [rsp + 0x16a], ecx
movzx eax, word [rax + 4]
mov word [rsp + 0x16e], ax
cmp qword [rdi - 8], 0
mov qword [rsp + 0x138], r14
mov qword [rsp + 0x140], rbx
mov byte [rsp + 0x148], dl
mov byte [rsp + 0x169], r9b
mov qword [rsp + 0x170], r15
mov dword [rsp + 0x178], r12d
sete byte [rsp + 0x180]
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x110], rax
movzx eax, byte [rsp + 0x148]
mov byte [rsp + 0xf0], al
mov rax, qword [rsp + 0x149]
mov qword [rsp + 0xf1], rax
mov eax, dword [rsp + 0x151]
mov dword [rsp + 0xf9], eax
movzx eax, word [rsp + 0x155]
mov word [rsp + 0xfd], ax
movzx eax, byte [rsp + 0x157]
mov byte [rsp + 0xff], al
movups xmm0, xmmword [rsp + 0x138]
movaps xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x100], xmm0
mov r12, qword [rsp + 0x1b8]
mov r13, qword [rsp + 0x120]
je 0x140064979
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x230], rax
movups xmm0, xmmword [rsp + 0x138]
movups xmm1, xmmword [rsp + 0x148]
movups xmm2, xmmword [rsp + 0x158]
movaps xmmword [rsp + 0x220], xmm2
movaps xmmword [rsp + 0x210], xmm1
movaps xmmword [rsp + 0x200], xmm0
xor edi, edi
mov rsi, qword [rsp + 0x30]
cmp byte [rsp + 0xc4], 0
jne 0x1400643d8
jmp 0x1400643c5
mov dword [rsp + 0xd0], 0
mov al, 1
mov dword [rsp + 0x12c], eax
mov rsi, qword [rsp + 0x30]
jmp 0x14006359f
mov ecx, 8
mov edx, 0x88
call fcn.140104380