Function at 0x14018ff60
Capabilities:
Connect socket
Enumerate pe sections
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 r12, rdx
mov r14, rcx
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], r9
mov r13, qword [rdx + 0x98]
mov esi, dword [r13 + 0x80]
cmp esi, 0x3b9aca00
jne 0x14018ffc1
mov rax, qword [r12 + 0x88]
mov qword [rsp + 0xa0], rax
mov eax, dword [r12 + 0x90]
jmp 0x14018ffff
mov rdi, qword [r13 + 0x78]
call fcn.1401482e0
add rax, rdi
mov qword [rsp + 0xa0], rax
jae 0x14018ffde
mov eax, 0x3b9aca00
jmp 0x14018ffff
add edx, esi
cmp edx, 0x3b9aca00
jb 0x14018fffd
inc qword [rsp + 0xa0]
mov eax, 0x3b9aca00
je 0x14018ffff
add edx, 0xc4653600
mov eax, edx
mov dword [rsp + 0xc4], eax
movabs r15, 0x8000000000000000
cmp qword [r13 + 0x28], r15
mov qword [rsp + 0x88], r13
jne 0x1401900c5
mov qword [rsp + 0xc8], r15
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x360], rax
lea rax, [0x1401a0410]
mov qword [rsp + 0x368], rax
lea rax, [rsp + 0x9a0]
mov qword [rsp + 0x370], rax
lea rax, [0x140040b60]
mov qword [rsp + 0x378], rax
lea rax, [0x141ab32c0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 2
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x360]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 2
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x138]
call fcn.140034eb0
jmp 0x14019030c
mov rbx, qword [r13 + 0x30]
mov rsi, qword [r13 + 0x38]
test rsi, rsi
je 0x1401900fa
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rsi
call fcn.140146820
test rax, rax
je 0x140191662
mov rdi, rax
mov rbp, rsi
jmp 0x140190101
mov edi, 1
xor ebp, ebp
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov edx, dword [r13 + 0x70]
cmp qword [r13 + 0x40], r15
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], edx
jne 0x140190138
mov r14, r15
cmp qword [r13 + 0x58], r15
mov qword [rsp + 0x60], r12
jne 0x14019019e
mov r13, r15
jmp 0x1401901fb
mov r15, qword [r13 + 0x48]
mov rbx, qword [r13 + 0x50]
test rbx, rbx
je 0x14019016d
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
test rax, rax
je 0x140191662
mov rcx, rax
mov r14, rbx
jmp 0x140190175
mov ecx, 1
xor r14d, r14d
mov qword [rsp + 0x70], rcx
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
movabs r15, 0x8000000000000000
mov edx, dword [rsp + 0x48]
cmp qword [r13 + 0x58], r15
mov qword [rsp + 0x60], r12
je 0x140190130
mov rax, r13
mov qword [rsp + 0x68], r14
mov r14, qword [r13 + 0x60]
mov r15, qword [r13 + 0x68]
test r15, r15
je 0x1401901db
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r15
call fcn.140146820
test rax, rax
je 0x140191662
mov r12, rax
mov r13, r15
jmp 0x1401901e4
mov r12d, 1
xor r13d, r13d
mov rcx, r12
mov rdx, r14
mov r8, r15
call sub.msvcrt.dll_memcpy
mov edx, dword [rsp + 0x48]
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0x74]
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xd8], rsi
mov r8, qword [rsp + 0x70]
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], r15
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xf8], r13
lea rcx, [rsp + 0x110]
mov dword [rsp + 0x110], edx
mov byte [rsp + 0x114], al
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x360], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x368], rax
mov qword [rsp + 0x370], rcx
lea rax, [0x140040d90]
mov qword [rsp + 0x378], rax
lea rax, [0x141ab32c0]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 2
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x360]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 2
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x138]
call fcn.140034eb0
movabs r15, 0x8000000000000000
mov r14, qword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
mov rax, qword [r12 + 0xa0]
mov rdi, qword [rax + 0x28]
mov rsi, qword [rax + 0x30]
lock inc qword [rdi]
jle 0x140191662
mov rax, qword [rsi + 0x10]
dec rax
and rax, 0xfffffffffffffff0
lea rdx, [rdi + rax]
add rdx, 0x10
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x130]
lea rcx, [rsp + 0x568]
call qword [rsi + 0x18]
mov rax, qword [rsp + 0x568]
mov rbx, qword [rsp + 0x570]
mov qword [rsp + 0x80], rax
cmp rax, r15
jne 0x140190472
lea rax, [rsp + 0x120]
mov qword [rsp + 0x670], rax
lea rax, [0x140001a60]
mov qword [rsp + 0x678], rax
lea rax, [0x141a9f6b8]
mov qword [rsp + 0x360], rax
mov qword [rsp + 0x368], 2
mov qword [rsp + 0x380], 0
lea rax, [rsp + 0x670]
mov qword [rsp + 0x370], rax
mov qword [rsp + 0x378], 1
lea rcx, [rsp + 0x140]
lea rdx, [rsp + 0x360]
call fcn.140034eb0
mov qword [rsp + 0x158], r15
mov qword [rsp + 0x1b0], 0
mov byte [rsp + 0x1c0], 2
mov qword [rsp + 0x138], r15
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x138]
mov r8, rbx
call fcn.1401ade80
movaps xmm6, xmmword [rsp + 0x370]
lea rdx, [rsp + 0x380]
lea rcx, [r14 + 0x20]
mov r8d, 0xf0
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x360]
movups xmmword [r14 + 0x10], xmm6
movups xmmword [r14], xmm0
lock dec qword [rdi]
jne 0x140190e03
mov rcx, rdi
mov rdx, rsi
call fcn.14019a660
jmp 0x140190e03
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x578]
mov qword [rsp + 0x118], rax
lock dec qword [rdi]
jne 0x140190498
mov rcx, rdi
mov rdx, rsi
call fcn.14019a660
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x140190c95
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x40], r14
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x340], rax
cmp rax, r15
sete al
movzx ecx, byte [rsp + 0x114]
shl rdx, 5
mov r12, qword [rsp + 0x78]
add rdx, r12
mov qword [rsp + 0x358], rdx
mov byte [rsp + 0x4f], cl
test cl, cl
sete cl
or cl, al
mov byte [rsp + 0x3d], cl
xor edi, edi
jmp 0x140190532
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
dec rsi
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
nop dword [rax]
add r12, 0x20
cmp r12, qword [rsp + 0x358]
je 0x140190d49
mov rsi, rdi
movzx ebp, word [r12]
cmp bp, 2
je 0x140190d46
mov eax, dword [r12 + 2]
movzx r13d, word [r12 + 6]
shl r13, 0x20
or r13, rax
mov rdi, qword [r12 + 8]
mov eax, dword [r12 + 0x10]
mov dword [rsp + 0x48], eax
mov eax, dword [r12 + 0x14]
mov dword [rsp + 0x70], eax
mov eax, dword [r12 + 0x18]
mov dword [rsp + 0x68], eax
movzx eax, word [r12 + 0x1c]
mov word [rsp + 0x3e], ax
movzx eax, word [r12 + 0x1e]
mov word [rsp + 0x4c], ax
mov ecx, dword [rsp + 0xc4]
cmp ecx, 0x3b9aca00
jne 0x1401905b0
cmp byte [rsp + 0x3d], 0
jne 0x140190637
jmp 0x1401906e0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x360], rax
mov dword [rsp + 0x368], ecx
call fcn.1401482e0
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], edx
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x138]
call fcn.1401483c0
cmp edx, 0x3b9aca00
je 0x140190eb8
mov r14, rax
mov ebx, edx
cmp qword [rsp + 0x118], 1
je 0x140190620
shr ebx, 1
lea eax, [rbx + 0x1dcd6500]
test r14b, 1
cmove eax, ebx
shr r14, 1
mov ebx, eax
cmp byte [rsp + 0x3d], 0
je 0x1401906e0
cmp ebx, 0x3b9aca00
jne 0x14019078e
cmp bp, 3
je 0x1401908f9
mov word [rsp + 0x138], bp
mov dword [rsp + 0x13a], r13d
mov rax, r13
shr rax, 0x20
mov word [rsp + 0x13e], ax
mov qword [rsp + 0x140], rdi
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x3e]
mov word [rsp + 0x154], ax
movzx eax, word [rsp + 0x4c]
mov word [rsp + 0x156], ax
xor ecx, ecx
lea rdx, [rsp + 0x138]
call fcn.140150ee0
mov rcx, rdi
mov rdi, rdx
test rax, rax
je 0x140190f80
test rdi, rdi
lea rax, [0x141ab39e0]
cmove rdi, rax
test rsi, rsi
jne 0x140190902
jmp 0x140190520
cmp qword [rsp + 0xc8], r15
je 0x140191662
mov rdi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
test rbx, rbx
je 0x140190728
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, rbx
call fcn.140146820
test rax, rax
je 0x140191662
mov r14, rax
jmp 0x14019072e
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rbp, r15
cmp qword [rsp + 0xe0], r15
je 0x14019084d
mov rdi, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
test r13, r13
je 0x140190830
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r13
call fcn.140146820
test rax, rax
je 0x140191662
mov rbp, r13
jmp 0x140190837
mov qword [rsp + 0x98], rdi
mov rax, qword [0x141af8100]
cmp rax, 3
jne 0x140190c54
mov ecx, ebp
call fcn.140157f70
mov rdi, rdx
test rax, rax
jne 0x1401908f9
mov dword [rsp + 0x138], 1
mov rcx, rdi
mov edx, 0x8004667e
lea r8, [rsp + 0x138]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140190994
mov rax, r13
test bp, bp
je 0x1401909a9
shr rax, 0x10
mov dword [rsp + 0x360], eax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x364], rax
movzx eax, word [rsp + 0x3e]
rol ax, 8
mov r8d, 0x1c
mov cx, 0x17
mov r9d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x68]
mov edx, dword [rsp + 0x70]
jmp 0x1401909da
mov eax, 1
xor ebp, ebp
mov qword [rsp + 0x350], rax
mov rcx, rax
mov rdx, rdi
mov r8, r13
call sub.msvcrt.dll_memcpy
mov r13, r15
cmp qword [rsp + 0xf8], r15
je 0x1401908bc
mov rdi, qword [rsp + 0x100]
mov r15, qword [rsp + 0x108]
test r15, r15
je 0x140190894
js 0x140191662
movzx eax, byte [0x141af8129]
xor ecx, ecx
mov rdx, r15
call fcn.140146820
test rax, rax
je 0x140191662
mov r13, r15
jmp 0x14019089c
mov eax, 1
xor r13d, r13d
mov qword [rsp + 0x348], rax
mov rcx, rax
mov rdx, rdi
mov r8, r15
call sub.msvcrt.dll_memcpy
movabs r15, 0x8000000000000000
mov r8d, 0x17
mov cl, 0x27
lea rdx, [0x141a9f6d8]
call fcn.1401a4410
mov rdi, rax
test rbx, rbx
je 0x1401908e9
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
shl rbp, 1
test rbp, rbp
jne 0x140190952
shl r13, 1
test r13, r13
jne 0x140190970
test rsi, rsi
je 0x140190520
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140190520
test rax, rax
je 0x140190520
mov rbx, qword [rsi - 1]
mov r14, qword [rsi + 7]
mov rax, qword [r14]
test rax, rax
je 0x140190933
mov rcx, rbx
call rax
cmp qword [r14 + 8], 0
je 0x140190509
cmp qword [r14 + 0x10], 0x11
jb 0x1401904f8
mov rbx, qword [rbx - 8]
jmp 0x1401904f8
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x350]
call sub.KERNEL32.dll_HeapFree
shl r13, 1
test r13, r13
je 0x1401908f9
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x348]
call sub.KERNEL32.dll_HeapFree
test rsi, rsi
jne 0x140190902
jmp 0x140190520
call sub.ws2_32.dll_WSAGetLastError
mov r8d, eax
shl r8, 0x20
or r8, 2
jmp 0x140190c28
shr rax, 0x20
rol ax, 8
mov qword [rsp + 0x360], 0
mov r8d, 0x10
mov cx, 2
mov edx, r13d
mov r9d, dword [rsp + 0xc0]
mov r10d, dword [rsp + 0xbc]
mov word [rsp + 0x138], cx
mov word [rsp + 0x13a], ax
mov dword [rsp + 0x13c], edx
mov eax, dword [rsp + 0x368]
lea rcx, [rsp + 0x140]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x360]
mov qword [rcx], rax
mov dword [rsp + 0xc0], r9d
mov dword [rsp + 0x14c], r9d
mov dword [rsp + 0xbc], r10d
mov dword [rsp + 0x150], r10d
mov rcx, rdi
lea rdx, [rsp + 0x138]
call sub.ws2_32.dll_connect
cmp eax, 0xffffffff
je 0x140190a47
xor eax, eax
jmp 0x140190a54
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x138], 0
mov rcx, rdi
mov edx, 0x8004667e
lea r8, [rsp + 0x138]
call sub.ws2_32.dll_ioctlsocket
cmp eax, 0xffffffff
je 0x140190b99
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140190f88
call case.0x14015769d.117
cmp al, 0xd
jne 0x140190c4d
test r14, r14
jne 0x140190ab1
lea r8, [0x141a7b1c0]
test ebx, ebx
je 0x140190bb1
cmp r14, 0x7fffffff
mov eax, 0x7fffffff
cmovae r14, rax
mov eax, ebx
imul rax, rax, 0x10624dd3
shr rax, 0x26
mov dword [rsp + 0x568], r14d
test r14, r14
mov ecx, eax
mov edx, 1
cmove ecx, edx
cmp ebx, 0x3e8
cmovae ecx, eax
mov dword [rsp + 0x56c], ecx
mov r8d, 0x1f8
lea rcx, [rsp + 0x148]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x360], 1
mov qword [rsp + 0x368], rdi
mov r8d, 0x1f8
lea rcx, [rsp + 0x370]
xor edx, edx
call sub.msvcrt.dll_memset
mov qword [rsp + 0x138], 1
mov qword [rsp + 0x140], rdi
lea rax, [rsp + 0x568]
mov qword [rsp + 0x20], rax
mov ecx, 1
xor edx, edx
lea r8, [rsp + 0x360]
lea r9, [rsp + 0x138]
call sub.ws2_32.dll_select
lea r8, [0x141a7b1f0]
test eax, eax
mov rdx, qword [rsp + 0x50]
je 0x140190bb6
cmp eax, 0xffffffff
jne 0x140190c5e
call sub.ws2_32.dll_WSAGetLastError
mov r8d, eax
shl r8, 0x20
or r8, 2
jmp 0x140190bb1
call sub.ws2_32.dll_WSAGetLastError
mov r8d, eax
shl r8, 0x20
or r8, 2
cmp qword [rsp + 0x50], 0
je 0x140190c28
mov rdx, qword [rsp + 0x50]
mov eax, edx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140190c28
test rax, rax
je 0x140190c28
mov qword [rsp + 0x90], r8
mov rbx, qword [rdx - 1]
mov r14, qword [rdx + 7]
mov rax, qword [r14]
test rax, rax
je 0x140190be7
mov rcx, rbx
call rax
cmp qword [r14 + 8], 0
je 0x140190c0a
cmp qword [r14 + 0x10], 0x11
jb 0x140190bf9
mov rbx, qword [rbx - 8]
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0x50]
dec r8
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov r8, qword [rsp + 0x90]
mov rbx, r8
test r8, r8
je 0x140190f88
mov rcx, rdi
call sub.ws2_32.dll_closesocket
mov rdi, rbx
test rsi, rsi
jne 0x140190902
jmp 0x140190520
mov rbx, qword [rsp + 0x50]
jmp 0x140190c34
call fcn.140156380
jmp 0x1401907a7
cmp dword [rsp + 0x360], 1
jne 0x140190c70
xor r8d, r8d
jmp 0x140190bb6
mov rcx, rdi
call fcn.140158060
mov r8, rdx
test rax, rax
jne 0x140190bb1
test r8, r8
jne 0x140190bb1
xor r8d, r8d
jmp 0x140190bb1
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x360], rax
lea rax, [0x1401a0410]
mov qword [rsp + 0x368], rax
lea rax, [0x141a9f688]
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, [r14 + 8]
lea rdx, [rsp + 0x138]
call fcn.140034eb0
mov qword [r14], r15
mov qword [r14 + 0x20], r15
mov qword [r14 + 0x78], 0
mov byte [r14 + 0x88], 2
cmp qword [rsp + 0x80], 0
je 0x140190e03
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.KERNEL32.dll_HeapFree
jmp 0x140190e03
mov rdi, rsi
cmp qword [rsp + 0x80], 0
je 0x140190d67
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.KERNEL32.dll_HeapFree
test rdi, rdi
mov rsi, qword [rsp + 0x40]
je 0x140191662
movzx eax, byte [0x141af8129]
mov edx, 0xd
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x140191662
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, rdi
call fcn.1401ade80
cmp qword [rsp + 0x120], 0
je 0x140190e24
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xc8]
cmp rax, r15
je 0x140190e9c
test rax, rax
je 0x140190e4c
mov r8, qword [rsp + 0xd0]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xe0]
cmp rax, r15
je 0x140190e74
test rax, rax
je 0x140190e74
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xf8]
cmp rax, r15
je 0x140190e9c
test rax, rax
je 0x140190e9c
mov r8, qword [rsp + 0x100]
mov rcx, qword [0x141af8068]
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 [0x141af8129]
mov edx, 0x1a
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x140191662
movups xmm0, xmmword [0x141a9f3c9]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x141a9f3bf]
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.1401a45f0
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 + 0x40]
mov r8, rax
call fcn.1401ade80
cmp qword [rsp + 0x80], 0
mov r8, qword [rsp + 0x78]
je 0x1401911f3
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x1401911f3
mov qword [rsp + 0x98], rcx
cmp qword [rsp + 0x80], 0
mov r14, qword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
je 0x140190fab
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov qword [rsp + 0x58], rdi
mov rax, qword [rsp + 0x88]
movzx eax, byte [rax + 0xcd]
mov dword [rsp + 0x138], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x138]
mov rcx, rdi
mov edx, 6
mov r8d, 1
call sub.ws2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x14019109b
mov edi, dword [r14 + 0x90]
cmp edi, 0x3b9aca00
jne 0x1401910e6
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rdi + 0x88]
mov r8d, dword [rdi + 0x90]
mov rcx, qword [rsp + 0x58]
call fcn.14014c410
test rax, rax
jne 0x1401911a8
mov rdx, qword [rdi + 0x98]
mov r8d, dword [rdi + 0xa0]
mov rcx, qword [rsp + 0x58]
call fcn.14014c4c0
test rax, rax
jne 0x1401911a8
cmp qword [rsp + 0x340], r15
mov rdi, qword [rsp + 0x98]
je 0x14019167e
cmp byte [rsp + 0x4f], 0
jne 0x14019167e
mov r8d, dword [r14 + 0x44]
test r8, r8
je 0x14019167e
mov rcx, qword [r14 + 0x20]
cmp qword [r14 + 0x28], r8
jbe 0x1401912ba
cmp byte [rcx + r8], 0xbf
jg 0x1401912c0
jmp 0x140191662
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
lea r8, [rax + 2]
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 + 0x40]
jmp 0x1401911e4
mov rbx, qword [r14 + 0x88]
mov qword [rsp + 0x360], rbx
mov dword [rsp + 0x368], edi
call fcn.1401482e0
mov qword [rsp + 0x138], rax
mov dword [rsp + 0x140], edx
lea rcx, [rsp + 0x360]
lea rdx, [rsp + 0x138]
call fcn.1401483c0
cmp edx, 0x3b9aca00
jne 0x14019118f
movzx eax, byte [0x141af8129]
mov edx, 0x1a
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x140191662
movups xmm0, xmmword [0x141a9f3c9]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [0x141a9f3bf]
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.1401a45f0
jmp 0x1401911a8
mov r8d, edx
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call fcn.14014c410
test rax, rax
je 0x140191269
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 + 0x40]
mov r8, rax
call fcn.1401ade80
mov rcx, qword [rsp + 0x58]
call sub.ws2_32.dll_closesocket
test rsi, rsi
je 0x140190e03
mov eax, esi
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x140190e03
test rax, rax
je 0x140190e03
mov rdi, qword [rsi - 1]
mov rbx, qword [rsi + 7]
mov rax, qword [rbx]
test rax, rax
je 0x14019122d
mov rcx, rdi
call rax
dec rsi
cmp qword [rbx + 8], 0
je 0x140191253
cmp qword [rbx + 0x10], 0x11
jb 0x140191242
mov rdi, qword [rdi - 8]
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x140190e03
lea rcx, [rsp + 0x138]
mov rdx, rbx
mov r8d, edi
call fcn.140191840
mov r8d, dword [rsp + 0x140]
cmp r8d, 0x3b9aca00
jne 0x14019129a
mov r8, qword [rsp + 0x138]
jmp 0x1401910a8
mov rdx, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x58]
call fcn.14014c4c0
test rax, rax
jne 0x1401911a8
jmp 0x14019104f
jne 0x140191662
cmp r8d, 5
jne 0x14019167e
lea rdx, [0x141ab4f8c]
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14019167e
cmp qword [rsp + 0xc8], r15
je 0x14019167e
mov r14, rdi
mov rax, qword [rsp + 0x88]
movups xmm0, xmmword [rax + 0x18]
mov r8, qword [rsp + 0xa8]
mov r9, qword [rsp + 0xb0]
movzx eax, word [rsp + 0x9a0]
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x20], ax
lea rdx, [rsp + 0xc8]
lea rdi, [rsp + 0x360]
mov rcx, rdi
call fcn.1401a8280
mov qword [rsp + 0x568], rdi
lea rax, [0x140001a60]
mov qword [rsp + 0x570], rax
lea rax, [0x141ab5c80]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 1
mov qword [rsp + 0x158], 0
lea rax, [rsp + 0x568]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 1
lea rcx, [rsp + 0x58]
lea rdx, [rsp + 0x138]
call fcn.14019e0d0
test rax, rax
jne 0x140191662
cmp qword [rsp + 0x360], 0
je 0x1401913cb
mov r8, qword [rsp + 0x368]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [rsp + 0x58]
call fcn.14014c2f0
mov rdi, rdx
test rax, rax
je 0x140191428
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 + 0x40]
mov r8, rdi
jmp 0x1401911e4
mov rax, qword [rsp + 0x60]
mov r8d, dword [rax + 0x44]
mov rdx, qword [rax + 0x20]
test r8, r8
je 0x140191457
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x28], r8
jbe 0x140191451
cmp byte [rdx + r8], 0xbf
jg 0x140191457
jmp 0x140191662
jne 0x140191662
mov r9, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
movzx ecx, word [rsp + 0x9a0]
mov word [rsp + 0x28], cx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x7b0]
call fcn.1401a6100
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0xa0]
jmp 0x140191496
pause
mov rax, qword [rcx + 8]
cmp rax, 0xffffffffffffffff
je 0x140191494
test rax, rax
js 0x140191662
lea rdx, [rax + 1]
lock cmpxchg qword [rcx + 8], rdx
jne 0x14019149a
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
mov rax, r13
shr rax, 0x20
mov word [rsp + 0x13e], ax
mov dword [rsp + 0x13a], r13d
mov qword [rsp + 0x140], r14
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x148], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x14c], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x3e]
mov word [rsp + 0x154], ax
movzx eax, word [rsp + 0x4c]
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.140191710
lea rdi, [rsp + 0x670]
mov rcx, rdi
mov rdx, qword [rsp + 0x60]
call fcn.1401919f0
lea rcx, [rsp + 0x138]
mov rdx, rbx
mov r8, rdi
call fcn.14018b4e0
mov rdi, qword [rsp + 0x138]
movabs rax, 0x8000000000000000
lea rbx, [rax + 1]
lea rdx, [rsp + 0x140]
lea rcx, [rsp + 0x360]
mov r8d, 0x108
call sub.msvcrt.dll_memcpy
cmp rdi, rbx
jne 0x140191634
lea rcx, [rsp + 0x568]
lea rdx, [rsp + 0x360]
mov r8d, 0x108
call sub.msvcrt.dll_memcpy
movzx ecx, word [rsp + 0x668]
cmp ecx, 0xc8
je 0x140191664
cmp ecx, 0x191
je 0x1401915f8
mov al, 0xa
cmp ecx, 0x197
jne 0x1401915fa
mov al, 0xb
movabs r15, 0x8000000000000000
mov rcx, qword [rsp + 0x40]
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 + 0x568]
call fcn.1400016b0
jmp 0x1401911e9
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx + 8]
lea rdx, [rsp + 0x360]
mov r8d, 0x108
call sub.msvcrt.dll_memcpy
mov qword [rbx], rdi
movabs r15, 0x8000000000000000
jmp 0x1401911e9
ud2
lea rcx, [rsp + 0x568]
call fcn.1400016b0
movabs r15, 0x8000000000000000
mov rdi, r14
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x12], r13d
shr r13, 0x20
mov word [rcx + 0x16], r13w
mov qword [rcx + 0x18], rdi
mov edx, dword [rsp + 0x48]
mov dword [rcx + 0x20], edx
mov edx, dword [rsp + 0x70]
mov dword [rcx + 0x24], edx
mov edx, dword [rsp + 0x68]
mov dword [rcx + 0x28], edx
movzx edx, word [rsp + 0x3e]
mov word [rcx + 0x2c], dx
movzx edx, word [rsp + 0x4c]
mov word [rcx + 0x2e], dx
mov qword [rcx + 8], rax
mov word [rcx + 0x10], bp
inc r15
mov qword [rcx], r15
mov rcx, rsi
call fcn.1401918e0
cmp qword [rsp + 0x120], 0
je 0x1401916f7
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x141af8068]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rcx, [rsp + 0xc8]
call fcn.140191970
jmp 0x140190e9c