Function at 0x14009c010
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2b8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x230], 0xfffffffffffffffe
mov r12, r8
mov r13, rdx
mov r14, rcx
lea r15, [rdx + 0x38]
mov rsi, qword [rdx + 0x38]
mov qword [rdx + 0x38], 0
test rsi, rsi
je 0x14009c270
mov qword [rbp + 0x30], rsi
movzx eax, byte [rsi + 0x80]
test al, al
jne 0x14009c104
mov rax, qword [r12]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, qword [rdx]
mov byte [rbp + 0x22d], 1
call rax
mov cl, 1
xchg byte [rsi + 0x60], cl
test cl, cl
je 0x14009c09d
mov rax, qword [rax + 0x18]
mov byte [rbp + 0x22d], 1
mov rcx, rdx
call rax
jmp 0x14009c104
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x208], rdx
lea rax, [rsi + 0x50]
mov qword [rbp + 0x130], rax
mov rax, qword [rax]
test rax, rax
mov qword [rbp + 0x220], rsi
je 0x14009c0d3
mov rcx, qword [rbp + 0x220]
mov rcx, qword [rcx + 0x58]
call qword [rax + 0x18]
mov rax, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x220]
mov qword [rsi + 0x50], rax
mov rax, qword [rbp + 0x208]
mov qword [rsi + 0x58], rax
xor eax, eax
xchg byte [rsi + 0x60], al
movzx eax, byte [rsi + 0x80]
test al, al
je 0x14009cb0b
mov al, 1
xchg byte [rsi + 0x48], al
test al, al
jne 0x14009c122
movzx eax, byte [rsi + 0x41]
mov byte [rsi + 0x41], 2
cmp al, 2
jne 0x14009cac2
xor eax, eax
xchg byte [rsi + 0x48], al
mov byte [rbp + 0x160], 4
mov qword [rbp + 0x130], 0
mov byte [rbp + 0x159], 2
movzx eax, byte [0x14023c308]
mov rcx, qword [0x14023c258]
test rcx, rcx
jne 0x14009c167
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14009dd06
mov rcx, rax
mov qword [0x14023c258], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009dd06
mov rcx, qword [rbp + 0x160]
mov qword [rax + 0x30], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov byte [rbp + 0x22d], 1
mov bl, 2
lea rdx, str.request_has_been_canceled
mov r8d, 0x19
mov qword [rbp + 0x220], rax
mov rcx, rax
call fcn.14006ad30
mov rsi, qword [rbp + 0x30]
mov dil, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x14009c209
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 0x14009c209
call qword [rax + 0x18]
xchg byte [rsi + 0x78], dil
test dil, dil
jne 0x14009c22f
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 0x14009c22f
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x30]
lock dec qword [rax]
jne 0x14009c242
mov rcx, qword [rbp + 0x30]
call fcn.140069fe0
cmp bl, 4
je 0x14009d9d8
movzx eax, bl
cmp eax, 3
je 0x14009c270
cmp eax, 2
jne 0x14009ca46
mov rax, qword [rbp + 0x220]
mov qword [r14], rax
mov byte [r14 + 0x70], 2
jmp 0x14009d9dd
mov rdi, qword [r13 + 0x30]
test rdi, rdi
je 0x14009d9ca
lea rcx, [rdi + 0x10]
mov qword [rbp + 0x28], rcx
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x14023c300]
shl rax, 1
test rax, rax
jne 0x14009d1c3
mov dword [rbp + 0x1dc], 0
mov qword [rbp - 0x50], r12
mov qword [rbp + 0x200], r15
mov qword [rbp - 0x58], r14
movzx eax, byte [rdi + 0x18]
test al, al
jne 0x14009dd1a
cmp qword [rdi + 0x78], 0
mov qword [rbp + 0x120], r13
mov qword [rbp + 0x1d0], rdi
je 0x14009c72c
mov rax, qword [rdi + 0xd0]
mov qword [rbp + 0x128], rax
mov eax, dword [rdi + 0xd8]
mov dword [rbp + 0x1c0], eax
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov r8, r13
call fcn.140093700
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 r8d, byte [r13]
mov r9, qword [r13 + 8]
mov qword [rbp + 0x1e0], r9
movzx r9d, byte [r13 + 1]
mov byte [rbp + 0x1c8], r9b
mov r9, qword [r13 + 0x18]
mov qword [rbp + 0x208], r9
mov r9, qword [r13 + 0x20]
mov qword [rbp + 0x1f8], r9
neg r9
mov qword [rbp + 0x220], r9
xor r9d, r9d
mov qword [rbp + 0x1e8], r9
pcmpeqd xmm1, xmm1
mov qword [rbp + 0x1f0], r8
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r10d, xmm3
test r10d, r10d
mov qword [rbp + 0x210], rax
jne 0x14009c40a
pcmpeqb xmm2, xmm1
pmovmskb r10d, xmm2
test r10d, r10d
mov r13, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x1d0]
jne 0x14009c72c
mov r9, qword [rbp + 0x1e8]
add rax, r9
add rax, 0x10
add r9, 0x10
mov qword [rbp + 0x1e8], r9
jmp 0x14009c37f
test r10b, r10b
je 0x14009dccc
lea r10d, [rsi - 1]
and r10d, esi
test r10w, r10w
mov rcx, r11
mov rax, qword [rbp + 0x210]
mov rdx, r14
mov r8, qword [rbp + 0x1f0]
je 0x14009c3a0
mov esi, r10d
tzcnt r10d, esi
add r10, rax
mov r14, rdx
and r10, rdx
neg r10
lea r10, [r10 + r10*8]
mov r11, rcx
lea r15, [rcx + r10*8]
cmp r8d, 1
je 0x14009c4d0
cmp r8d, 2
jne 0x14009dccc
movzx r10d, byte [r15 - 0x48]
cmp r10b, 2
jne 0x14009c3e0
mov rax, qword [rbp + 0x1e0]
mov r10, qword [rax + 0x10]
mov rdi, qword [r15 - 0x40]
cmp r10, qword [rdi + 0x10]
jne 0x14009c3e9
mov rax, qword [rbp + 0x1e0]
mov r13, qword [rax + 8]
mov r12, qword [rdi + 8]
mov rdi, r10
neg rdi
mov rbx, 0xffffffffffffffff
nop dword [rax]
lea r9, [rdi + rbx]
cmp r9, 0xffffffffffffffff
je 0x14009c500
movzx r9d, byte [r13 + rbx + 1]
movzx ecx, byte [r12 + rbx + 1]
lea edx, [r9 - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or dl, r9b
or r8b, cl
inc rbx
cmp dl, r8b
je 0x14009c480
cmp rbx, r10
jb 0x14009c3e9
jmp 0x14009c500
movzx r10d, byte [r15 - 0x48]
cmp r10b, 1
jne 0x14009c3e0
movzx r10d, byte [r15 - 0x47]
cmp byte [rbp + 0x1c8], 0
je 0x14009c4f7
test r10b, r10b
jne 0x14009c500
jmp 0x14009c3e9
test r10b, r10b
jne 0x14009c3e9
mov rax, qword [rbp + 0x1f8]
cmp rax, qword [r15 - 0x28]
jne 0x14009c3e9
mov rdi, qword [r15 - 0x30]
mov r10, 0xffffffffffffffff
nop dword [rax]
mov rax, qword [rbp + 0x220]
lea rcx, [rax + r10]
cmp rcx, 0xffffffffffffffff
je 0x14009c57f
mov rax, qword [rbp + 0x208]
movzx ecx, byte [rax + r10 + 1]
movzx edx, byte [rdi + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea r9d, [rdx - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
or r8b, cl
or r9b, dl
inc r10
cmp r8b, r9b
je 0x14009c520
cmp r10, qword [rbp + 0x1f8]
jb 0x14009c3e9
lea rax, [r15 - 0x18]
mov qword [rbp + 0x220], rax
xor esi, esi
lea rbx, [rbp + 0xd0]
mov r13, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x1d0]
jmp 0x14009c5b8
mov rcx, rbx
call fcn.14006a0d0
mov rax, qword [r15 - 8]
test rax, rax
je 0x14009c72c
dec rax
mov qword [r15 - 8], rax
mov rcx, qword [r15 - 0x18]
lea rdx, [rax + rax*8]
mov eax, dword [rcx + rdx*8 + 0x40]
cmp eax, 0x3b9aca00
je 0x14009c72c
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 [rbp + 0xf0], xmm2
movdqa xmmword [rbp + 0x100], xmm3
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0x110], eax
mov dword [rbp + 0x114], edx
mov rax, qword [rbp + 0xf8]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x14009c5b0
cmp byte [rbp + 0xe0], 2
jne 0x14009c65c
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x14009c5b0
jmp 0x14009c671
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x14009c5b0
mov r12, qword [rbp + 0x108]
mov r14d, dword [rbp + 0x110]
cmp dword [rbp + 0x1c0], 0x3b9aca00
je 0x14009c6f9
mov byte [rbp + 0x22b], 1
call fcn.140161f70
mov qword [rbp + 0x130], rax
mov dword [rbp + 0x138], edx
mov byte [rbp + 0x22b], 1
lea rcx, [rbp + 0x130]
mov rdx, r12
mov r8d, r14d
call fcn.14014c180
cmp edx, 0x3b9aca00
cmove rax, rsi
mov rcx, qword [rbp + 0x128]
cmp rax, rcx
jb 0x14009c6f9
cmp edx, 0x3b9aca00
mov r8, rcx
setne cl
cmp edx, dword [rbp + 0x1c0]
seta dl
cmp rax, r8
jne 0x14009c5b0
and cl, dl
jne 0x14009c5b0
mov byte [rbp + 0x22b], 0
lea rsi, [rbp + 0x130]
lea rdx, [rbp + 0xd0]
mov rcx, rsi
call fcn.140093c00
cmp byte [rbp + 0x199], 2
jne 0x14009d04e
mov rdx, qword [r15 - 8]
jmp 0x14009d10c
mov dword [rbp + 0xa0], 0x3b9aca00
mov dword [rbp + 0x110], 0x3b9aca00
mov r14d, 0x3b9aca00
mov dword [rbp + 0x128], 0
mov dword [rbp + 0x1e8], r14d
mov rcx, qword [rdi + 0x80]
mov rdx, qword [rdi + 0x88]
mov r8, r13
call fcn.140093700
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 r8d, byte [r13]
mov r9, qword [r13 + 8]
mov qword [rbp + 0x1f0], r9
movzx r9d, byte [r13 + 1]
mov byte [rbp + 0x1c0], r9b
mov r9, qword [r13 + 0x18]
mov qword [rbp + 0x208], r9
mov r9, qword [r13 + 0x20]
mov qword [rbp + 0x1f8], r9
neg r9
mov qword [rbp + 0x220], r9
xor r9d, r9d
mov qword [rbp + 0x1c8], r9
pcmpeqd xmm1, xmm1
mov qword [rbp + 0x210], r8
and rax, rdx
movdqu xmm2, xmmword [rcx + rax]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r9d, xmm3
test r9d, r9d
jne 0x14009c866
pcmpeqb xmm2, xmm1
pmovmskb r9d, xmm2
test r9d, r9d
mov r13, qword [rbp + 0x120]
mov ebx, dword [rbp + 0x1e8]
jne 0x14009cc3d
mov r9, qword [rbp + 0x1c8]
add rax, r9
add rax, 0x10
add r9, 0x10
mov qword [rbp + 0x1c8], r9
jmp 0x14009c7e0
test r10b, r10b
je 0x14009dcaf
lea r9d, [rsi - 1]
and r9d, esi
test r9w, r9w
mov rcx, rax
mov rdx, r12
mov rax, r15
mov r8, qword [rbp + 0x210]
je 0x14009c7fa
mov esi, r9d
tzcnt edi, esi
mov r15, rax
add rdi, rax
mov r12, rdx
and rdi, rdx
mov r9, rdi
neg r9
lea r9, [r9 + r9*8]
mov rax, rcx
lea r9, [rcx + r9*8]
cmp r8d, 1
je 0x14009c940
cmp r8d, 2
jne 0x14009dcaf
movzx r10d, byte [r9 - 0x48]
cmp r10b, 2
jne 0x14009c840
mov rcx, qword [rbp + 0x1f0]
mov rcx, qword [rcx + 0x10]
mov r10, qword [r9 - 0x40]
mov qword [rbp + 0x1e0], rcx
cmp rcx, qword [r10 + 0x10]
jne 0x14009c849
mov rcx, qword [rbp + 0x1f0]
mov r13, qword [rcx + 8]
mov r11, qword [r10 + 8]
mov r14, qword [rbp + 0x1e0]
neg r14
mov r10, 0xffffffffffffffff
nop word cs:[rax + rax]
lea rcx, [r14 + r10]
cmp rcx, 0xffffffffffffffff
je 0x14009c970
movzx ecx, byte [r13 + r10 + 1]
movzx edx, byte [r11 + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r8b, cl
or bl, dl
inc r10
cmp r8b, bl
je 0x14009c8f0
cmp r10, qword [rbp + 0x1e0]
jb 0x14009c849
jmp 0x14009c970
movzx r10d, byte [r9 - 0x48]
cmp r10b, 1
jne 0x14009c840
movzx r10d, byte [r9 - 0x47]
cmp byte [rbp + 0x1c0], 0
je 0x14009c967
test r10b, r10b
jne 0x14009c970
jmp 0x14009c849
test r10b, r10b
jne 0x14009c849
mov rcx, qword [rbp + 0x1f8]
cmp rcx, qword [r9 - 0x28]
jne 0x14009c849
mov r11, qword [r9 - 0x30]
mov r10, 0xffffffffffffffff
nop dword [rax]
mov rcx, qword [rbp + 0x220]
add rcx, r10
cmp rcx, 0xffffffffffffffff
je 0x14009c9e9
mov rcx, qword [rbp + 0x208]
movzx ecx, byte [rcx + r10 + 1]
movzx edx, byte [r11 + r10 + 1]
lea r8d, [rcx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or r8b, cl
or bl, dl
inc r10
cmp r8b, bl
je 0x14009c990
cmp r10, qword [rbp + 0x1f8]
jb 0x14009c849
shl rdi, 3
lea rcx, [rdi + rdi*8]
sar rcx, 3
movabs rsi, 0x8e38e38e38e38e39
imul rsi, rcx
lea r8, [rsi - 0x10]
and r8, r12
movdqu xmm0, xmmword [rax + r8]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
psllw xmm0, 7
pmovmskb r10d, xmm0
movdqu xmm0, xmmword [rax + rsi]
pcmpeqb xmm0, xmm1
pmovmskb edx, xmm0
test r10d, r10d
je 0x14009cbae
bsr r10w, r10w
xor r10d, 0xf
jmp 0x14009cbb3
mov rax, qword [rbp + 0xc0]
mov qword [r14 + 0x68], rax
movaps xmm0, xmmword [rbp + 0xb0]
movups xmmword [r14 + 0x58], xmm0
movaps xmm0, xmmword [rbp + 0xa0]
movups xmmword [r14 + 0x48], xmm0
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movdqa xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x90]
movdqu xmmword [r14 + 0x38], xmm3
movdqu xmmword [r14 + 0x28], xmm2
movdqu xmmword [r14 + 0x18], xmm1
movdqu xmmword [r14 + 8], xmm0
mov eax, dword [rbp + 0x1b8]
mov ecx, dword [rbp + 0x1bb]
mov dword [r14 + 0x71], eax
mov dword [r14 + 0x74], ecx
mov rax, qword [rbp + 0x220]
mov qword [r14], rax
mov byte [r14 + 0x70], bl
jmp 0x14009d9dd
lea rcx, [rsi + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rbp + 0x10], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov ecx, dword [rsi + 0x42]
mov dword [rbp + 0x118], ecx
movzx ecx, word [rsi + 0x46]
mov word [rbp + 0x11c], cx
xor ecx, ecx
xchg byte [rsi + 0x48], cl
cmp al, 3
jne 0x14009cd9b
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x220], rax
mov rsi, qword [r15]
test rsi, rsi
mov qword [rbp + 0x200], r15
je 0x14009cb98
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x14009cb55
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 0x14009cb55
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x14009cb79
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 0x14009cb79
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x200]
mov rax, qword [rax]
lock dec qword [rax]
jne 0x14009cb98
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
call fcn.140069fe0
mov rax, qword [rbp + 0x220]
mov rcx, qword [rbp + 0x200]
mov qword [rcx], rax
jmp 0x14009d9d8
mov r10w, reloc.WS2_32.dll_recv
mov r11, qword [rbp + 0x1d0]
mov ebx, dword [rbp + 0x1e8]
or edx, 0x10000
tzcnt ecx, edx
add r10d, ecx
mov dl, 0x80
cmp r10w, 0xf
mov r13, qword [rbp + 0x120]
ja 0x14009cbe3
inc qword [r11 + 0x70]
mov dl, 0xff
mov byte [rax + rsi], dl
mov byte [r8 + rax + 0x10], dl
dec qword [r11 + 0x78]
movdqu xmm0, xmmword [r9 - 0x48]
movdqu xmm1, xmmword [r9 - 0x38]
movdqu xmm2, xmmword [r9 - 0x28]
movdqu xmm3, xmmword [r9 - 0x18]
movdqa xmmword [rbp + 0x130], xmm0
mov rax, qword [r9 - 8]
mov qword [rbp + 0x170], rax
movdqa xmmword [rbp + 0x160], xmm3
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
movzx eax, byte [rbp + 0x130]
cmp al, 3
jne 0x14009cc49
mov rdi, qword [rbp + 0x200]
jmp 0x14009cd38
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp + 0x168]
mov r15, qword [rbp + 0x170]
cmp al, 2
jb 0x14009cc98
mov r8, qword [rbp + 0x138]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
lea rcx, [r8 + 0x18]
mov qword [rbp + 0x220], r8
mov r8, qword [r8 + 0x10]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023c258]
xor edx, edx
mov r8, qword [rbp + 0x220]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x158]
mov r8, qword [rbp + 0x150]
call qword [rax + reloc.WS2_32.dll_recv]
mov rdi, qword [rbp + 0x200]
test rsi, rsi
je 0x14009cd38
mov qword [rbp + 0x208], r15
mov qword [rbp + 0x1f0], r14
xor eax, eax
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x210], rsi
mov rcx, rsi
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x220]
cmp qword [rbp + 0x208], rax
je 0x14009cd18
inc rax
mov qword [rbp + 0x220], rax
lea rsi, [rcx + 0x48]
call fcn.14006a0d0
mov rcx, rsi
jmp 0x14009ccf0
cmp qword [rbp + 0x1f0], 0
mov r8, qword [rbp + 0x210]
je 0x14009cd38
mov rcx, qword [0x14023c258]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
cmp ebx, 0x3b9aca00
jne 0x14009d92a
cmp qword [rdi], 0
je 0x14009cf1f
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmm2, xmmword [rbp + 0xf0]
movdqa xmm3, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x10], xmm3
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
mov r14d, dword [rbp + 0x110]
mov esi, dword [rbp + 0x114]
mov rdi, qword [rbp + 0x1d0]
jmp 0x14009d990
movdqa xmm0, xmmword [rbp - 0x20]
movdqa xmm1, xmmword [rbp - 0x10]
movdqa xmm2, xmmword [rbp]
movdqa xmmword [rbp + 0xf0], xmm2
movzx ecx, byte [rbp + 0x10]
mov byte [rbp + 0x100], cl
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xd0], xmm0
mov byte [rbp + 0x101], al
mov eax, dword [rbp + 0x118]
mov dword [rbp + 0x102], eax
movzx eax, word [rbp + 0x11c]
mov word [rbp + 0x106], ax
mov rax, qword [rbp + 0xf8]
movzx eax, byte [rax + 0x10]
test al, al
je 0x14009d027
mov byte [rbp + 0x160], 4
mov qword [rbp + 0x130], 0
mov byte [rbp + 0x159], 2
movzx eax, byte [0x14023c308]
mov rcx, qword [0x14023c258]
test rcx, rcx
jne 0x14009ce44
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14009dd86
mov rcx, rax
mov qword [0x14023c258], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009dd86
mov rcx, qword [rbp + 0x160]
mov qword [rax + 0x30], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqu xmmword [rax + 0x20], xmm2
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov qword [rbp + 0x130], rax
mov rcx, qword [rax]
test rcx, rcx
mov qword [rbp + 0x220], rax
je 0x14009cef3
mov rax, qword [rax + 8]
mov qword [rbp + 0x208], rcx
mov qword [rbp + 0x210], rax
call qword [rax]
mov rcx, qword [rbp + 0x210]
cmp qword [rcx + 8], 0
mov rax, qword [rbp + 0x220]
mov r8, qword [rbp + 0x208]
je 0x14009cef3
cmp qword [rcx + 0x10], 0x11
jb 0x14009cedd
mov r8, qword [r8 - 8]
mov rcx, qword [0x14023c258]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x220]
mov qword [rax], 1
lea rcx, [0x1401b90d8]
mov qword [rax + 8], rcx
mov byte [rbp + 0x22d], 1
mov bl, 2
lea rcx, [rbp + 0xd0]
call fcn.14006a0d0
jmp 0x14009c1d4
mov byte [rbp + 0x171], 2
mov byte [rbp + 0x178], 0
mov qword [rbp + 0x180], 0
mov byte [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov byte [rbp + 0x1a8], 0
mov byte [rbp + 0x1b0], 0
mov qword [rbp + 0x130], 1
mov qword [rbp + 0x138], 1
movzx eax, byte [0x14023c308]
mov rcx, qword [0x14023c258]
test rcx, rcx
mov rsi, qword [rbp + 0x1d0]
jne 0x14009cfa1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14009dd75
mov rcx, rax
mov qword [0x14023c258], rax
mov r8d, 0x88
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009dd75
mov rdi, rax
lea rdx, [rbp + 0x130]
mov r8d, 0x88
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lock inc qword [rdi]
jle 0x14009dd97
mov qword [rbp + 0x118], rdi
mov qword [rbp + 0x1b8], rdi
movzx eax, byte [r13]
test rax, rax
je 0x14009d1d5
cmp eax, 1
jne 0x14009d1f5
movzx ecx, byte [r13 + 1]
mov al, 1
mov dword [rbp + 0x1f0], eax
mov dword [rbp + 0x210], 0
mov dword [rbp + 0x1e0], 0
mov dl, 1
jmp 0x14009d26c
cmp byte [rbp + 0xe0], 2
jne 0x14009d6de
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 3
je 0x14009cdff
jmp 0x14009d6f3
mov byte [rbp + 0x21f], 1
call fcn.140161f70
mov rcx, qword [rbp + 0x160]
mov qword [rbp + 0x90], rcx
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x80], xmm2
movdqa xmmword [rbp + 0x70], xmm1
movdqa xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x98], rax
mov dword [rbp + 0xa0], edx
mov rdx, qword [r15 - 8]
cmp rdx, qword [r15 - 0x10]
jne 0x14009d0b9
mov rcx, qword [rbp + 0x220]
call fcn.140094190
mov rdx, qword [r15 - 8]
mov rax, qword [r15 - 0x18]
lea rcx, [rdx + rdx*8]
mov r8, qword [rbp + 0xa0]
mov qword [rax + rcx*8 + 0x40], r8
movdqa xmm0, xmmword [rbp + 0x60]
movdqa xmm1, xmmword [rbp + 0x70]
movdqa xmm2, xmmword [rbp + 0x80]
movdqa xmm3, xmmword [rbp + 0x90]
movdqu xmmword [rax + rcx*8 + 0x30], xmm3
movdqu xmmword [rax + rcx*8 + 0x20], xmm2
movdqu xmmword [rax + rcx*8 + 0x10], xmm1
movdqu xmmword [rax + rcx*8], xmm0
inc rdx
mov qword [r15 - 8], rdx
lea rsi, [rbp + 0x168]
mov rax, qword [rsi + 0x30]
mov qword [rbp + 0x90], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movaps xmmword [rbp + 0x80], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x98], r12
mov dword [rbp + 0xa0], r14d
test rdx, rdx
sete byte [rbp + 0xa8]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x100], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x108], rax
movaps xmmword [rbp + 0xf0], xmm2
movaps xmmword [rbp + 0xe0], xmm1
movaps xmmword [rbp + 0xd0], xmm0
mov dword [rbp + 0x110], r14d
je 0x14009d6d1
movaps xmm0, xmmword [rbp + 0x60]
movaps xmm1, xmmword [rbp + 0x70]
movaps xmm2, xmmword [rbp + 0x80]
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x18], rax
movaps xmmword [rbp], xmm2
movaps xmmword [rbp - 0x10], xmm1
movaps xmmword [rbp - 0x20], xmm0
mov esi, dword [rbp + 0x114]
jmp 0x14009d990
call fcn.14018d880
xor al, 1
mov dword [rbp + 0x1dc], eax
jmp 0x14009c2a8
mov dword [rbp + 0x210], 0
mov al, 1
mov dword [rbp + 0x1e0], eax
mov dword [rbp + 0x1f0], 0
xor edx, edx
jmp 0x14009d26c
movzx eax, byte [0x14023c308]
mov ecx, 0x20
mov edx, 8
call fcn.140010630
mov qword [rbp + 0x1f8], rax
test rax, rax
je 0x14009dde8
mov rdx, qword [r13 + 8]
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov r9, qword [rdx + 0x10]
add rdx, 0x18
lea rcx, [rbp + 0x30]
call qword [rax]
movdqu xmm0, xmmword [rbp + 0x30]
movdqu xmm1, xmmword [rbp + 0x40]
mov rax, qword [rbp + 0x1f8]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov dl, 2
mov cl, 1
mov dword [rbp + 0x210], ecx
mov dword [rbp + 0x1f0], 0
mov dword [rbp + 0x1e0], 0
mov qword [rbp - 0x30], rdi
mov dword [rbp + 0x220], edx
mov byte [rbp + 0x130], dl
mov byte [rbp + 0x1c8], cl
mov byte [rbp + 0x131], cl
mov qword [rbp + 0x1f8], rax
mov qword [rbp + 0x138], rax
mov rax, qword [r13 + 0x10]
mov r8, qword [r13 + 0x18]
lea rdx, [r13 + 0x28]
mov r9, qword [r13 + 0x20]
lea rcx, [rbp + 0x30]
call qword [rax]
movups xmm0, xmmword [rbp + 0x30]
movdqu xmm1, xmmword [rbp + 0x40]
movdqu xmmword [rbp + 0x150], xmm1
movups xmmword [rbp + 0x140], xmm0
lea rax, [rsi + 0x90]
mov qword [rbp - 0x28], rax
lea rax, [rsi + 0xb0]
mov qword [rbp - 0x38], rax
mov rcx, qword [rsi + 0xb0]
mov rdx, qword [rsi + 0xb8]
lea r8, [rbp + 0x130]
call fcn.140093700
mov r10, qword [rsi + 0x90]
mov rcx, qword [rsi + 0x98]
mov rdx, rax
shr rdx, 0x39
mov qword [rbp - 0x48], rdx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
mov rdx, qword [rbp + 0x148]
mov qword [rbp + 0x208], rdx
mov r9, qword [rbp + 0x150]
mov qword [rbp + 0x1c0], r9
neg r9
mov qword [rbp + 0x220], r9
xor edx, edx
mov qword [rbp + 0x1e8], rdx
pcmpeqd xmm1, xmm1
mov qword [rbp - 0x40], rax
mov rdx, rax
and rdx, rcx
movdqu xmm2, xmmword [r10 + rdx]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm2
pmovmskb r8d, xmm3
test r8d, r8d
jne 0x14009d3d3
pcmpeqb xmm2, xmm1
pmovmskb r8d, xmm2
test r8d, r8d
jne 0x14009db82
mov rax, qword [rbp + 0x1e8]
add rdx, rax
add rdx, 0x10
add rax, 0x10
mov qword [rbp + 0x1e8], rax
jmp 0x14009d359
cmp byte [rbp + 0x1e0], 0
jne 0x14009dce9
lea r8d, [rsi - 1]
and r8d, esi
test r8w, r8w
mov r10, r11
mov rcx, r12
mov rdx, r9
je 0x14009d374
mov esi, r8d
tzcnt r8d, esi
mov r9, rdx
add r8, rdx
mov r12, rcx
and r8, rcx
neg r8
lea r8, [r8 + r8*4]
shl r8, 4
lea rax, [r10 + r8]
mov r11, r10
movzx r8d, byte [r10 + r8 - 0x50]
cmp r8, 1
je 0x14009d4a0
cmp r8d, 2
jne 0x14009dce9
cmp byte [rbp + 0x210], 0
je 0x14009d3b0
mov rdx, rax
mov r10, qword [rax - 0x48]
mov r8, qword [r10 + 0x10]
mov rax, qword [rbp + 0x1f8]
cmp r8, qword [rax + 0x10]
jne 0x14009d3bd
mov r10, qword [r10 + 8]
mov rax, qword [rbp + 0x1f8]
mov r13, qword [rax + 8]
mov rdi, r8
neg rdi
mov rbx, 0xffffffffffffffff
lea r14, [rdi + rbx]
cmp r14, 0xffffffffffffffff
je 0x14009d4e0
movzx r14d, byte [r10 + rbx + 1]
movzx r15d, byte [r13 + rbx + 1]
lea ecx, [r14 - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
lea eax, [r15 - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or cl, r14b
or al, r15b
inc rbx
cmp cl, al
je 0x14009d450
cmp rbx, r8
jb 0x14009d3bd
jmp 0x14009d4e0
cmp byte [rbp + 0x1f0], 0
je 0x14009d3b0
mov rdx, rax
cmp byte [rax - 0x4f], 0
je 0x14009d4c4
cmp byte [rbp + 0x1c8], 0
jne 0x14009d4e0
jmp 0x14009d3bd
cmp byte [rbp + 0x1c8], 0
jne 0x14009d3bd
nop word cs:[rax + rax]
mov rax, qword [rbp + 0x1c0]
cmp qword [rdx - 0x30], rax
jne 0x14009d3bd
mov r10, qword [rdx - 0x38]
mov r8, 0xffffffffffffffff
nop dword [rax]
mov rax, qword [rbp + 0x220]
add rax, r8
cmp rax, 0xffffffffffffffff
je 0x14009d559
movzx eax, byte [r10 + r8 + 1]
mov rcx, qword [rbp + 0x208]
movzx ecx, byte [rcx + 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 0x14009d500
cmp r8, qword [rbp + 0x1c0]
jb 0x14009d3bd
movdqu xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x50], xmm2
movdqa xmmword [rbp + 0x40], xmm1
movdqa xmmword [rbp + 0x30], xmm0
movdqa xmmword [rbp + 0x130], xmm0
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
mov rbx, rdx
mov qword [rbp + 0x160], rdx
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x168], rax
movzx eax, byte [rbp + 0x130]
cmp al, 3
mov rdi, qword [rbp - 0x30]
je 0x14009d626
cmp al, 2
jb 0x14009d5f6
mov r8, qword [rbp + 0x138]
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
lea rcx, [r8 + 0x18]
mov qword [rbp + 0x220], r8
mov r8, qword [r8 + 0x10]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023c258]
xor edx, edx
mov r8, qword [rbp + 0x220]
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x148]
mov rax, qword [rax + 0x10]
lea rcx, [rbp + 0x158]
mov r8, qword [rbp + 0x150]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 1
call rax
mov qword [rbp + 0x130], rdi
mov rcx, qword [rbx - 0x18]
mov rax, qword [rbx - 8]
mov rsi, rdi
cmp rax, rcx
jne 0x14009d655
lea rcx, [rbx - 0x20]
call fcn.140124010
mov rcx, qword [rbx - 0x18]
mov rax, qword [rbx - 8]
mov rsi, qword [rbp + 0x1b8]
mov rdx, qword [rbx - 0x10]
add rdx, rax
xor r8d, r8d
cmp rdx, rcx
cmovae r8, rcx
sub rdx, r8
mov rcx, qword [rbx - 0x20]
mov qword [rcx + rdx*8], rdi
inc rax
mov qword [rbx - 8], rax
movzx eax, byte [rsi + 0x80]
test al, al
jne 0x14009d804
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
mov rax, qword [rdx]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
call rax
mov cl, 1
xchg byte [rsi + 0x60], cl
test cl, cl
je 0x14009d7a4
mov rax, qword [rax + 0x18]
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
mov rcx, rdx
call rax
jmp 0x14009d804
mov al, 1
mov dword [rbp + 0x128], eax
jmp 0x14009c750
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax + 0x10]
cmp rax, 1
jne 0x14009cdff
mov rdx, qword [r13 + 0x30]
mov byte [rbp + 0x22c], 1
lea rcx, [rbp + 0x130]
lea r9, [rbp + 0xd0]
mov r8, r13
call fcn.140123b80
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x220], rax
movups xmm0, xmmword [rbp + 0x138]
movaps xmmword [rbp + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x148]
movaps xmmword [rbp + 0x70], xmm0
movups xmm0, xmmword [rbp + 0x158]
movaps xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rbp + 0x168]
movaps xmmword [rbp + 0x90], xmm0
movups xmm0, xmmword [rbp + 0x178]
movaps xmmword [rbp + 0xa0], xmm0
movdqu xmm0, xmmword [rbp + 0x188]
movdqa xmmword [rbp + 0xb0], xmm0
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0xc0], rax
movzx ebx, byte [rbp + 0x1a0]
mov eax, dword [rbp + 0x1a1]
mov dword [rbp + 0x1b8], eax
mov eax, dword [rbp + 0x1a4]
mov dword [rbp + 0x1bb], eax
jmp 0x14009c1d4
mov qword [rbp + 0x210], rax
mov qword [rbp + 0x208], rdx
lea rax, [rsi + 0x50]
mov qword [rbp + 0x30], rax
mov rax, qword [rax]
test rax, rax
mov qword [rbp + 0x220], rsi
je 0x14009d7d7
mov rcx, qword [rbp + 0x220]
mov rcx, qword [rcx + 0x58]
call qword [rax + 0x18]
mov rax, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x220]
mov qword [rsi + 0x50], rax
mov rax, qword [rbp + 0x208]
mov qword [rsi + 0x58], rax
xor eax, eax
xchg byte [rsi + 0x60], al
movzx eax, byte [rsi + 0x80]
test al, al
je 0x14009d87c
mov al, 1
xchg byte [rsi + 0x48], al
test al, al
jne 0x14009ddc0
movzx eax, byte [rsi + 0x41]
mov byte [rsi + 0x41], 2
cmp al, 2
je 0x14009dd9b
lea rcx, [rsi + 0x10]
movzx edx, byte [rcx + 0x30]
mov byte [rbp + 0x160], dl
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movdqu xmm2, xmmword [rcx + 0x20]
movdqa xmmword [rbp + 0x150], xmm2
movdqa xmmword [rbp + 0x140], xmm1
movdqa xmmword [rbp + 0x130], xmm0
mov ecx, dword [rsi + 0x42]
mov dword [rbp + 0x162], ecx
movzx ecx, word [rsi + 0x46]
mov word [rbp + 0x166], cx
mov byte [rbp + 0x161], al
xor ecx, ecx
xchg byte [rsi + 0x48], cl
cmp al, 3
jne 0x14009dda2
mov rax, qword [rbp + 0x1b8]
mov qword [rbp + 0x220], rax
mov rax, qword [rbp + 0x200]
mov rsi, qword [rax]
test rsi, rsi
mov r13, qword [rbp + 0x120]
je 0x14009d913
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x14009d8d0
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 0x14009d8d0
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x14009d8f4
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 0x14009d8f4
call qword [rax + ioctlsocket]
mov rax, qword [rbp + 0x200]
mov rax, qword [rax]
lock dec qword [rax]
jne 0x14009d913
mov rax, qword [rbp + 0x200]
mov rcx, qword [rax]
call fcn.140069fe0
mov rax, qword [rbp + 0x220]
mov rcx, qword [rbp + 0x200]
mov qword [rcx], rax
mov ebx, dword [rbp + 0xa0]
mov eax, ebx
movdqa xmm0, xmmword [rbp + 0xd0]
movdqa xmm1, xmmword [rbp + 0xe0]
movdqa xmm2, xmmword [rbp + 0xf0]
movdqa xmm3, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x10], xmm3
movdqa xmmword [rbp], xmm2
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmmword [rbp - 0x20], xmm0
cmp ebx, 0x3b9aca00
mov r14d, dword [rbp + 0x110]
mov esi, dword [rbp + 0x114]
sete al
mov ecx, dword [rbp + 0x128]
or cl, al
mov rdi, qword [rbp + 0x1d0]
jne 0x14009d990
lea rcx, [rbp + 0x60]
call fcn.14006a0d0
cmp byte [rbp + 0x1dc], 0
jne 0x14009d9ac
mov rax, qword [0x14023c300]
shl rax, 1
test rax, rax
jne 0x14009db6c
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
cmp r14d, 0x3b9aca00
mov eax, r14d
mov r14, qword [rbp - 0x58]
jne 0x14009dab3
mov byte [rbp + 0x1a0], 2
cmp qword [r13 + 0x30], 0
je 0x14009d9f1
mov byte [r14 + 0x70], 3
add rsp, 0x2b8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov byte [rbp + 0x90], 4
mov qword [rbp + 0x60], 0
mov byte [rbp + 0x89], 2
movzx eax, byte [0x14023c308]
mov rcx, qword [0x14023c258]
test rcx, rcx
jne 0x14009da33
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
test rax, rax
je 0x14009dd61
mov rcx, rax
mov qword [0x14023c258], rax
mov r8d, 0x38
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x14009dd61
mov rdi, rax
mov rax, qword [rbp + 0x90]
mov qword [rdi + 0x30], rax
movdqu xmm0, xmmword [rbp + 0x60]
movdqu xmm1, xmmword [rbp + 0x70]
movdqu xmm2, xmmword [rbp + 0x80]
movdqu xmmword [rdi + 0x20], xmm2
movdqu xmmword [rdi + 0x10], xmm1
movdqu xmmword [rdi], xmm0
lea rdx, str.pool_is_disabledC:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.27_srccommonlazy.rs
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rdi
call fcn.14006ad30
mov qword [r14], rdi
mov byte [r14 + 0x70], 2
cmp byte [rbp + 0x1a0], 2
je 0x14009d9dd
lea rcx, [rbp + 0x130]
call fcn.140090db0
jmp 0x14009d9dd
movaps xmm0, xmmword [rbp - 0x20]
movaps xmm1, xmmword [rbp - 0x10]
movaps xmm2, xmmword [rbp]
movaps xmm3, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x90], xmm3
movaps xmmword [rbp + 0x80], xmm2
movaps xmmword [rbp + 0x70], xmm1
movaps xmmword [rbp + 0x60], xmm0
mov dword [rbp + 0xa0], eax
mov dword [rbp + 0xa4], esi
mov rdx, qword [r13 + 0x30]
lea rcx, [rbp + 0x130]
lea r9, [rbp + 0x60]
mov r8, r13
call fcn.140123b80
cmp byte [rbp + 0x1a0], 2
je 0x14009d9d1
mov rax, qword [rbp + 0x1a0]
mov qword [r14 + 0x70], rax
movups xmm0, xmmword [rbp + 0x190]
movups xmmword [r14 + 0x60], xmm0
movups xmm0, xmmword [rbp + 0x180]
movups xmmword [r14 + 0x50], xmm0
movups xmm0, xmmword [rbp + 0x170]
movups xmmword [r14 + 0x40], xmm0
movups xmm0, xmmword [rbp + 0x130]
movups xmm1, xmmword [rbp + 0x140]
movups xmm2, xmmword [rbp + 0x150]
movups xmm3, xmmword [rbp + 0x160]
movups xmmword [r14 + 0x30], xmm3
movups xmmword [r14 + 0x20], xmm2
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
jmp 0x14009d9dd
call fcn.14018d880
test al, al
jne 0x14009d9ac
mov byte [rdi + 0x18], 1
jmp 0x14009d9ac
mov rsi, qword [rbp + 0x1d0]
cmp qword [rsi + 0xa0], 0
mov rdi, qword [rbp - 0x30]
mov rbx, qword [rbp - 0x40]
jne 0x14009dbb6
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
call fcn.14018c700
mov r10, qword [rsi + 0x90]
mov rcx, qword [rsi + 0x98]
movups xmm0, xmmword [rbp + 0x130]
movdqu xmm1, xmmword [rbp + 0x140]
movdqu xmm2, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x50], xmm2
movdqa xmmword [rbp + 0x40], xmm1
movaps xmmword [rbp + 0x30], xmm0
and rbx, rcx
movdqu xmm0, xmmword [r10 + rbx]
pmovmskb edx, xmm0
test edx, edx
jne 0x14009dc0a
mov r8d, reloc.WS2_32.dll_recv
add rbx, r8
and rbx, rcx
movdqu xmm0, xmmword [r10 + rbx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x14009dbf2
tzcnt edx, edx
add rdx, rbx
and rdx, rcx
movzx r8d, byte [r10 + rdx]
test r8b, r8b
js 0x14009dc30
movdqa xmm0, xmmword [r10]
pmovmskb eax, xmm0
tzcnt edx, eax
movzx r8d, byte [r10 + rdx]
lea rax, [rdx - 0x10]
and rax, rcx
mov rcx, qword [rbp - 0x48]
mov byte [r10 + rdx], cl
mov byte [rax + r10 + 0x10], cl
neg rdx
lea rax, [rdx + rdx*4]
shl rax, 4
lea rbx, [r10 + rax]
and r8b, 1
movzx ecx, r8b
sub qword [rsi + 0xa0], rcx
movdqa xmm0, xmmword [rbp + 0x30]
movdqa xmm1, xmmword [rbp + 0x40]
movdqa xmm2, xmmword [rbp + 0x50]
movdqu xmmword [r10 + rax - 0x30], xmm2
movdqu xmmword [r10 + rax - 0x40], xmm1
movdqu xmmword [r10 + rax - 0x50], xmm0
mov qword [r10 + rax - 0x20], 8
pxor xmm0, xmm0
movdqu xmmword [r10 + rax - 0x18], xmm0
mov qword [r10 + rax - 8], 0
inc qword [rsi + 0xa8]
jmp 0x14009d626
lea rcx, str.internal_error:_entered_unreachable_code_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadmod.rs
lea r8, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.11_srcuri_scheme.rs
mov edx, 0x28
call fcn.140186b70
jmp 0x14009de05
lea rcx, str.internal_error:_entered_unreachable_code_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadmod.rs
lea r8, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.11_srcuri_scheme.rs
mov edx, 0x28
call fcn.140186b70
jmp 0x14009de05
lea rcx, str.internal_error:_entered_unreachable_code_rustc_79e9716c980570bfd1f666e3b16ac583f0168962library_std_src_threadmod.rs
lea r8, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhttp_0.2.11_srcuri_scheme.rs
mov edx, 0x28
call fcn.140186b70
jmp 0x14009de05
mov ecx, 8
mov edx, 0x38
call fcn.140186620
jmp 0x14009de05
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x130], rax
mov eax, dword [rbp + 0x1dc]
mov byte [rbp + 0x138], al
lea rax, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.27_srcclientpool.rs
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.140172360
lea r8, [rbp + 0x130]
mov edx, 0x2b
call fcn.140186ec0
jmp 0x14009de05
mov ecx, 8
mov edx, 0x38
call fcn.140186620
jmp 0x14009de05
mov ecx, 8
mov edx, 0x88
call fcn.140186620
jmp 0x14009de05
mov ecx, 8
mov edx, 0x38
call fcn.140186620
jmp 0x14009de05
ud2
xor eax, eax
xchg byte [rsi + 0x48], al
jmp 0x14009ddc0
cmp al, 1
ja 0x14009ddc0
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
lea rcx, [rbp + 0x130]
call fcn.14006a0d0
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 0
lea rcx, str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
lea r8, str.C:UsersFokus.cargo_registry_srcindex.crates.io_6f17d22bba15001fhyper_0.14.27_srcclientpool.rs
mov edx, 0x39
call fcn.140186b70
jmp 0x14009de05
mov byte [rbp + 0x22f], 1
mov byte [rbp + 0x22e], 1
mov ecx, 8
mov edx, 0x20
call fcn.140186620
ud2