Function at 0x1400ae950
Capabilities:
Check for time delay via queryperformancecounter
Connect socket
Get socket status
Set socket configuration

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x938
movaps xmmword [rsp + 0x920], xmm6
mov rdi, rdx
mov r12, rcx
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xc8], r9
mov rbp, qword [rdx + 0x98]
mov r13d, dword [rbp + 0x80]
cmp r13d, 0x3b9aca00
jne 0x1400ae9b3
mov rax, qword [rdi + 0x88]
mov qword [rsp + 0x88], rax
mov r13d, dword [rdi + 0x90]
jmp 0x1400aeace
mov rax, qword [rbp + 0x78]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x138]
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400b0304
mov rsi, qword [rsp + 0x138]
mov rcx, qword [0x14024a110]
test rcx, rcx
jne 0x1400aea2d
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x138]
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400b0304
mov rcx, qword [rsp + 0x138]
mov qword [0x14024a110], rcx
test rcx, rcx
je 0x1400b02bd
mov rax, rsi
or rax, rcx
shr rax, 0x20
je 0x1400aea43
mov rax, rsi
xor edx, edx
div rcx
jmp 0x1400aea49
mov eax, esi
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400aea6d
xor edx, edx
div rcx
mov rcx, rax
jmp 0x1400aea73
xor edx, edx
div ecx
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
add qword [rsp + 0x88], rdx
jae 0x1400aeaa0
mov r13d, 0x3b9aca00
jmp 0x1400aeace
imul rax, rdx, 0x3b9aca00
sub rcx, rax
add r13d, ecx
cmp r13d, 0x3b9aca00
jb 0x1400aeace
add r13d, 0xc4653600
inc qword [rsp + 0x88]
mov eax, 0x3b9aca00
cmove r13d, eax
movabs r15, 0x8000000000000000
cmp qword [rbp + 0x28], r15
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x48], r13d
mov qword [rsp + 0x80], rbp
jne 0x1400aebb7
mov qword [rsp + 0xe8], r15
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x468], rax
lea rax, [0x140082540]
mov qword [rsp + 0x470], rax
lea rax, [rsp + 0x9a0]
mov qword [rsp + 0x478], rax
lea rax, [0x14000d2d0]
mov qword [rsp + 0x480], rax
lea rax, str.incomplete_frameInvalid_checksumfailed_to_fill_whole_buffer
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 2
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x468]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 2
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x138]
call fcn.1400039a0
movups xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0xe0], rax
jmp 0x1400aedfa
mov rbx, qword [rbp + 0x30]
mov rsi, qword [rbp + 0x38]
test rsi, rsi
je 0x1400aebe8
js 0x1400b02bd
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rsi
call fcn.140080d30
mov rdi, rax
test rax, rax
jne 0x1400aebed
jmp 0x1400b02bd
mov edi, 1
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [rbp + 0x70]
movabs r15, 0x8000000000000000
cmp qword [rbp + 0x40], r15
mov dword [rsp + 0x40], edx
jne 0x1400aec23
mov rbx, r15
cmp qword [rbp + 0x58], r15
jne 0x1400aec7c
mov rbp, r12
jmp 0x1400aecd0
mov r15, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x50]
test rbx, rbx
je 0x1400aec54
js 0x1400b02bd
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rbx
call fcn.140080d30
mov r14, rax
test rax, rax
jne 0x1400aec5a
jmp 0x1400b02bd
mov r14d, 1
mov rcx, r14
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
movabs r15, 0x8000000000000000
mov edx, dword [rsp + 0x40]
cmp qword [rbp + 0x58], r15
je 0x1400aec1b
mov r13, qword [rbp + 0x60]
mov r15, qword [rbp + 0x68]
test r15, r15
je 0x1400aecb0
js 0x1400b02bd
mov rbp, r12
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, r15
call fcn.140080d30
mov r12, rax
test rax, rax
jne 0x1400aecb9
jmp 0x1400b02bd
mov rbp, r12
mov r12d, 1
mov rcx, r12
mov rdx, r13
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r13d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0x74]
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], rsi
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x128], r15
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x118], r15
lea rcx, [rsp + 0x130]
mov dword [rsp + 0x130], edx
mov byte [rsp + 0x134], al
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x468], rax
lea rax, [0x140054170]
mov qword [rsp + 0x470], rax
mov qword [rsp + 0x478], rcx
lea rax, [0x14000d510]
mov qword [rsp + 0x480], rax
lea rax, str.incomplete_frameInvalid_checksumfailed_to_fill_whole_buffer
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 2
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x468]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 2
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x138]
call fcn.1400039a0
movups xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x370]
mov qword [rsp + 0xe0], rax
movabs r15, 0x8000000000000000
mov r12, rbp
mov rdi, qword [rsp + 0x68]
mov rax, qword [rdi + 0xa0]
mov rdi, qword [rax + 0x28]
mov rsi, qword [rax + 0x30]
lock inc qword [rdi]
jle 0x1400b02bd
mov rax, qword [rsi + 0x10]
dec rax
and rax, 0xfffffffffffffff0
lea rdx, [rax + rdi]
add rdx, 0x10
mov r8, qword [rsp + 0xd8]
mov r9, qword [rsp + 0xe0]
lea rcx, [rsp + 0x670]
call qword [rsi + 0x18]
cmp qword [rsp + 0x670], r15
jne 0x1400aef6c
mov rbx, qword [rsp + 0x678]
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x90], rax
lea rax, [0x140054170]
mov qword [rsp + 0x98], rax
lea rax, [0x1401f1228]
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x368], 2
mov qword [rsp + 0x380], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], 1
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x360]
call fcn.1400039a0
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 2
mov qword [rsp + 0x138], r15
lea rcx, [rsp + 0x468]
lea rdx, [rsp + 0x138]
mov r8, rbx
call fcn.1400b42a0
mov rbx, qword [rsp + 0x468]
lea rax, [r15 + 1]
cmp rbx, rax
je 0x1400aef8c
movups xmm6, xmmword [rsp + 0x470]
mov r14, qword [rsp + 0x480]
lea rdx, [rsp + 0x488]
lea rcx, [r12 + 0x20]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movups xmmword [r12 + 8], xmm6
mov qword [r12 + 0x18], r14
mov qword [r12], rbx
lock dec qword [rdi]
jne 0x1400af9e0
mov rcx, rdi
mov rdx, rsi
call fcn.140043c50
jmp 0x1400af9e0
mov rax, qword [rsp + 0x680]
mov qword [rsp + 0x480], rax
movups xmm0, xmmword [rsp + 0x670]
movups xmmword [rsp + 0x470], xmm0
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x478]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x480]
mov qword [rsp + 0xb8], rax
lock dec qword [rdi]
jne 0x1400aefc7
mov rcx, rdi
mov rdx, rsi
call fcn.140043c50
cmp qword [rsp + 0xb8], 0
je 0x1400af869
mov qword [rsp + 0x60], r12
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x350], rax
cmp rax, r15
mov r15d, 4
je 0x1400aeffe
mov r15d, dword [rsp + 0x134]
mov rax, qword [rsp + 0xb8]
shl rax, 5
mov r12, qword [rsp + 0x70]
add rax, r12
mov qword [rsp + 0x358], rax
xor ebx, ebx
mov dword [rsp + 0x5c], r15d
jmp 0x1400af062
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
dec rsi
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
nop dword [rax + rax]
add r12, 0x20
cmp r12, qword [rsp + 0x358]
je 0x1400af91f
mov rsi, rbx
movzx ebp, word [r12]
cmp bp, 2
je 0x1400af91c
mov ebx, dword [r12 + 0x14]
mov eax, dword [r12 + 0x18]
mov dword [rsp + 0x40], eax
movzx eax, word [r12 + 0x1c]
mov word [rsp + 0x3e], ax
movzx eax, word [r12 + 0x1e]
mov word [rsp + 0x46], ax
movzx eax, word [r12 + 0x12]
mov word [rsp + 0x370], ax
movups xmm0, xmmword [r12 + 2]
movaps xmmword [rsp + 0x360], xmm0
mov edi, 0x3b9aca00
cmp r13d, 0x3b9aca00
je 0x1400af224
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x468], rax
mov dword [rsp + 0x470], r13d
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x138]
call sub.KERNEL32.dll_QueryPerformanceCounter
test eax, eax
je 0x1400b0304
mov rdi, qword [rsp + 0x138]
mov r8, qword [0x14024a110]
test r8, r8
jne 0x1400af14c
mov qword [rsp + 0x138], 0
lea rcx, [rsp + 0x138]
call sub.KERNEL32.dll_QueryPerformanceFrequency
test eax, eax
je 0x1400b0304
mov r8, qword [rsp + 0x138]
mov qword [0x14024a110], r8
test r8, r8
je 0x1400b02bd
mov rax, rdi
or rax, r8
shr rax, 0x20
je 0x1400af165
mov rax, rdi
xor edx, edx
div r8
mov rcx, rax
jmp 0x1400af16e
mov eax, edi
xor edx, edx
div r8d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, r8
shr rdx, 0x20
je 0x1400af188
xor edx, edx
div r8
jmp 0x1400af18d
xor edx, edx
div r8d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsp + 0x138], rdx
mov dword [rsp + 0x140], ecx
lea rcx, [rsp + 0x468]
lea rdx, [rsp + 0x138]
call fcn.14007ebc0
cmp edx, 0x3b9aca00
je 0x1400afa95
mov r14, rax
mov edi, edx
cmp qword [rsp + 0xb8], 1
je 0x1400af224
mov rax, r14
shr rax, 1
shr edi, 1
lea ecx, [rdi + 0x1dcd6500]
test r14b, 1
cmove ecx, edi
imul rdx, rcx, 0x44b82fa1
shr rdx, 0x3c
imul edx, edx, 0x3b9aca00
sub ecx, edx
mov edi, ecx
mov r14, rax
test r15b, 0xfb
jne 0x1400af300
cmp edi, 0x3b9aca00
mov dword [rsp + 0x4c], ebx
jne 0x1400af360
mov rbx, qword [rsp + 0x366]
cmp bp, 3
je 0x1400af530
mov eax, dword [rsp + 0x36e]
mov word [rsp + 0x138], bp
movzx ecx, word [rsp + 0x364]
lea rdx, [rsp + 0x148]
mov word [rdx - 0xa], cx
mov ecx, dword [rsp + 0x360]
mov dword [rdx - 0xe], ecx
mov qword [rsp + 0x140], rbx
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x3e]
mov word [rsp + 0x154], ax
movzx eax, word [rsp + 0x46]
mov word [rsp + 0x156], ax
lea rcx, [rsp + 0x468]
xor edx, edx
lea r8, [rsp + 0x138]
call fcn.14007d010
cmp qword [rsp + 0x468], 0
je 0x1400afb69
mov rbx, qword [rsp + 0x470]
test rsi, rsi
jne 0x1400af539
jmp 0x1400af050
movabs rbp, 0x8000000000000000
cmp qword [rsp + 0xe8], rbp
je 0x1400b02bd
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
je 0x1400af40b
js 0x1400b02bd
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, rdi
call fcn.140080d30
mov r14, rax
test rax, rax
jne 0x1400af411
jmp 0x1400b02bd
mov qword [rsp + 0xb0], rsi
mov esi, r15d
mov rax, qword [0x14024a0f0]
cmp rax, 3
jne 0x1400af82e
lea r15, [rsp + 0x138]
mov rcx, r15
mov edx, ebp
call fcn.140081150
cmp qword [rsp + 0x138], 0
mov rbx, qword [rsp + 0x140]
je 0x1400af3ba
mov r15d, esi
mov rsi, qword [rsp + 0xb0]
test rsi, rsi
jne 0x1400af539
jmp 0x1400af050
mov dword [rsp + 0x138], 1
mov rcx, rbx
mov edx, 0x8004667e
mov r8, r15
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400af5c0
mov rdx, r15
test bp, bp
je 0x1400af5dd
mov r8d, 0x1c
mov cx, 0x17
movups xmm0, xmmword [rsp + 0x362]
movzx eax, word [rsp + 0x3e]
mov r9d, dword [rsp + 0x4c]
jmp 0x1400af5fa
mov r14d, 1
mov rcx, r14
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov r15, rbp
cmp qword [rsp + 0x100], rbp
je 0x1400af47d
mov rbx, qword [rsp + 0x108]
mov r15, qword [rsp + 0x110]
test r15, r15
je 0x1400af462
js 0x1400b02bd
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, r15
call fcn.140080d30
test rax, rax
jne 0x1400af467
jmp 0x1400b02bd
mov eax, 1
mov qword [rsp + 0x348], rax
mov rcx, rax
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r13, rbp
cmp qword [rsp + 0x118], rbp
je 0x1400af4db
mov rbx, qword [rsp + 0x120]
mov r13, qword [rsp + 0x128]
test r13, r13
je 0x1400af4c0
js 0x1400b02bd
movzx eax, byte [0x14024a149]
xor ecx, ecx
mov rdx, r13
call fcn.140080d30
test rax, rax
jne 0x1400af4c5
jmp 0x1400b02bd
mov eax, 1
mov qword [rsp + 0x340], rax
mov rcx, rax
mov rdx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x350], rbp
je 0x1400b02bd
mov r8d, 0x17
mov cl, 0x27
lea rdx, str.SOCKS_feature_disabled.unknown_scheme_
call fcn.1400c84f0
mov rbx, rax
test rdi, rdi
je 0x1400af516
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
shl r15, 1
test r15, r15
jne 0x1400af582
shl r13, 1
test r13, r13
mov r15d, dword [rsp + 0x5c]
jne 0x1400af5a5
mov r13d, dword [rsp + 0x48]
test rsi, rsi
je 0x1400af050
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400af050
test rax, rax
je 0x1400af050
mov rdi, qword [rsi - 1]
mov r14, qword [rsi + 7]
mov rcx, rdi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400af034
cmp qword [r14 + 0x10], 0x11
jb 0x1400af023
mov rdi, qword [rdi - 8]
jmp 0x1400af023
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x348]
call sub.KERNEL32.dll_HeapFree
shl r13, 1
test r13, r13
mov r15d, dword [rsp + 0x5c]
je 0x1400af52b
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x340]
call sub.KERNEL32.dll_HeapFree
jmp 0x1400af52b
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov rsi, qword [rsp + 0xb0]
jmp 0x1400af80b
movzx eax, word [rsp + 0x364]
mov r9d, dword [rsp + 0x360]
mov r8d, 0x10
mov cx, 2
xorps xmm0, xmm0
mov r15d, esi
rol ax, 8
mov word [rsp + 0x138], cx
mov word [rsp + 0x13a], ax
mov dword [rsp + 0x13c], r9d
movups xmmword [rsp + 0x140], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x150], eax
mov rcx, rbx
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
mov rsi, qword [rsp + 0xb0]
je 0x1400af646
xor r13d, r13d
jmp 0x1400af656
call sub.ws2_32.dll_WSAGetLastError
mov r13d, eax
shl r13, 0x20
or r13, 2
mov dword [rsp + 0x138], 0
mov rcx, rbx
mov edx, 0x8004667e
lea r8, [rsp + 0x138]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x1400af78f
test r13, r13
je 0x1400afb78
mov rcx, r13
call fcn.1400ad140
cmp al, 0xd
jne 0x1400af808
test r14, r14
jne 0x1400af6ac
lea r15, str.cannot_set_a_0_duration_timeout
test edi, edi
je 0x1400af7a4
cmp r14, 0x7fffffff
mov eax, 0x7fffffff
cmovae r14, rax
mov eax, edi
imul rax, rax, 0x10624dd3
shr rax, 0x26
mov dword [rsp + 0x670], r14d
test r14, r14
mov ecx, eax
mov edx, 1
cmove ecx, edx
cmp edi, 0x3e8
cmovae ecx, eax
mov dword [rsp + 0x674], ecx
mov r8d, 0x1f8
lea rcx, [rsp + 0x148]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x468], 1
mov qword [rsp + 0x470], rbx
mov r8d, 0x1f8
lea rcx, [rsp + 0x478]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x138], 1
mov qword [rsp + 0x140], rbx
lea rax, [rsp + 0x670]
mov qword [rsp + 0x20], rax
mov ecx, 1
xor edx, edx
lea r8, [rsp + 0x468]
lea r9, [rsp + 0x138]
call sub.ws2_32.dll_select
lea r15, str.connection_timed_out
test eax, eax
je 0x1400af7a4
cmp eax, 0xffffffff
jne 0x1400af838
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
jmp 0x1400af7a4
call sub.ws2_32.dll_WSAGetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
test r13, r13
je 0x1400af80b
mov eax, r13d
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400af7fe
test rax, rax
je 0x1400af7fe
mov rdi, qword [r13 - 1]
mov r14, qword [r13 + 7]
mov rcx, rdi
call qword [r14]
cmp qword [r14 + 8], 0
je 0x1400af7ea
cmp qword [r14 + 0x10], 0x11
jb 0x1400af7d9
mov rdi, qword [rdi - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
dec r13
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, r13
call sub.KERNEL32.dll_HeapFree
test r15, r15
jne 0x1400af80b
jmp 0x1400afb73
mov r15, r13
mov rcx, rbx
call sub.ws2_32.dll_closesocket
mov rbx, r15
mov r13d, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x5c]
test rsi, rsi
jne 0x1400af539
jmp 0x1400af050
call fcn.14007ff80
jmp 0x1400af37c
cmp dword [rsp + 0x468], 1
jne 0x1400af84a
xor r15d, r15d
jmp 0x1400af7a4
mov rcx, rbx
call fcn.140081240
mov r15, rdx
test rax, rax
jne 0x1400af7a4
test r15, r15
jne 0x1400af7a4
jmp 0x1400af842
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x468], rax
lea rax, [0x140082540]
mov qword [rsp + 0x470], rax
lea rax, str.No_ip_address_for
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x468]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 1
lea rcx, [r12 + 8]
lea rdx, [rsp + 0x138]
call fcn.1400039a0
mov qword [r12], r15
mov qword [r12 + 0x20], r15
mov qword [r12 + 0x78], 0
mov byte [r12 + 0x88], 2
cmp qword [rsp + 0x78], 0
je 0x1400af9e0
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.KERNEL32.dll_HeapFree
jmp 0x1400af9e0
mov rbx, rsi
cmp qword [rsp + 0x78], 0
je 0x1400af93a
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.KERNEL32.dll_HeapFree
test rbx, rbx
movabs r15, 0x8000000000000000
mov rsi, qword [rsp + 0x60]
je 0x1400b02bd
movzx eax, byte [0x14024a149]
mov edx, 0xd
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400b02bd
movabs rcx, 0x726f727265207463
mov qword [rax + 5], rcx
movabs rcx, 0x207463656e6e6f43
mov qword [rax], rcx
mov qword [rsp + 0x140], 0xd
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 0xd
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 4
mov qword [rsp + 0x138], r15
lea rdx, [rsp + 0x138]
mov rcx, rsi
mov r8, rbx
call fcn.1400b42a0
cmp qword [rsp + 0xd0], 0
je 0x1400afa01
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xe8]
cmp rax, r15
je 0x1400afa79
test rax, rax
je 0x1400afa29
mov r8, qword [rsp + 0xf0]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x100]
cmp rax, r15
je 0x1400afa51
test rax, rax
je 0x1400afa51
mov r8, qword [rsp + 0x108]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0x118]
cmp rax, r15
je 0x1400afa79
test rax, rax
je 0x1400afa79
mov r8, qword [rsp + 0x120]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movaps xmm6, xmmword [rsp + 0x920]
add rsp, 0x938
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, byte [0x14024a149]
mov edx, 0x1a
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400b02bd
movups xmm0, xmmword [0x1401f0f39]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x1401f0f2f]
movups xmmword [rax], xmm0
mov qword [rsp + 0x138], 0x1a
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0x1a
lea rdx, [rsp + 0x138]
mov cl, 0x16
call fcn.1400c8410
movabs r15, 0x8000000000000000
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 8
mov qword [rsp + 0x138], r15
lea rdx, [rsp + 0x138]
mov rcx, qword [rsp + 0x60]
mov r8, rax
call fcn.1400b42a0
cmp qword [rsp + 0x78], 0
je 0x1400afb5b
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.KERNEL32.dll_HeapFree
test rsi, rsi
jne 0x1400afeb4
jmp 0x1400af9e0
mov rbx, qword [rsp + 0x470]
jmp 0x1400afb78
mov r15d, dword [rsp + 0x5c]
movzx eax, word [rsp + 0x370]
mov word [rsp + 0xa0], ax
movaps xmm0, xmmword [rsp + 0x360]
movaps xmmword [rsp + 0x90], xmm0
cmp qword [rsp + 0x78], 0
mov r14, qword [rsp + 0x60]
je 0x1400afbb8
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, qword [rsp + 0x70]
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x50], rbx
mov rax, qword [rsp + 0x80]
movzx eax, byte [rax + 0xcd]
mov dword [rsp + 0x138], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x138]
mov rcx, rbx
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x1400afd00
mov rbx, qword [rsp + 0x68]
mov edi, dword [rbx + 0x90]
cmp edi, 0x3b9aca00
jne 0x1400afd53
mov rdi, qword [rsp + 0x80]
mov rdx, qword [rdi + 0x88]
mov r8d, dword [rdi + 0x90]
mov rcx, qword [rsp + 0x50]
call fcn.140073c90
test rax, rax
jne 0x1400afe58
mov rdx, qword [rdi + 0x98]
mov r8d, dword [rdi + 0xa0]
mov rcx, qword [rsp + 0x50]
call fcn.140073d40
test rax, rax
jne 0x1400afe58
test r15b, r15b
je 0x1400aff1a
mov rax, qword [rsp + 0x50]
movzx ecx, word [rsp + 0xa0]
mov word [r14 + 0x22], cx
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [r14 + 0x12], xmm0
mov ecx, dword [rsp + 0x4c]
mov dword [r14 + 0x24], ecx
mov ecx, dword [rsp + 0x40]
mov dword [r14 + 0x28], ecx
movzx ecx, word [rsp + 0x3e]
mov word [r14 + 0x2c], cx
movzx ecx, word [rsp + 0x46]
mov word [r14 + 0x2e], cx
mov qword [r14 + 8], rax
mov word [r14 + 0x10], bp
movabs rax, 0x8000000000000000
inc rax
mov qword [r14], rax
mov rcx, rsi
call fcn.1400b05b0
cmp qword [rsp + 0xd0], 0
je 0x1400afcee
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rcx, [rsp + 0xe8]
call fcn.1400b0630
jmp 0x1400afa79
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
lea r8, [rax + 2]
movabs r15, 0x8000000000000000
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 8
mov qword [rsp + 0x138], r15
lea rdx, [rsp + 0x138]
mov rcx, r14
jmp 0x1400afe9c
mov rbx, qword [rbx + 0x88]
mov qword [rsp + 0x468], rbx
mov dword [rsp + 0x470], edi
call fcn.140082060
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], edx
lea rcx, [rsp + 0x468]
lea rdx, [rsp + 0x138]
call fcn.14007ebc0
cmp edx, 0x3b9aca00
jne 0x1400afdfc
movzx eax, byte [0x14024a149]
mov edx, 0x1a
xor ecx, ecx
call fcn.140080d30
test rax, rax
je 0x1400b02bd
movups xmm0, xmmword [0x1401f0f39]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x1401f0f2f]
movups xmmword [rax], xmm0
mov qword [rsp + 0x138], 0x1a
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], 0x1a
lea rdx, [rsp + 0x138]
mov cl, 0x16
call fcn.1400c8410
jmp 0x1400afe58
mov r8d, edx
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140073c90
test rax, rax
jne 0x1400afe58
lea rcx, [rsp + 0x138]
mov rdx, rbx
mov r8d, edi
call fcn.1400b0440
mov r8d, dword [rsp + 0x140]
mov rax, qword [rsp + 0x138]
cmp r8d, 0x3b9aca00
je 0x1400afe58
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140073d40
test rax, rax
mov rbx, qword [rsp + 0x68]
je 0x1400afc60
movabs r15, 0x8000000000000000
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 8
mov qword [rsp + 0x138], r15
lea rdx, [rsp + 0x138]
mov rcx, r14
mov r8, rax
call fcn.1400b42a0
mov rcx, qword [rsp + 0x50]
call sub.ws2_32.dll_closesocket
test rsi, rsi
je 0x1400af9e0
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x1400af9e0
test rax, rax
je 0x1400af9e0
lea rdi, [rsi - 1]
mov rbx, qword [rsi - 1]
mov rsi, qword [rsi + 7]
mov rcx, rbx
call qword [rsi]
cmp qword [rsi + 8], 0
je 0x1400aff04
cmp qword [rsi + 0x10], 0x11
jb 0x1400afef3
mov rbx, qword [rbx - 8]
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x14024a138]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
jmp 0x1400af9e0
mov r8d, dword [rbx + 0x44]
test r8, r8
je 0x1400afc69
mov rcx, qword [rbx + 0x20]
cmp qword [rbx + 0x28], r8
jbe 0x1400aff3d
cmp byte [rcx + r8], 0xbf
jg 0x1400aff43
jmp 0x1400b02bd
jne 0x1400b02bd
cmp r8d, 5
jne 0x1400afc69
lea rdx, [0x140206e14]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400afc69
movabs rax, 0x8000000000000000
cmp qword [rsp + 0xe8], rax
je 0x1400afc69
mov r8, qword [rsp + 0xc0]
mov r9, qword [rsp + 0xc8]
movzx eax, word [rsp + 0x9a0]
mov rcx, qword [rsp + 0x80]
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x20], ax
lea rdx, [rsp + 0xe8]
lea rdi, [rsp + 0x468]
mov rcx, rdi
call fcn.1400ca530
mov qword [rsp + 0x360], rdi
lea rax, [0x140054170]
mov qword [rsp + 0x368], rax
lea rax, str.incomplete_frameInvalid_checksumfailed_to_fill_whole_buffer
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x360]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 1
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x138]
call fcn.1400bcf60
test rax, rax
jne 0x1400b02bd
cmp qword [rsp + 0x468], 0
je 0x1400b0055
mov r8, qword [rsp + 0x470]
mov rcx, qword [0x14024a138]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x138]
call fcn.140074480
cmp qword [rsp + 0x138], 0
mov rdi, qword [rsp + 0x140]
je 0x1400b00c3
movabs r15, 0x8000000000000000
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 8
mov qword [rsp + 0x138], r15
lea rdx, [rsp + 0x138]
mov rcx, r14
mov r8, rdi
jmp 0x1400afe9c
mov r8d, dword [rbx + 0x44]
mov rdx, qword [rbx + 0x20]
test r8, r8
je 0x1400b00f2
cmp qword [rbx + 0x28], r8
jbe 0x1400b00e7
cmp byte [rdx + r8], 0xbf
mov rbx, qword [rsp + 0x68]
jg 0x1400b00f2
jmp 0x1400b02bd
mov rbx, qword [rsp + 0x68]
jne 0x1400b02bd
mov r9, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xc8]
movzx ecx, word [rsp + 0x9a0]
mov word [rsp + 0x28], cx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x7b0]
call fcn.1400c07e0
mov rcx, qword [rbx + 0xa0]
jmp 0x1400b012c
pause
mov rax, qword [rcx + 8]
cmp rax, 0xffffffffffffffff
je 0x1400b012a
test rax, rax
js 0x1400b02bd
lea rdx, [rax + 1]
lock cmpxchg qword [rcx + 8], rdx
jne 0x1400b0130
mov qword [rsp + 0x720], rcx
lea rcx, [rsp + 0x728]
lea rdx, [rsp + 0x7b0]
mov r8d, 0x88
call sub.msvcrt.dll_memcpy
mov word [rsp + 0x138], bp
movaps xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x13a], xmm0
movzx eax, word [rsp + 0xa0]
mov word [rsp + 0x14a], ax
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x3e]
mov word [rsp + 0x154], ax
movzx eax, word [rsp + 0x46]
mov word [rsp + 0x156], ax
lea rbx, [rsp + 0x838]
lea r8, [rsp + 0x138]
lea r9, [rsp + 0x720]
mov rcx, rbx
mov rdx, rdi
call fcn.1400b0310
lea rdi, [rsp + 0x670]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
call fcn.1400b06b0
lea rcx, [rsp + 0x138]
mov rdx, rbx
mov r8, rdi
call fcn.1400a8ca0
mov rbx, qword [rsp + 0x138]
movabs rax, 0x8000000000000000
inc rax
lea rdx, [rsp + 0x140]
lea rdi, [rsp + 0x468]
mov r8d, 0x108
mov rcx, rdi
cmp rbx, rax
jne 0x1400b02bf
call sub.msvcrt.dll_memcpy
lea rcx, [rsp + 0x360]
mov r8d, 0x108
mov rdx, rdi
call sub.msvcrt.dll_memcpy
movzx ecx, word [rsp + 0x460]
cmp ecx, 0xc8
je 0x1400b02ed
cmp ecx, 0x191
je 0x1400b0281
mov al, 0xa
cmp ecx, 0x197
jne 0x1400b0283
mov al, 0xb
movabs r15, 0x8000000000000000
mov rcx, qword [rsp + 0x60]
mov qword [rcx], r15
mov qword [rcx + 8], r15
mov qword [rcx + 0x20], r15
mov qword [rcx + 0x78], 0
mov byte [rcx + 0x88], al
lea rcx, [rsp + 0x360]
call fcn.1400a5660
jmp 0x1400afea1
ud2
call sub.msvcrt.dll_memcpy
mov r14, qword [rsp + 0x60]
lea rcx, [r14 + 8]
mov r8d, 0x108
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov qword [r14], rbx
movabs r15, 0x8000000000000000
jmp 0x1400afea1
lea rcx, [rsp + 0x360]
call fcn.1400a5660
mov r14, qword [rsp + 0x60]
jmp 0x1400afc69
call sub.KERNEL32.dll_GetLastError
ud2