Function at 0x1400c1840
Capabilities:
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x3d8
mov r12, r8
mov r13, rdx
mov r14, rcx
lea r15, [rdx + 0x38]
mov rbp, qword [rdx + 0x38]
mov qword [rdx + 0x38], 0
test rbp, rbp
je 0x1400c18a7
mov qword [rsp + 0x2a8], rbp
mov al, byte [rbp + 0x80]
test al, al
jne 0x1400c18dc
mov rax, qword [r12]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
call qword [rax]
mov rbx, rax
mov rsi, rdx
mov al, 1
xchg byte [rbp + 0x60], al
test al, al
je 0x1400c18b1
mov rcx, rbx
call qword [rsi + 0x18]
jmp 0x1400c18dc
mov esi, 3
jmp 0x1400c1c4d
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x1400c18c1
mov rcx, qword [rbp + 0x50]
call qword [rax + 0x18]
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x58], rsi
xor eax, eax
xchg byte [rbp + 0x60], al
mov al, byte [rbp + 0x80]
test al, al
je 0x1400c1d58
mov al, 1
xchg byte [rbp + 0x48], al
test al, al
je 0x1400c1902
movdqa xmm1, xmmword [0x1402208c0]
pshufd xmm2, xmm1, 0x4e
movq rax, xmm2
cmp rax, 3
jne 0x1400c195e
jmp 0x1400c1bcc
movdqu xmm0, xmmword [rbp + 0x10]
movdqu xmm2, xmmword [rbp + 0x20]
movups xmm3, xmmword [rbp + 0x30]
movdqa xmm1, xmmword [0x1402208c0]
movdqu xmmword [rbp + 0x20], xmm1
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm3
pshufd xmm3, xmm2, 0x4e
movq rax, xmm3
cmp rax, 2
jne 0x1400c1b8f
xor eax, eax
xchg byte [rbp + 0x48], al
pshufd xmm2, xmm1, 0x4e
movq rax, xmm2
cmp rax, 3
je 0x1400c1bcc
cmp rax, 2
mov qword [rsp + 0x2e8], r12
jne 0x1400c1a57
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rbp, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov eax, dword [rsp + 0x260]
mov dword [rbp + 0x12], eax
movzx eax, word [rsp + 0x264]
mov word [rbp + 0x16], ax
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, shutdown
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47d7
mov rsi, rax
mov eax, dword [0x14025143a]
mov dword [rsi + 0x10], eax
movdqu xmm0, xmmword [0x14025142a]
movdqu xmmword [rsi], xmm0
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rbx, rax
mov qword [rax], rsi
movdqa xmm0, xmmword [0x140220c00]
movdqu xmmword [rax + 8], xmm0
mov rsi, qword [rbp]
test rsi, rsi
je 0x1400c1d47
mov rdi, qword [rbp + 8]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400c1d47
cmp qword [rdi + 0x10], 0x11
jae 0x1400c1d34
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
jmp 0x1400c1d42
movdqu xmmword [rsp + 0x370], xmm0
movdqu xmmword [rsp + 0x380], xmm1
movdqa xmm0, xmmword [rsp + 0x2c0]
movdqu xmmword [rsp + 0x390], xmm0
mov rcx, qword [rsp + 0x2d0]
mov qword [rsp + 0x3a0], rcx
mov rcx, qword [rsp + 0x390]
mov rcx, qword [rcx + 0x10]
cmp rax, 1
jne 0x1400c1c52
cmp rcx, 3
je 0x1400c1c5c
mov r8, r13
lea rdx, [r13 + 0x30]
mov rax, qword [rsp + 0x3a0]
mov qword [rsp + 0x290], rax
movups xmm0, xmmword [rsp + 0x370]
movdqu xmm1, xmmword [rsp + 0x380]
movdqu xmm2, xmmword [rsp + 0x390]
movdqa xmmword [rsp + 0x280], xmm2
movdqa xmmword [rsp + 0x270], xmm1
movaps xmmword [rsp + 0x260], xmm0
lea rcx, [rsp + 0x180]
lea r9, [rsp + 0x260]
call fcn.1400c48c0
mov rbp, qword [rsp + 0x180]
movups xmm0, xmmword [rsp + 0x188]
movaps xmmword [rsp + 0x350], xmm0
mov rsi, qword [rsp + 0x198]
movups xmm0, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x60], xmm0
movups xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rsp + 0x1c0]
movaps xmmword [rsp + 0x80], xmm0
movups xmm0, xmmword [rsp + 0x1d0]
movaps xmmword [rsp + 0x90], xmm0
movdqu xmm0, xmmword [rsp + 0x1e0]
movdqa xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0xb0], rax
xor r12d, r12d
jmp 0x1400c1dae
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x2d0], rax
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x2c0], xmm1
xor eax, eax
xchg byte [rbp + 0x48], al
movdqa xmm1, xmm2
pshufd xmm2, xmm1, 0x4e
movq rax, xmm2
cmp rax, 3
jne 0x1400c195e
mov rsi, qword [rsp + 0x2a8]
mov rbx, qword [r15]
test rbx, rbx
je 0x1400c1c45
mov dil, 1
mov al, 1
xchg byte [rbx + 0x80], al
mov al, 1
xchg byte [rbx + 0x60], al
test al, al
jne 0x1400c1c0d
mov rcx, qword [rbx + 0x50]
mov rax, qword [rbx + 0x58]
mov qword [rbx + 0x58], 0
xor edx, edx
xchg byte [rbx + 0x60], dl
test rax, rax
je 0x1400c1c0d
call qword [rax + 0x18]
xchg byte [rbx + 0x78], dil
test dil, dil
jne 0x1400c1c33
mov rcx, qword [rbx + 0x68]
mov rax, qword [rbx + 0x70]
mov qword [rbx + 0x70], 0
xor edx, edx
xchg byte [rbx + 0x78], dl
test rax, rax
je 0x1400c1c33
call qword [rax + ioctlsocket]
mov rax, qword [r15]
lock sub qword [rax], 1
jne 0x1400c1c45
mov rcx, r15
call fcn.140087d60
mov qword [r15], rsi
mov esi, 4
jmp 0x1400c1eb5
cmp rcx, 1
je 0x1400c1aab
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rbp, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov eax, dword [rsp + 0x260]
mov dword [rbp + 0x12], eax
movzx eax, word [rsp + 0x264]
mov word [rbp + 0x16], ax
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, shutdown
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47d7
mov rsi, rax
mov eax, dword [0x14025143a]
mov dword [rsi + 0x10], eax
movdqu xmm0, xmmword [0x14025142a]
movdqu xmmword [rsi], xmm0
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rbx, rax
mov qword [rax], rsi
movdqa xmm0, xmmword [0x140220c00]
movdqu xmmword [rax + 8], xmm0
mov rsi, qword [rbp]
test rsi, rsi
je 0x1400c1d8c
mov rdi, qword [rbp + 8]
mov rcx, rsi
call qword [rdi]
cmp qword [rdi + 8], 0
je 0x1400c1d8c
cmp qword [rdi + 0x10], 0x11
jae 0x1400c1d79
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
jmp 0x1400c1d87
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
call fcn.14021dfcd
mov qword [rbp], rbx
lea rax, [0x140266518]
mov qword [rbp + 8], rax
jmp 0x1400c1da8
movdqa xmm1, xmmword [0x140220bf0]
pshufd xmm2, xmm1, 0x4e
movq rax, xmm2
cmp rax, 3
jne 0x1400c195e
jmp 0x1400c1bcc
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
call fcn.14021dfcd
mov qword [rbp], rbx
lea rax, [0x140266518]
mov qword [rbp + 8], rax
lea rcx, [rsp + 0x370]
call fcn.1400834d0
mov r12d, 1
mov rdi, qword [rsp + 0x2a8]
mov bl, 1
mov al, 1
xchg byte [rdi + 0x80], al
mov al, 1
xchg byte [rdi + 0x60], al
test al, al
jne 0x1400c1de6
mov rcx, qword [rdi + 0x50]
mov rax, qword [rdi + 0x58]
mov qword [rdi + 0x58], 0
xor edx, edx
xchg byte [rdi + 0x60], dl
test rax, rax
je 0x1400c1de6
call qword [rax + 0x18]
xchg byte [rdi + 0x78], bl
test bl, bl
jne 0x1400c1e0a
mov rcx, qword [rdi + 0x68]
mov rax, qword [rdi + 0x70]
mov qword [rdi + 0x70], 0
xor edx, edx
xchg byte [rdi + 0x78], dl
test rax, rax
je 0x1400c1e0a
call qword [rax + ioctlsocket]
mov rax, qword [rsp + 0x2a8]
lock sub qword [rax], 1
jne 0x1400c1e26
lea rcx, [rsp + 0x2a8]
call fcn.140087d60
test r12, r12
je 0x1400c1e3b
mov qword [r14], 1
mov qword [r14 + 8], rbp
jmp 0x1400c404c
movaps xmm0, xmmword [rsp + 0x350]
movaps xmmword [rsp + 0x3b0], xmm0
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
movdqa xmm2, xmmword [rsp + 0x80]
movdqa xmm3, xmmword [rsp + 0x90]
movaps xmmword [rsp + 0x110], xmm0
movdqa xmmword [rsp + 0x120], xmm1
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x140], xmm3
movdqa xmm0, xmmword [rsp + 0xa0]
movdqa xmmword [rsp + 0x150], xmm0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x160], rax
mov r12, qword [rsp + 0x2e8]
movaps xmm0, xmmword [rsp + 0x3b0]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movdqa xmm1, xmmword [rsp + 0x120]
movdqa xmm2, xmmword [rsp + 0x130]
movdqa xmm3, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x200], xmm0
movdqa xmmword [rsp + 0x210], xmm1
movdqa xmmword [rsp + 0x220], xmm2
movdqa xmmword [rsp + 0x230], xmm3
movdqa xmm0, xmmword [rsp + 0x150]
movdqa xmmword [rsp + 0x240], xmm0
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x250], rax
cmp rsi, 4
jne 0x1400c1f3f
mov qword [r14], 2
jmp 0x1400c404c
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmm0, xmmword [rsp + 0x200]
movdqa xmm1, xmmword [rsp + 0x210]
movdqa xmm2, xmmword [rsp + 0x220]
movdqa xmm3, xmmword [rsp + 0x230]
movaps xmmword [rsp + 0x2f0], xmm0
movdqa xmmword [rsp + 0x300], xmm1
movdqa xmmword [rsp + 0x310], xmm2
movdqa xmmword [rsp + 0x320], xmm3
movdqa xmm0, xmmword [rsp + 0x240]
movdqa xmmword [rsp + 0x330], xmm0
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x340], rax
cmp rsi, 3
jne 0x1400c2264
mov rdi, qword [r13 + 0x30]
test rdi, rdi
je 0x1400c247c
lea rcx, [rdi + 0x10]
mov qword [rsp + 0x2e0], rcx
call fcn.140142200
mov rax, qword [0x1402cede8]
test rax, rax
jne 0x1400c343b
mov dword [rsp + 0x17c], 0
mov al, byte [rdi + 0x18]
test al, al
jne 0x1400c3454
mov rax, qword [rdi + 0xe0]
mov qword [rsp + 0x360], rax
movups xmm0, xmmword [rdi + 0xd0]
movaps xmmword [rsp + 0x350], xmm0
mov rax, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x58]
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
pxor xmm1, xmmword [0x1402209e0]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], 0
movdqu xmmword [rsp + 0x198], xmm0
movdqu xmmword [rsp + 0x1a8], xmm1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x1b8], xmm0
lea rdx, [rsp + 0x180]
mov rcx, r13
call fcn.140117820
mov rbx, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x1a8]
shl rbx, 0x38
or rbx, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1b0]
mov rcx, qword [rsp + 0x198]
add rcx, rdx
rol rdx, 0xd
xor rax, rbx
xor rdx, rcx
rol rcx, 0x20
mov rbp, qword [rsp + 0x1a0]
add rbp, rax
rol rax, 0x10
xor rax, rbp
add rcx, rax
rol rax, 0x15
add rbp, rdx
rol rdx, 0x11
xor rax, rcx
xor rdx, rbp
rol rbp, 0x20
xor rcx, rbx
add rcx, rdx
rol rdx, 0xd
xor rdx, rcx
rol rcx, 0x20
xor rbp, 0xff
add rbp, rax
rol rax, 0x10
xor rax, rbp
add rcx, rax
rol rax, 0x15
add rbp, rdx
rol rdx, 0x11
xor rdx, rbp
rol rbp, 0x20
xor rax, rcx
add rcx, rdx
rol rdx, 0xd
xor rdx, rcx
rol rcx, 0x20
add rbp, rax
rol rax, 0x10
xor rax, rbp
add rcx, rax
rol rax, 0x15
add rbp, rdx
rol rdx, 0x11
xor rdx, rbp
rol rbp, 0x20
xor rax, rcx
add rcx, rdx
rol rdx, 0xd
add rbp, rax
rol rax, 0x10
xor rax, rbp
rol rax, 0x15
xor rdx, rcx
add rbp, rdx
rol rdx, 0x11
xor rdx, rbp
rol rbp, 0x20
xor rdx, rbp
xor rdx, rax
mov rax, qword [rdi + 0x60]
mov rbp, qword [rdi + 0x68]
mov r11, rax
and r11, rdx
shr rdx, 0x39
lea rcx, [r11 + 0x10]
mov qword [rsp + 0x58], rax
and rcx, rax
movdqu xmm1, xmmword [rbp + r11]
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xe0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb edx, xmm2
test dx, dx
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0x2a0], r13
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x348], r15
mov qword [rsp + 0x2e8], r12
mov eax, reloc.WS2_32.dll_recv
je 0x1400c248d
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rcx
bsf bx, dx
movzx esi, bx
add rsi, r11
lea r10d, [rdx - 1]
and r10d, edx
movzx r14d, byte [r13]
mov rax, qword [r13 + 8]
mov qword [rsp + 0x50], rax
mov al, byte [r13 + 1]
mov byte [rsp + 0xc8], al
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x28], rax
mov rax, qword [r13 + 0x18]
mov qword [rsp + 0xe0], rax
pcmpeqd xmm2, xmm2
mov rcx, qword [rsp + 0x58]
jmp 0x1400c22ef
mov qword [r14], 0
mov qword [r14 + 8], rbp
movaps xmm0, xmmword [rsp + 0x2b0]
movups xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x20], rsi
movaps xmm0, xmmword [rsp + 0x2f0]
movdqa xmm1, xmmword [rsp + 0x300]
movdqa xmm2, xmmword [rsp + 0x310]
movdqa xmm3, xmmword [rsp + 0x320]
movups xmmword [r14 + 0x28], xmm0
movdqu xmmword [r14 + 0x38], xmm1
movdqu xmmword [r14 + 0x48], xmm2
movdqu xmmword [r14 + 0x58], xmm3
movdqa xmm0, xmmword [rsp + 0x330]
movdqu xmmword [r14 + 0x68], xmm0
mov rax, qword [rsp + 0x340]
mov qword [r14 + 0x78], rax
jmp 0x1400c404c
lea eax, [r10 - 1]
and eax, r10d
bsf dx, r10w
movzx esi, dx
add rsi, r11
mov r10d, eax
and rsi, rcx
neg rsi
lea r12, [rsi + rsi*8]
lea rdi, [r12*8 - 0x48]
add rdi, rbp
cmp r14d, 1
je 0x1400c2395
cmp r14d, 2
je 0x1400c2324
test r14, r14
je 0x1400c47bd
mov bl, byte [rdi]
jmp 0x1400c23af
mov bl, byte [rdi]
cmp bl, 2
jne 0x1400c23af
mov rax, qword [rsp + 0x50]
mov rsi, qword [rax + 8]
mov rbx, qword [rbp + r12*8 - 0x40]
cmp rsi, qword [rbx + 8]
jne 0x1400c23b7
mov rax, qword [rsp + 0x50]
mov r9, qword [rax]
mov r8, qword [rbx]
xor edi, edi
cmp rsi, rdi
je 0x1400c241b
movzx ebx, byte [r9 + rdi]
movzx r15d, byte [r8 + rdi]
add rdi, 1
lea r13d, [rbx - 0x41]
cmp r13b, 0x1a
mov r13, qword [rsp + 0x2a0]
setb al
shl al, 5
or al, bl
lea ebx, [r15 - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or bl, r15b
cmp al, bl
je 0x1400c2350
jmp 0x1400c23b7
mov bl, byte [rdi]
cmp bl, 1
jne 0x1400c23af
mov bl, byte [rdi + 1]
cmp byte [rsp + 0xc8], 1
jne 0x1400c2417
test bl, bl
jne 0x1400c241b
jmp 0x1400c23b7
test bl, bl
je 0x1400c47bd
test r10w, r10w
jne 0x1400c22da
mov r11, qword [rsp + 0x40]
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test ax, ax
mov rdi, qword [rsp + 0x48]
jne 0x1400c24e4
mov rax, qword [rsp + 0x30]
lea rcx, [r11 + rax]
add rcx, 0x10
add rax, 0x10
mov qword [rsp + 0x30], rax
and rcx, qword [rsp + 0x58]
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x58]
movdqu xmm1, xmmword [rbp + r11]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb r10d, xmm3
jmp 0x1400c23b7
test bl, bl
jne 0x1400c23b7
mov rax, qword [rsp + 0xe0]
cmp rax, qword [rbp + r12*8 - 0x30]
jne 0x1400c23b7
mov rsi, qword [rbp + r12*8 - 0x38]
xor ebx, ebx
cmp qword [rsp + 0xe0], rbx
je 0x1400c34a0
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax + rbx]
movzx edi, byte [rsi + rbx]
add rbx, 1
mov rdx, rbp
lea ebp, [rax - 0x41]
cmp bpl, 0x1a
mov rbp, rdx
setb dl
shl dl, 5
or dl, al
lea eax, [rdi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, dil
cmp dl, al
je 0x1400c2431
jmp 0x1400c23b7
mov qword [rsp + 0x198], 3
jmp 0x1400c3e2a
mov qword [rsp + 0x30], rax
pcmpeqd xmm2, xmm2
mov r11, rcx
pcmpeqb xmm1, xmm2
pmovmskb edx, xmm1
test dx, dx
mov rcx, qword [rsp + 0x58]
jne 0x1400c24e4
mov rax, qword [rsp + 0x30]
mov rdx, rcx
lea rcx, [r11 + rax]
add rcx, 0x10
add rax, 0x10
mov qword [rsp + 0x30], rax
and rcx, rdx
movdqu xmm1, xmmword [rbp + r11]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb edx, xmm3
test dx, dx
je 0x1400c2496
jmp 0x1400c2212
mov qword [rsp + 0x1a8], 2
lea rcx, [rsp + 0x60]
lea rax, [rsp + 0x110]
mov edx, 2
mov qword [rsp + 0x58], rdx
mov r14b, 1
mov dword [rsp + 0xe0], 0
mov dl, 1
mov r15, qword [rsp + 0xe8]
movups xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rcx + 0x10]
movaps xmmword [rsp + 0x260], xmm0
movdqa xmmword [rsp + 0x270], xmm1
mov rcx, qword [rcx + 0x20]
mov qword [rsp + 0x280], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x2c0], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x2d0], rax
test dl, dl
je 0x1400c299d
mov dword [rsp + 0x40], r14d
mov rax, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x58]
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
pxor xmm1, xmmword [0x1402209e0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
movdqu xmmword [rsp + 0x78], xmm0
movdqu xmmword [rsp + 0x88], xmm1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.140117820
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
shl rbx, 0x38
or rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x78]
add rcx, rbp
rol rbp, 0xd
xor rax, rbx
xor rbp, rcx
rol rcx, 0x20
mov rdx, qword [rsp + 0x80]
add rdx, rax
rol rax, 0x10
xor rax, rdx
add rcx, rax
rol rax, 0x15
add rdx, rbp
rol rbp, 0x11
xor rax, rcx
xor rbp, rdx
rol rdx, 0x20
xor rcx, rbx
add rcx, rbp
rol rbp, 0xd
xor rbp, rcx
rol rcx, 0x20
xor rdx, 0xff
add rdx, rax
rol rax, 0x10
xor rax, rdx
add rcx, rax
rol rax, 0x15
add rdx, rbp
rol rbp, 0x11
xor rbp, rdx
rol rdx, 0x20
xor rax, rcx
add rcx, rbp
rol rbp, 0xd
xor rbp, rcx
rol rcx, 0x20
add rdx, rax
rol rax, 0x10
xor rax, rdx
add rcx, rax
rol rax, 0x15
add rdx, rbp
rol rbp, 0x11
xor rbp, rdx
rol rdx, 0x20
xor rax, rcx
add rcx, rbp
rol rbp, 0xd
add rdx, rax
rol rax, 0x10
xor rax, rdx
rol rax, 0x15
xor rbp, rcx
add rdx, rbp
rol rbp, 0x11
xor rbp, rdx
rol rdx, 0x20
xor rbp, rdx
xor rbp, rax
mov r15, qword [rdi + 0x60]
mov rax, qword [rdi + 0x68]
mov r14, r15
and r14, rbp
shr rbp, 0x39
lea rcx, [r14 + 0x10]
and rcx, r15
mov qword [rsp + 0x28], rax
movdqu xmm1, xmmword [rax + r14]
movd xmm0, ebp
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xe0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb ebp, xmm2
mov eax, reloc.WS2_32.dll_recv
test bp, bp
je 0x1400c2936
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xc8], rcx
bsf ax, bp
movzx eax, ax
add rax, r14
mov rcx, r13
lea r13d, [rbp - 1]
and r13d, ebp
movzx ebp, byte [rcx]
mov rdx, qword [rcx + 8]
mov qword [rsp + 0x170], rdx
mov dl, byte [rcx + 1]
mov byte [rsp + 0xc0], dl
mov rdx, qword [rcx + 0x10]
mov qword [rsp + 0x30], rdx
mov rcx, qword [rcx + 0x18]
mov qword [rsp + 0x50], rcx
pcmpeqd xmm2, xmm2
and rax, r15
neg rax
lea r9, [rax + rax*8]
mov rax, qword [rsp + 0x28]
lea r10, [rax + r9*8]
add r10, 0xffffffffffffffb8
cmp ebp, 1
je 0x1400c2813
cmp ebp, 2
je 0x1400c279f
test rbp, rbp
je 0x1400c47bd
mov al, byte [r10]
jmp 0x1400c2836
mov al, byte [r10]
cmp al, 2
jne 0x1400c2836
mov rax, qword [rsp + 0x170]
mov rax, qword [rax + 8]
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rcx + r9*8 - 0x40]
cmp rax, qword [rdi + 8]
jne 0x1400c283e
mov rcx, qword [rsp + 0x170]
mov r8, qword [rcx]
mov r11, qword [rdi]
xor edi, edi
cmp rax, rdi
je 0x1400c28d0
movzx esi, byte [r8 + rdi]
movzx ecx, byte [r11 + rdi]
add rdi, 1
lea r12d, [rsi - 0x41]
cmp r12b, 0x1a
setb dl
shl dl, 5
or dl, sil
lea esi, [rcx - 0x41]
cmp sil, 0x1a
setb bl
shl bl, 5
or bl, cl
cmp dl, bl
je 0x1400c27d6
jmp 0x1400c283e
mov al, byte [r10]
cmp al, 1
jne 0x1400c2836
mov al, byte [r10 + 1]
cmp byte [rsp + 0xc0], 1
jne 0x1400c28c8
test al, al
jne 0x1400c28d0
jmp 0x1400c283e
test al, al
je 0x1400c47bd
test r13w, r13w
je 0x1400c285e
lea ecx, [r13 - 1]
and ecx, r13d
bsf ax, r13w
movzx eax, ax
add rax, r14
mov r13d, ecx
jmp 0x1400c2769
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0xc8]
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test ax, ax
mov r13, qword [rsp + 0x2a0]
jne 0x1400c2988
mov rax, qword [rsp + 0x38]
lea rcx, [r14 + rax]
add rcx, 0x10
add rax, 0x10
mov qword [rsp + 0x38], rax
and rcx, r15
mov qword [rsp + 0xc8], rcx
mov rax, qword [rsp + 0x28]
movdqu xmm1, xmmword [rax + r14]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb r13d, xmm3
test r13w, r13w
je 0x1400c2863
jmp 0x1400c2844
test al, al
jne 0x1400c283e
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
cmp rcx, qword [rax + r9*8 - 0x30]
jne 0x1400c283e
mov rax, qword [rsp + 0x28]
lea r8, [rax + r9*8]
mov rax, qword [rax + r9*8 - 0x38]
xor edi, edi
cmp qword [rsp + 0x50], rdi
je 0x1400c408e
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + rdi]
movzx edx, byte [rax + rdi]
add rdi, 1
lea ebx, [rcx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or bl, cl
lea ecx, [rdx - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, dl
cmp bl, cl
je 0x1400c28f5
jmp 0x1400c283e
mov qword [rsp + 0x38], rax
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test ax, ax
jne 0x1400c2988
mov r14, rcx
mov rax, qword [rsp + 0x38]
add rcx, rax
add rcx, 0x10
add rax, 0x10
mov qword [rsp + 0x38], rax
and rcx, r15
mov rax, qword [rsp + 0x28]
movdqu xmm1, xmmword [rax + r14]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb ebp, xmm3
test bp, bp
je 0x1400c293f
jmp 0x1400c271e
mov byte [rsp + 0x110], 3
mov r15, qword [rsp + 0xe8]
mov r14d, dword [rsp + 0x40]
test r14b, r14b
mov rsi, qword [rsp + 0x348]
je 0x1400c3c3e
cmp qword [rsi], 0
jne 0x1400c3c3e
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x88
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c480d
mov rbp, rax
movaps xmm0, xmmword [0x1402207f0]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rax + 0x10], xmm0
mov rax, qword [rsp + 0x70]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], 2
movdqu xmm0, xmmword [rsp + 0x110]
movdqu xmmword [rbp + 0x30], xmm0
mov rax, qword [rsp + 0x120]
mov qword [rbp + 0x40], rax
mov byte [rbp + 0x48], 0
mov eax, dword [rsp + 0x200]
mov ecx, dword [rsp + 0x203]
mov dword [rbp + 0x49], eax
mov dword [rbp + 0x4c], ecx
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x60], 0
mov eax, dword [rsp + 0x2f0]
mov ecx, dword [rsp + 0x2f3]
mov dword [rbp + 0x61], eax
mov dword [rbp + 0x64], ecx
movdqu xmmword [rbp + 0x68], xmm0
mov byte [rbp + 0x78], 0
mov eax, dword [rsp + 0xf0]
mov ecx, dword [rsp + 0xf3]
mov dword [rbp + 0x7c], ecx
mov dword [rbp + 0x79], eax
mov byte [rbp + 0x80], 0
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0xd3]
mov dword [rbp + 0x84], ecx
mov dword [rbp + 0x81], eax
lock add qword [rbp], 1
jle 0x1400c47ef
mov rax, qword [reloc.WS2_32.dll_getpeername]
add rax, 0xffffffffffffffff
cmp rax, 5
jb 0x1400c2c12
mov rax, qword [0x1402cc250]
test rax, rax
je 0x1400c2c12
mov dl, 1
cmp rax, 1
je 0x1400c2ad3
cmp rax, 2
jne 0x1400c438c
mov dl, 2
lea rcx, [0x1402cc250]
call fcn.140168b50
test al, al
je 0x1400c2c12
mov rcx, qword [0x1402cc258]
mov rax, qword [rcx + 0x48]
movdqu xmm0, xmmword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
movq rbx, xmm0
mov qword [rsp + 0x200], rax
movdqu xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], rdx
pxor xmm0, xmm0
test rbx, rbx
je 0x1400c2b2b
movdqa xmm0, xmmword [rsp + 0x200]
movq rax, xmm0
test rax, rax
je 0x1400c4875
movdqa xmm1, xmmword [rsp + 0x210]
lea rax, [rcx + 0x48]
mov qword [rsp + 0x110], 0
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm1
mov qword [rsp + 0xd0], r13
lea rdx, [0x140117ec0]
mov qword [rsp + 0xd8], rdx
lea rdx, [0x140267450]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], 0
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], 1
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x2f0], rdx
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x2f8], rdx
lea rdx, [0x140264768]
mov qword [rsp + 0x300], rdx
lea rdx, [rsp + 0x2f0]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x100], rax
lea rdx, [rsp + 0xf0]
call fcn.140169570
movzx eax, byte [r13]
test rax, rax
mov dword [rsp + 0x40], r14d
je 0x1400c2c83
cmp eax, 1
je 0x1400c2c77
mov rax, qword [r13 + 8]
mov rbx, qword [rax + 0x18]
lea rdx, [rax + 0x10]
mov r8, qword [rax]
mov r9, qword [rax + 8]
lea rcx, [rsp + 0x60]
call qword [rbx]
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x20
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c484e
movdqu xmm0, xmmword [rsp + 0x60]
movdqu xmm1, xmmword [rsp + 0x70]
movdqu xmmword [rax + 0x10], xmm1
movdqu xmmword [rax], xmm0
mov cl, 2
jmp 0x1400c2c85
cmp byte [r13 + 1], 0
setne dl
mov cl, 1
jmp 0x1400c2c85
xor ecx, ecx
movzx edx, dl
shl rdx, 8
movzx ecx, cl
or rcx, rdx
mov qword [rsp + 0x208], rax
mov qword [rsp + 0x200], rcx
lea rcx, [rsp + 0x210]
mov rax, qword [r13 + 0x28]
lea rdx, [r13 + 0x20]
mov r8, qword [r13 + 0x10]
mov r9, qword [r13 + 0x18]
call qword [rax]
movups xmm0, xmmword [rsp + 0x200]
movups xmm1, xmmword [rsp + 0x210]
movups xmm2, xmmword [rsp + 0x220]
movaps xmmword [rsp + 0x130], xmm2
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
mov rax, qword [rdi + 0x88]
mov rcx, qword [rdi + 0x90]
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movq xmm1, rcx
pshufd xmm1, xmm1, 0x44
pxor xmm1, xmmword [0x1402209e0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x70], 0
movdqu xmmword [rsp + 0x78], xmm0
movdqu xmmword [rsp + 0x88], xmm1
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x98], xmm0
lea rcx, [rsp + 0x110]
lea rdx, [rsp + 0x60]
call fcn.140117820
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x88]
shl rbx, 0x38
or rbx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x78]
add rdx, r13
rol r13, 0xd
xor rax, rbx
xor r13, rdx
rol rdx, 0x20
mov rcx, qword [rsp + 0x80]
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r13
rol r13, 0x11
xor rax, rdx
xor r13, rcx
rol rcx, 0x20
xor rdx, rbx
add rdx, r13
rol r13, 0xd
xor r13, rdx
rol rdx, 0x20
xor rcx, 0xff
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r13
rol r13, 0x11
xor r13, rcx
rol rcx, 0x20
xor rax, rdx
add rdx, r13
rol r13, 0xd
xor r13, rdx
rol rdx, 0x20
add rcx, rax
rol rax, 0x10
xor rax, rcx
add rdx, rax
rol rax, 0x15
add rcx, r13
rol r13, 0x11
xor r13, rcx
rol rcx, 0x20
xor rax, rdx
add rdx, r13
rol r13, 0xd
add rcx, rax
rol rax, 0x10
xor r13, rdx
xor rax, rcx
rol rax, 0x15
add rcx, r13
rol r13, 0x11
xor r13, rcx
rol rcx, 0x20
xor r13, rcx
xor r13, rax
lea rax, [rdi + 0x98]
mov qword [rsp + 0x170], rax
mov rax, r13
shr rax, 0x39
mov r8, qword [rdi + 0x98]
mov r11, qword [rdi + 0xa0]
mov r14, r8
and r14, r13
lea r9, [r14 + 0x10]
and r9, r8
movdqu xmm1, xmmword [r11 + r14]
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0xe0
pshufd xmm0, xmm0, 0
movdqa xmm2, xmm0
pcmpeqb xmm2, xmm1
pmovmskb eax, xmm2
test ax, ax
mov qword [rsp + 0xc8], rbp
je 0x1400c30be
mov ecx, reloc.WS2_32.dll_recv
mov qword [rsp + 0xc0], rcx
bsf cx, ax
movzx ecx, cx
add rcx, r14
lea r15d, [rax - 1]
and r15d, eax
mov dl, byte [rsp + 0x110]
mov al, byte [rsp + 0x111]
mov byte [rsp + 0x298], al
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x28], rax
pcmpeqd xmm2, xmm2
mov byte [rsp + 0x30], dl
and rcx, r8
neg rcx
lea r10, [rcx + rcx*4]
shl r10, 4
movzx eax, byte [r11 + r10 - 0x50]
cmp rax, 1
je 0x1400c2fb2
cmp eax, 2
je 0x1400c2f52
test rax, rax
je 0x1400c47bd
cmp byte [rsp + 0x30], 0
jne 0x1400c2fbf
jmp 0x1400c47bd
cmp dl, 2
jne 0x1400c2fb7
mov rax, qword [r11 + r10 - 0x48]
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x38]
cmp rcx, qword [rdx + 8]
jne 0x1400c2fbf
mov r12, qword [rax]
mov rax, qword [rsp + 0x38]
mov rdi, qword [rax]
xor esi, esi
cmp rcx, rsi
je 0x1400c3060
movzx ebp, byte [r12 + rsi]
movzx edx, byte [rdi + rsi]
add rsi, 1
lea ebx, [rbp - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or bl, bpl
lea ebp, [rdx - 0x41]
cmp bpl, 0x1a
setb al
shl al, 5
or al, dl
cmp bl, al
je 0x1400c2f78
jmp 0x1400c2fbf
cmp dl, 1
je 0x1400c3035
test dl, dl
je 0x1400c47bd
test r15w, r15w
je 0x1400c2fe3
lea eax, [r15 - 1]
and eax, r15d
bsf cx, r15w
movzx ecx, cx
add rcx, r14
mov r15d, eax
mov dl, byte [rsp + 0x30]
jmp 0x1400c2f1e
mov rdi, qword [rsp + 0x48]
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test ax, ax
jne 0x1400c3119
mov r14, r9
mov rax, qword [rsp + 0xc0]
add r9, rax
add r9, 0x10
add rax, 0x10
mov qword [rsp + 0xc0], rax
and r9, r8
movdqu xmm1, xmmword [r11 + r14]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb r15d, xmm3
test r15w, r15w
je 0x1400c2fe8
jmp 0x1400c2fc5
lea rax, [r11 + r10]
add rax, 0xffffffffffffffb0
cmp byte [rax + 1], 1
jne 0x1400c3052
cmp byte [rsp + 0x298], 0
jne 0x1400c3060
jmp 0x1400c2fbf
cmp byte [rsp + 0x298], 0
jne 0x1400c2fbf
mov rax, qword [rsp + 0x28]
cmp qword [r11 + r10 - 0x38], rax
jne 0x1400c2fbf
lea r12, [r11 + r10]
mov rax, qword [r11 + r10 - 0x40]
xor ecx, ecx
cmp qword [rsp + 0x28], rcx
je 0x1400c4345
movzx edx, byte [rax + rcx]
mov rbp, qword [rsp + 0x50]
movzx ebp, byte [rbp + rcx]
add rcx, 1
lea ebx, [rdx - 0x41]
cmp bl, 0x1a
setb bl
shl bl, 5
or bl, dl
lea edx, [rbp - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, bpl
cmp bl, dl
je 0x1400c307b
jmp 0x1400c2fbf
mov eax, reloc.WS2_32.dll_recv
mov qword [rsp + 0xc0], rax
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test ax, ax
jne 0x1400c3119
mov r14, r9
mov rax, qword [rsp + 0xc0]
add r9, rax
add r9, 0x10
add rax, 0x10
mov qword [rsp + 0xc0], rax
and r9, r8
movdqu xmm1, xmmword [r11 + r14]
movdqa xmm3, xmm0
pcmpeqb xmm3, xmm1
pmovmskb eax, xmm3
test ax, ax
je 0x1400c30cf
jmp 0x1400c2ec9
lea rax, [rdi + 0x88]
mov qword [rsp + 0xf0], rax
cmp qword [rdi + 0xa8], 0
je 0x1400c4288
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x2f0], xmm0
movaps xmmword [rsp + 0x300], xmm1
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x310], rax
mov al, 1
mov r12, qword [rsp + 0x138]
mov r15, qword [rsp + 0xe8]
mov r14d, dword [rsp + 0x40]
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmm1, xmmword [rsp + 0x300]
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm1
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 0x130], rcx
test al, al
je 0x1400c32f1
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x40
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c483d
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x80], rcx
movaps xmm0, xmmword [rsp + 0x110]
movdqa xmm1, xmmword [rsp + 0x120]
movdqa xmmword [rsp + 0x70], xmm1
movaps xmmword [rsp + 0x60], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x200], xmm0
mov rdx, qword [rdi + 0x98]
mov rcx, qword [rdi + 0xa0]
xor edi, edi
mov rsi, r13
nop dword [rax]
mov rbx, rsi
and rbx, rdx
lea rsi, [rdi + rbx]
add rsi, 0x10
add rdi, 0x10
movdqu xmm0, xmmword [rcx + rbx]
pmovmskb ebp, xmm0
test bp, bp
je 0x1400c3220
bsf bp, bp
movzx ebp, bp
add rbx, rbp
and rbx, rdx
mov r8b, byte [rcx + rbx]
test r8b, r8b
jns 0x1400c4794
and r8b, 1
neg r8b
movsx rbp, r8b
mov rsi, qword [rsp + 0x48]
add qword [rsi + 0xa8], rbp
mov rbp, rbx
neg rbp
shr r13, 0x39
lea rdi, [rbx - 0x10]
and rdi, rdx
mov byte [rcx + rbx], r13b
mov byte [rdi + rcx + 0x10], r13b
lea rdx, [rbp*4]
add rdx, rbp
shl rdx, 4
mov rbp, qword [rsp + 0x80]
mov qword [rcx + rdx - 0x30], rbp
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
movdqu xmmword [rcx + rdx - 0x40], xmm1
movups xmmword [rcx + rdx - 0x50], xmm0
mov qword [rcx + rdx - 0x28], r12
lea r12, [rcx + rdx - 0x20]
movdqa xmm0, xmmword [rsp + 0x200]
movdqu xmmword [rcx + rdx - 0x20], xmm0
mov qword [rcx + rdx - 0x10], rax
mov qword [rcx + rdx - 8], 8
add qword [rsi + 0xb0], 1
jmp 0x1400c3397
mov qword [rsp + 0x60], r13
movdqa xmm0, xmmword [rsp + 0x110]
movdqa xmm1, xmmword [rsp + 0x120]
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x90], r12
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x98], rax
cmp r13b, 3
je 0x1400c3393
cmp r13b, 2
jb 0x1400c3376
mov rax, qword [rsp + 0x68]
mov rbp, qword [rax + 0x18]
lea rcx, [rax + 0x10]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
call qword [rbp + ioctlsocket]
mov rsi, qword [rsp + 0x68]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
mov rax, qword [rsp + 0x88]
lea rcx, [rsp + 0x80]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
call qword [rax + ioctlsocket]
add r12, 0xffffffffffffffe0
mov rbp, qword [r12 + 8]
mov rdx, qword [r12 + 0x18]
mov rax, rbp
sub rax, qword [r12]
lea rcx, [rdx - 1]
and rax, rcx
sub rdx, rax
cmp rdx, 1
mov r13, qword [rsp + 0x2a0]
jne 0x1400c33d6
mov rcx, r12
call fcn.1401180e0
mov rbp, qword [r12 + 8]
mov rcx, qword [r12 + 0x18]
add rcx, 0xffffffffffffffff
lea rax, [rbp + 1]
and rax, rcx
mov qword [r12 + 8], rax
mov rax, qword [r12 + 0x10]
mov rdi, qword [rsp + 0xc8]
mov qword [rax + rbp*8], rdi
mov al, byte [rdi + 0x80]
test al, al
mov rbp, qword [rsp + 0x348]
jne 0x1400c3b23
mov rax, qword [rsp + 0x2e8]
mov rax, qword [rax]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
call qword [rax]
mov rsi, rax
mov rbx, rdx
mov al, 1
xchg byte [rdi + 0x60], al
test al, al
je 0x1400c3af8
mov rcx, rsi
call qword [rbx + 0x18]
jmp 0x1400c3b23
call fcn.140143880
xor al, 1
mov dword [rsp + 0x17c], eax
mov al, byte [rdi + 0x18]
test al, al
je 0x1400c2005
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x180], rax
mov eax, dword [rsp + 0x17c]
mov byte [rsp + 0x188], al
lea rax, [0x140267398]
mov qword [rsp + 0x20], rax
lea rcx, [0x1402af842]
lea r9, [0x140266998]
lea r8, [rsp + 0x180]
mov edx, 0x2b
call fcn.140022590
ud2
mov rax, qword [reloc.WS2_32.dll_getpeername]
add rax, 0xffffffffffffffff
cmp rax, 5
mov rdi, qword [rsp + 0x48]
jb 0x1400c3642
mov rax, qword [0x1402cc238]
test rax, rax
je 0x1400c3642
mov dl, 1
cmp rax, 1
je 0x1400c34de
cmp rax, 2
jne 0x1400c453d
mov dl, 2
lea rcx, [0x1402cc238]
call fcn.140168b50
test al, al
je 0x1400c3642
mov rsi, rbp
mov rcx, qword [str.P___]
mov rax, qword [rcx + 0x48]
movdqu xmm0, xmmword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
movq rbp, xmm0
mov qword [rsp + 0x200], rax
movdqu xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], rdx
pxor xmm0, xmm0
test rbp, rbp
je 0x1400c3539
movdqa xmm0, xmmword [rsp + 0x200]
movq rax, xmm0
test rax, rax
je 0x1400c4885
movdqa xmm1, xmmword [rsp + 0x210]
lea rax, [rcx + 0x48]
mov qword [rsp + 0x60], 0
movdqu xmmword [rsp + 0x68], xmm0
movdqu xmmword [rsp + 0x78], xmm1
mov qword [rsp + 0x110], r13
lea rdx, [0x140117ec0]
mov qword [rsp + 0x118], rdx
lea rdx, [rsp + 0x350]
mov qword [rsp + 0x120], rdx
lea rdx, [0x1400c4bc0]
mov qword [rsp + 0x128], rdx
lea rdx, [0x1402673c8]
mov qword [rsp + 0x180], rdx
mov qword [rsp + 0x188], 2
mov qword [rsp + 0x190], 0
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x1a0], rdx
mov qword [rsp + 0x1a8], 2
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x2f0], rdx
lea rdx, [rsp + 0x180]
mov qword [rsp + 0x2f8], rdx
lea rdx, [0x140264768]
mov qword [rsp + 0x300], rdx
lea rdx, [rsp + 0x2f0]
mov qword [rsp + 0x260], rdx
mov qword [rsp + 0x268], 1
mov qword [rsp + 0x270], rax
lea rdx, [rsp + 0x260]
call fcn.140169570
mov rbp, rsi
lea rax, [r12*8 - 0x18]
add rax, rbp
mov qword [rsp + 0x2b0], r13
mov qword [rsp + 0x2b8], rax
mov rcx, qword [rbp + r12*8 - 8]
test rcx, rcx
je 0x1400c3ada
lea r15, [rsp + 0x190]
lea rdx, [r12*8 - 8]
add rdx, rbp
lea r14, [rsp + 0x60]
mov r12d, 0xff
mov qword [rsp + 0xe0], rdx
jmp 0x1400c3793
movdqa xmm1, xmmword [rsp + 0x210]
lea rax, [rcx + 0x48]
mov qword [rsp + 0x110], 0
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm1
lea rdx, [rsp + 0x2b0]
mov qword [rsp + 0xd0], rdx
lea rdx, [0x140115f70]
mov qword [rsp + 0xd8], rdx
lea rdx, [0x140267400]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], 1
mov qword [rsp + 0x70], 0
lea rdx, [rsp + 0xd0]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], 1
lea rdx, [rsp + 0x110]
mov qword [rsp + 0x260], rdx
mov qword [rsp + 0x268], r14
lea rdx, [0x140264768]
mov qword [rsp + 0x270], rdx
lea rdx, [rsp + 0x260]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 1
mov qword [rsp + 0x100], rax
lea rdx, [rsp + 0xf0]
call fcn.140169570
mov rcx, r15
call fcn.1400834d0
mov rax, qword [rsp + 0x2b8]
lea rdx, [rax + 0x10]
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x1400c3ada
add rcx, 0xffffffffffffffff
mov qword [rdx], rcx
mov rdx, qword [rax]
lea rcx, [rcx + rcx*8]
mov rax, qword [rdx + rcx*8 + 0x20]
mov qword [rsp + 0x310], rax
movups xmm0, xmmword [rdx + rcx*8]
movdqu xmm1, xmmword [rdx + rcx*8 + 0x10]
movdqa xmmword [rsp + 0x300], xmm1
movaps xmmword [rsp + 0x2f0], xmm0
mov rax, qword [rdx + rcx*8 + 0x28]
mov rbx, qword [rdx + rcx*8 + 0x40]
mov qword [rsp + 0x2d0], rbx
movdqu xmm0, xmmword [rdx + rcx*8 + 0x30]
movdqa xmmword [rsp + 0x2c0], xmm0
cmp rax, 2
je 0x1400c3ada
mov rcx, qword [rsp + 0x310]
mov qword [rsp + 0x1a0], rcx
movaps xmm0, xmmword [rsp + 0x2f0]
movdqa xmm1, xmmword [rsp + 0x300]
movdqa xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x1a8], rax
mov rcx, qword [rsp + 0x2d0]
mov qword [r15 + 0x30], rcx
movdqa xmm0, xmmword [rsp + 0x2c0]
movdqu xmmword [r15 + 0x20], xmm0
mov rcx, qword [rsp + 0x1b0]
mov rcx, qword [rcx + 0x10]
cmp rax, 1
jne 0x1400c39fe
cmp rcx, 3
je 0x1400c3a08
cmp dword [rsp + 0x350], 1
jne 0x1400c42a7
mov esi, dword [rsp + 0x188]
mov rbp, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x358]
mov edi, dword [rsp + 0x360]
call fcn.140153030
mov qword [rsp + 0x200], rax
mov dword [rsp + 0x208], edx
mov qword [rsp + 0x110], rbp
mov dword [rsp + 0x118], esi
mov rcx, r14
lea rdx, [rsp + 0x200]
lea r8, [rsp + 0x110]
call fcn.140153230
cmp dword [rsp + 0x60], 1
jne 0x1400c47f3
xor eax, eax
cmp qword [rsp + 0x68], rbx
setne al
cmovb eax, r12d
xor ecx, ecx
cmp dword [rsp + 0x70], edi
setne cl
cmovb ecx, r12d
test al, al
cmovne ecx, eax
cmp cl, 1
mov rdi, qword [rsp + 0x48]
jne 0x1400c42a7
mov rax, qword [reloc.WS2_32.dll_getpeername]
add rax, 0xffffffffffffffff
cmp rax, 5
jb 0x1400c3772
mov rax, qword [0x1402cc148]
test rax, rax
je 0x1400c3772
mov dl, 1
cmp rax, 1
je 0x1400c3942
cmp rax, 2
jne 0x1400c3abf
mov dl, 2
lea rcx, [0x1402cc148]
call fcn.140168b50
test al, al
je 0x1400c3772
mov rcx, qword [0x1402cc150]
mov rax, qword [rcx + 0x48]
movdqu xmm0, xmmword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
movq rbp, xmm0
mov qword [rsp + 0x200], rax
movdqu xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], rdx
test rbp, rbp
je 0x1400c4855
movdqa xmm0, xmmword [rsp + 0x200]
movq rax, xmm0
test rax, rax
je 0x1400c4855
movdqa xmm1, xmmword [rsp + 0x210]
lea rax, [rcx + 0x48]
mov qword [rsp + 0x110], 0
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm1
lea rdx, [rsp + 0x2b0]
mov qword [rsp + 0xd0], rdx
lea rdx, [0x140115f70]
mov qword [rsp + 0xd8], rdx
lea rdx, [0x140267428]
jmp 0x1400c36e7
cmp rcx, 1
je 0x1400c3869
mov rax, qword [reloc.WS2_32.dll_getpeername]
add rax, 0xffffffffffffffff
cmp rax, 5
jb 0x1400c3772
mov rax, qword [0x1402cc130]
test rax, rax
je 0x1400c3772
mov dl, 1
cmp rax, 1
je 0x1400c3a3d
cmp rax, 2
jne 0x1400c3aa8
mov dl, 2
lea rcx, [0x1402cc130]
call fcn.140168b50
test al, al
je 0x1400c3772
mov rcx, qword [0x1402cc138]
mov rax, qword [rcx + 0x48]
movdqu xmm0, xmmword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
movq rbp, xmm0
mov qword [rsp + 0x200], rax
movdqu xmmword [rsp + 0x208], xmm0
mov qword [rsp + 0x218], rdx
test rbp, rbp
je 0x1400c4865
movdqa xmm0, xmmword [rsp + 0x200]
movq rax, xmm0
test rax, rax
jne 0x1400c3696
jmp 0x1400c4865
lea rcx, [0x1402cc130]
call fcn.140168a90
mov edx, eax
test al, al
jne 0x1400c3a3d
jmp 0x1400c3772
lea rcx, [0x1402cc148]
call fcn.140168a90
mov edx, eax
test al, al
jne 0x1400c3942
jmp 0x1400c3772
mov qword [rsp + 0x1a8], 2
mov ebp, 2
mov r15, qword [rsp + 0xe8]
jmp 0x1400c46f7
mov rax, qword [rdi + 0x58]
test rax, rax
je 0x1400c3b08
mov rcx, qword [rdi + 0x50]
call qword [rax + 0x18]
mov qword [rdi + 0x50], rsi
mov qword [rdi + 0x58], rbx
xor eax, eax
xchg byte [rdi + 0x60], al
mov al, byte [rdi + 0x80]
test al, al
je 0x1400c3bc5
mov al, 1
xchg byte [rdi + 0x48], al
test al, al
jne 0x1400c4823
movdqu xmm0, xmmword [rdi + 0x10]
movdqu xmm1, xmmword [rdi + 0x20]
movups xmm2, xmmword [rdi + 0x30]
movdqa xmm3, xmmword [0x1402208c0]
movdqu xmmword [rdi + 0x20], xmm3
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0x100], rax
movaps xmmword [rsp + 0xf0], xmm2
pshufd xmm2, xmm1, 0x4e
movq rax, xmm2
cmp rax, 2
je 0x1400c481e
movdqu xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
movdqa xmm0, xmmword [rsp + 0xf0]
movdqu xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x90], rax
xor eax, eax
xchg byte [rdi + 0x48], al
mov rsi, qword [rsp + 0x78]
test sil, 2
jne 0x1400c3bbb
lea rcx, [rsp + 0x60]
call fcn.1400834d0
cmp rsi, 3
jne 0x1400c4823
mov rsi, qword [rbp]
test rsi, rsi
je 0x1400c3c35
mov bl, 1
mov al, 1
xchg byte [rsi + 0x80], al
mov al, 1
xchg byte [rsi + 0x60], al
test al, al
jne 0x1400c3bfe
mov rcx, qword [rsi + 0x50]
mov rax, qword [rsi + 0x58]
mov qword [rsi + 0x58], 0
xor edx, edx
xchg byte [rsi + 0x60], dl
test rax, rax
je 0x1400c3bfe
call qword [rax + 0x18]
xchg byte [rsi + 0x78], bl
test bl, bl
jne 0x1400c3c22
mov rcx, qword [rsi + 0x68]
mov rax, qword [rsi + 0x70]
mov qword [rsi + 0x70], 0
xor edx, edx
xchg byte [rsi + 0x78], dl
test rax, rax
je 0x1400c3c22
call qword [rax + ioctlsocket]
mov rax, qword [rbp]
lock sub qword [rax], 1
jne 0x1400c3c35
mov rcx, rbp
call fcn.140087d60
mov qword [rbp], rdi
mov rdi, qword [rsp + 0x48]
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x390], rax
movaps xmm0, xmmword [rsp + 0x260]
movaps xmm1, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x380], xmm1
movaps xmmword [rsp + 0x370], xmm0
movaps xmm0, xmmword [rsp + 0x2c0]
movaps xmmword [rsp + 0x3b0], xmm0
mov rax, qword [rsp + 0x2d0]
cmp dword [rsp + 0x1a8], 2
mov qword [rsp + 0x3c0], rax
setne al
mov ecx, dword [rsp + 0xe0]
not cl
test cl, al
je 0x1400c3cb3
lea rcx, [rsp + 0x190]
call fcn.1400834d0
cmp byte [rsp + 0x17c], 0
jne 0x1400c3ccd
mov rax, qword [0x1402cede8]
test rax, rax
jne 0x1400c4122
mov rax, qword [0x1402cee10]
test rax, rax
je 0x1400c3cfb
lea rcx, [0x140142370]
cmp rax, rcx
jne 0x1400c3d0c
mov rax, qword [rsp + 0x2e0]
mov rcx, qword [rax]
mov byte [rcx + 0x28], 0
call fcn.14021dffd
jmp 0x1400c3d26
call fcn.140142330
lea rcx, [0x140142370]
cmp rax, rcx
je 0x1400c3ce5
mov rax, qword [0x1402cee18]
test rax, rax
je 0x1400c4084
mov rcx, qword [rsp + 0x2e0]
call rax
lea rbx, [r13 + 0x30]
movaps xmm0, xmmword [rsp + 0x370]
movaps xmm1, xmmword [rsp + 0x380]
movaps xmmword [rsp + 0x200], xmm0
movaps xmmword [rsp + 0x210], xmm1
mov rax, qword [rsp + 0x390]
mov qword [rsp + 0x220], rax
movaps xmm0, xmmword [rsp + 0x3b0]
movaps xmmword [rsp + 0x2f0], xmm0
mov rax, qword [rsp + 0x3c0]
mov qword [rsp + 0x300], rax
test r14b, r14b
je 0x1400c3d93
mov qword [rsp + 0x198], 3
mov r14, r15
jmp 0x1400c3e20
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x130], rax
movaps xmm0, xmmword [rsp + 0x200]
movaps xmm1, xmmword [rsp + 0x210]
movaps xmmword [rsp + 0x120], xmm1
movaps xmmword [rsp + 0x110], xmm0
mov qword [rsp + 0x70], rax
movaps xmmword [rsp + 0x60], xmm1
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x2f0]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x300]
mov qword [rsp + 0x90], rax
lea rcx, [rsp + 0x180]
lea r9, [rsp + 0x60]
mov rdx, rbx
mov r8, r13
call fcn.1400c48c0
cmp dword [rsp + 0x198], 3
mov r14, r15
jne 0x1400c3f08
cmp qword [rbx], 0
jne 0x1400c1f33
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rdi, rax
mov qword [rax], 0
mov byte [rax + 0x10], 4
mov eax, dword [rsp + 0x260]
mov dword [rdi + 0x12], eax
movzx eax, word [rsp + 0x264]
mov word [rdi + 0x16], ax
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, reloc.WS2_32.dll_recv
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47de
mov rsi, rax
movdqu xmm0, xmmword [str.pool_is_disabledcheckout_waiting_for_idle_connection:_removing_expired_connection_for_removing_closed_connection_for_take__:_expiration_]
movdqu xmmword [rax], xmm0
call sub.KERNEL32.dll_GetProcessHeap
mov r8d, 0x18
mov rcx, rax
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x1400c47ac
mov rbx, rax
mov qword [rax], rsi
movdqa xmm0, xmmword [reloc.WS2_32.dll_recv]
movdqu xmmword [rax + 8], xmm0
mov rsi, qword [rdi]
test rsi, rsi
je 0x1400c3f8e
mov rbp, qword [rdi + 8]
mov rcx, rsi
call qword [rbp]
cmp qword [rbp + 8], 0
je 0x1400c3f8e
cmp qword [rbp + 0x10], 0x11
jae 0x1400c3f7b
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
jmp 0x1400c3f89
mov qword [r14], 0
movups xmm0, xmmword [rsp + 0x180]
movups xmm1, xmmword [rsp + 0x190]
movups xmm2, xmmword [rsp + 0x1a0]
movups xmm3, xmmword [rsp + 0x1b0]
movups xmmword [r14 + 8], xmm0
movups xmmword [r14 + 0x18], xmm1
movups xmmword [r14 + 0x28], xmm2
movups xmmword [r14 + 0x38], xmm3
movups xmm0, xmmword [rsp + 0x1c0]
movups xmmword [r14 + 0x48], xmm0
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [r14 + 0x58], xmm0
movups xmm0, xmmword [rsp + 0x1e0]
movups xmmword [r14 + 0x68], xmm0
mov rax, qword [rsp + 0x1f0]
mov qword [r14 + 0x78], rax
jmp 0x1400c404c
call sub.KERNEL32.dll_GetProcessHeap
mov r8, qword [rsi - 8]
mov rcx, rax
xor edx, edx
call fcn.14021dfcd
mov qword [rdi], rbx
lea rax, [0x140266518]
mov qword [rdi + 8], rax
mov qword [r14 + 8], rdi
cmp dword [rsp + 0x198], 3
mov qword [r14], 1
je 0x1400c404c
lea rcx, [rsp + 0x180]
call fcn.140082f70
cmp dword [rsp + 0x198], 2
je 0x1400c3fd9
lea rcx, [rsp + 0x180]
call fcn.1400834d0
cmp byte [rsp + 0x1b8], 2
jb 0x1400c4017
mov rax, qword [rsp + 0x1c0]
mov rbp, qword [rax + 0x18]
lea rcx, [rax + 0x10]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
call qword [rbp + ioctlsocket]
mov rsi, qword [rsp + 0x1c0]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
mov rax, qword [rsp + 0x1e0]
lea rcx, [rsp + 0x1d8]
mov rdx, qword [rsp + 0x1c8]
mov r8, qword [rsp + 0x1d0]
call qword [rax + ioctlsocket]
mov rax, qword [rsp + 0x1e8]
lea rcx, [rax + 1]
cmp rcx, 2
jae 0x1400c4060
add rsp, 0x3d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lock sub qword [rax + 8], 1
jne 0x1400c404c
mov rsi, qword [rsp + 0x1e8]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
jmp 0x1400c404c
call fcn.140142390
jmp 0x1400c3d1c
mov rcx, qword [rsp + 0x28]
mov rax, rcx
sub rax, r8
sar rax, 3
movabs rdx, 0x8e38e38e38e38e39
imul rdx, rax
lea rbp, [rdx - 0x10]
and rbp, r15
movdqu xmm0, xmmword [rcx + rbp]
pcmpeqd xmm1, xmm1
pcmpeqb xmm0, xmm1
pmovmskb edi, xmm0
movdqu xmm0, xmmword [rcx + rdx]
pcmpeqb xmm0, xmm1
pmovmskb ebx, xmm0
mov cx, reloc.WS2_32.dll_recv
mov ax, reloc.WS2_32.dll_recv
test di, di
je 0x1400c40e4
bsr ax, di
xor eax, 0xf
test bx, bx
mov r15, qword [rsp + 0xe8]
mov r13, qword [rsp + 0x2a0]
mov r14d, dword [rsp + 0x40]
je 0x1400c4102
bsf cx, bx
movzx ecx, cx
add ecx, eax
cmp cx, 0xf
mov rdi, qword [rsp + 0x48]
jbe 0x1400c4138
mov rax, qword [rsp + 0x28]
mov byte [rax + rdx], 0x80
mov byte [rbp + rax + 0x10], 0x80
jmp 0x1400c414b
call fcn.140143880
test al, al
jne 0x1400c3ccd
mov byte [rdi + 0x18], 1
jmp 0x1400c3ccd
add qword [rdi + 0x70], 1
mov rax, qword [rsp + 0x28]
mov byte [rax + rdx], 0xff
mov byte [rbp + rax + 0x10], 0xff
add qword [rdi + 0x78], 0xffffffffffffffff
movdqu xmm0, xmmword [r10]
movdqu xmm1, xmmword [r10 + 0x10]
movdqu xmm2, xmmword [r10 + 0x20]
movdqu xmm3, xmmword [r10 + 0x30]
movdqa xmmword [rsp + 0x110], xmm0
mov rax, qword [r10 + 0x40]
mov qword [rsp + 0x150], rax
movdqa xmmword [rsp + 0x140], xmm3
movdqa xmmword [rsp + 0x130], xmm2
movdqa xmmword [rsp + 0x120], xmm1
mov al, byte [rsp + 0x110]
cmp al, 3
je 0x1400c299d
mov r12, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x150]
cmp al, 2
jb 0x1400c41fb
mov rax, qword [rsp + 0x118]
mov rdi, qword [rax + 0x18]
lea rcx, [rax + 0x10]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
call qword [rdi + ioctlsocket]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x118]
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, rsi
call fcn.14021dfcd
mov rax, qword [rsp + 0x138]
lea rcx, [rsp + 0x130]
mov rdx, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
call qword [rax + ioctlsocket]
test r12, r12
je 0x1400c299d
test rbp, rbp
je 0x1400c4252
lea rsi, [r12 + 0x10]
shl rbp, 3
lea rdi, [rbp*8]
add rdi, rbp
mov rcx, rsi
call fcn.1400834d0
add rsi, 0x48
add rdi, 0xffffffffffffffb8
jne 0x1400c4240
test rbx, rbx
mov rdi, qword [rsp + 0x48]
je 0x1400c299d
shl rbx, 3
lea rax, [rbx + rbx*8]
test rax, rax
je 0x1400c299d
call sub.KERNEL32.dll_GetProcessHeap
mov rcx, rax
xor edx, edx
mov r8, r12
call fcn.14021dfcd
jmp 0x1400c299d
lea rcx, [rsp + 0x60]
lea r8, [rsp + 0xf0]
mov rdx, qword [rsp + 0x170]
call fcn.14012a3c0
jmp 0x1400c3136
mov r9, qword [rsp + 0x190]
mov r12, qword [rsp + 0x198]
mov dl, byte [rsp + 0x1a0]
mov bl, byte [rsp + 0x1a1]
mov eax, dword [rsp + 0x1a2]
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x1a6]
mov word [rsp + 0x114], ax
mov r14, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1b8]
mov r8, qword [rsp + 0x1c0]
cmp qword [rsp + 0x1a8], 1
jne 0x1400c43a7
mov byte [rsp + 0x40], bl
mov qword [rsp + 0x28], r8
test r9, r9
mov r15, qword [rsp + 0xe8]
mov qword [rsp + 0x170], r9
je 0x1400c43e6
mov rcx, r9
mov ebx, edx
call qword [r12 + 0x18]
mov qword [rsp + 0x298], rdx
mov edx, ebx
jmp 0x1400c43e8
mov r13, qword [rsp + 0x110]
lea rax, [rsp + 0x118]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x2f0], xmm0
movaps xmmword [rsp + 0x300], xmm1
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x310], rax
xor eax, eax
mov r15, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x48]
jmp 0x1400c3178
lea rcx, [0x1402cc250]
call fcn.140168a90
mov edx, eax
test al, al
jne 0x1400c2ad3
jmp 0x1400c2c12
movzx eax, word [rsp + 0x114]
mov word [rsp + 0x264], ax
mov ecx, dword [rsp + 0x110]
mov dword [rsp + 0x260], ecx
mov dword [rsp + 0xd0], ecx
mov word [rsp + 0xd4], ax
xor ebp, ebp
mov r10d, edx
mov r15, qword [rsp + 0xe8]
jmp 0x1400c4656
xor eax, eax
test dl, dl
setne cl
lock add qword [r14], 1
jle 0x1400c47ef
mov byte [rsp + 0x38], cl
mov byte [rsp + 0xc8], dl
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x58], r14
lock add qword [rsi + 0x68], 1
mov qword [rsp + 0x50], rsi
lock add qword [rsi], 1
jle 0x1400c47ef
movzx eax, word [rsp + 0x64]
mov word [rsp + 0xf4], ax
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0xf0], ecx
mov edx, dword [rsp + 0x110]
mov dword [rsp + 0x260], edx
movzx edx, word [rsp + 0x114]
mov word [rsp + 0x264], dx
mov dword [rsp + 0xd0], ecx
mov word [rsp + 0xd4], ax
mov r14, qword [rsp + 0x2b8]
call fcn.140153030
mov r11, rax
mov ebx, edx
movzx eax, word [rsp + 0x264]
mov word [rsp + 0x204], ax
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x200], eax
mov rbp, qword [r14 + 0x10]
cmp rbp, qword [r14 + 8]
mov dword [rsp + 0xc0], edx
jne 0x1400c4516
mov rcx, rbp
inc rcx
je 0x1400c48a4
mov rax, rbp
add rax, rbp
cmp rax, rcx
cmova rcx, rax
cmp rcx, 4
mov eax, 4
cmova rax, rcx
mov ecx, 0x48
xor r8d, r8d
mul rcx
setno r8b
shl r8, 3
test rbp, rbp
mov qword [rsp + 0x3d0], r11
je 0x1400c4558
mov rcx, qword [r14]
shl rbp, 3
lea rdx, [rbp*8]
add rdx, rbp
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], 8
jmp 0x1400c4561
mov rcx, qword [r14]
mov r8, qword [rsp + 0x28]
mov bl, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x30]
mov dl, byte [rsp + 0xc8]
mov r10b, byte [rsp + 0x38]
jmp 0x1400c45d8
lea rcx, [0x1402cc238]
call fcn.140168a90
mov edx, eax
test al, al
jne 0x1400c34de
jmp 0x1400c3642
mov qword [rsp + 0x60], 0
lea rcx, [rsp + 0x110]
lea r9, [rsp + 0x60]
mov rdx, rax
call fcn.14016c1f0
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x110], 1
je 0x1400c489f
movabs rdx, 0xe38e38e38e38e38f
mul rdx
mov qword [r14], rcx
shr rdx, 6
mov qword [r14 + 8], rdx
mov rbp, qword [r14 + 0x10]
mov r8, qword [rsp + 0x28]
mov bl, byte [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov r9, qword [rsp + 0x30]
mov dl, byte [rsp + 0xc8]
mov r10b, byte [rsp + 0x38]
mov r11, qword [rsp + 0x3d0]
lea rax, [rbp*8]
add rax, rbp
mov qword [rcx + rax*8], r11
mov ebp, dword [rsp + 0xc0]
mov dword [rcx + rax*8 + 8], ebp
mov rbp, qword [rsp + 0x170]
mov qword [rcx + rax*8 + 0x10], rbp
mov qword [rcx + rax*8 + 0x18], r12
mov byte [rcx + rax*8 + 0x20], dl
mov byte [rcx + rax*8 + 0x21], bl
mov edx, dword [rsp + 0x200]
mov dword [rcx + rax*8 + 0x22], edx
movzx edx, word [rsp + 0x204]
mov word [rcx + rax*8 + 0x26], dx
mov qword [rcx + rax*8 + 0x28], 1
mov rdx, qword [rsp + 0x58]
mov qword [rcx + rax*8 + 0x30], rdx
mov qword [rcx + rax*8 + 0x38], rsi
mov qword [rcx + rax*8 + 0x40], r8
add qword [r14 + 0x10], 1
mov r14, rdx
mov ebp, 1
mov r12, qword [rsp + 0x298]
mov rax, qword [rsp + 0x180]
mov ecx, dword [rsp + 0x188]
mov edx, dword [rsp + 0xd0]
mov dword [rsp + 0x60], edx
movzx edx, word [rsp + 0xd4]
mov word [rsp + 0x64], dx
mov qword [rsp + 0x180], rax
mov dword [rsp + 0x188], ecx
mov qword [rsp + 0x190], r9
mov qword [rsp + 0x198], r12
mov byte [rsp + 0x1a0], r10b
mov byte [rsp + 0x1a1], bl
movzx eax, word [rsp + 0x64]
mov word [rsp + 0x1a6], ax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x1a2], eax
mov qword [rsp + 0x1a8], rbp
mov qword [rsp + 0x1b0], r14
mov qword [rsp + 0x1b8], rsi
mov qword [rsp + 0x1c0], r8
mov rax, qword [rsp + 0xe0]
cmp qword [rax], 0
sete byte [rsp + 0x1c8]
lea rcx, [rsp + 0x60]
lea rax, [rsp + 0x110]
cmp ebp, 2
jne 0x1400c4728
mov edx, 2
mov qword [rsp + 0x58], rdx
mov r14b, 1
mov dword [rsp + 0xe0], 0
mov dl, 1
jmp 0x1400c251f
mov qword [rsp + 0x58], rbp
cmp byte [rsp + 0x1c8], 0
setne dl
movups xmm0, xmmword [rsp + 0x180]
movups xmm1, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm1
mov rbp, qword [rsp + 0x1a0]
mov qword [rsp + 0x80], rbp
movups xmm0, xmmword [rsp + 0x1b0]
movaps xmmword [rsp + 0x110], xmm0
mov rbp, qword [rsp + 0x1c0]
mov qword [rsp + 0x120], rbp
mov bpl, 1
mov dword [rsp + 0xe0], ebp
xor r14d, r14d
jmp 0x1400c251f
movdqa xmm0, xmmword [rcx]
pmovmskb ebp, xmm0
bsf bp, bp
movzx ebx, bp
mov r8b, byte [rcx + rbx]
jmp 0x1400c325a
mov ecx, 0x18
mov edx, 8
call fcn.1400182a0
ud2
lea rcx, [0x1402772a0]
lea r8, [0x1402493a8]
mov edx, 0x28
call fcn.14001f9d0
ud2
mov ecx, shutdown
jmp 0x1400c47e3
mov ecx, reloc.WS2_32.dll_recv
mov edx, 1
call fcn.1400182a0
ud2
ud2
lea rcx, [0x1402753b1]
lea r8, str.library_std_src_time.rs
mov edx, 0x23
call fcn.140022520
ud2
mov ecx, 0x88
mov edx, 8
call fcn.1400182a0
ud2
xor eax, eax
xchg byte [rdi + 0x48], al
lea rcx, str.assertion_failed:_Pin::new_mut_rx_.poll_cx_.is_pending__
lea r8, [0x1402674a0]
mov edx, 0x39
call fcn.14001f9d0
ud2
mov ecx, 0x40
mov edx, 8
call fcn.1400182a0
ud2
call fcn.1400851e0
ud2
lea rcx, str.FieldSet_corrupted__this_is_a_bug_
lea r8, [0x140267410]
jmp 0x1400c4893
lea rcx, str.FieldSet_corrupted__this_is_a_bug_
lea r8, [0x1402673e8]
jmp 0x1400c4893
lea rcx, str.FieldSet_corrupted__this_is_a_bug_
lea r8, [0x140267438]
jmp 0x1400c4893
lea rcx, str.FieldSet_corrupted__this_is_a_bug_
lea r8, [0x1402673b0]
mov edx, 0x22
call fcn.140022520
ud2
test rax, rax
jne 0x1400c48ab
call fcn.1400182c0
ud2
mov rdx, rax
call fcn.1400182a0
ud2