Function at 0x14004b2d4
Capabilities:
Connect socket
Get socket status

Disassembly:
mov r11, rsp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x960
mov rax, qword [0x1400f8010]
xor rax, rsp
mov qword [rsp + 0x950], rax
mov r14, r8
mov r12, rdx
mov rbx, rcx
mov qword [rsp + 0x50], rcx
mov qword [r11 - 0x548], rdx
mov qword [r11 - 0x550], r8
xor esi, esi
mov dword [rsp + 0x30], esi
lea rax, [rcx + 0x28]
mov qword [r11 - 0x638], rax
cmp qword [rax], 0xffffffffffffffff
je 0x14004b6d8
mov qword [r11 - 0x540], rsi
mov qword [r11 - 0x530], rsi
mov qword [r11 - 0x528], rsi
mov qword [r11 - 0x530], rsi
lea edi, [rsi + 0xf]
mov qword [r11 - 0x528], rdi
mov byte [rsp + 0x458], sil
lea r15d, [rsi + 4]
mov qword [r11 - 0x530], r15
mov dword [rsp + 0x458], 0x3b474e50
mov byte [rsp + 0x45c], sil
mov rax, qword [rcx]
lea rdx, [r11 - 0x540]
call qword [rax + reloc.WS2_32.dll_recv]
test al, al
je 0x14004b63a
mov qword [rsp + 0x478], rsi
mov qword [rsp + 0x488], rsi
mov qword [rsp + 0x490], rsi
mov qword [rsp + 0x488], rsi
lea r13d, [rsi + 7]
mov qword [rsp + 0x490], r13
mov word [rsp + 0x478], si
mov rax, qword [rbx]
lea r8, [rsp + 0x478]
mov dl, Ordinal_60
mov rcx, rbx
call qword [rax + Ordinal_26]
lea rcx, [rsp + 0x478]
call fcn.140049808
lea r9, str.PONG
mov r8d, r15d
lea rcx, [rsp + 0x478]
call fcn.140010250
nop
mov r15d, 0x1000
test eax, eax
jne 0x14004b595
mov rdx, qword [rsp + 0x490]
cmp rdx, 8
jb 0x14004b463
lea rdx, [rdx*2 + 2]
mov qword [rsp + 0x188], rdx
mov rcx, qword [rsp + 0x478]
mov rax, rcx
cmp rdx, r15
jb 0x14004b45e
add rdx, 0x27
mov qword [rsp + 0x188], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b45e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14007721c
mov qword [rsp + 0x488], rsi
mov qword [rsp + 0x490], r13
mov word [rsp + 0x478], si
mov rdx, qword [rsp + 0x470]
mov r13d, reloc.WS2_32.dll_recv
cmp rdx, r13
jb 0x14004b4d1
inc rdx
mov qword [rsp + 0x190], rdx
mov rcx, qword [rsp + 0x458]
mov rax, rcx
cmp rdx, r15
jb 0x14004b4cc
add rdx, 0x27
mov qword [rsp + 0x190], rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b4cc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14007721c
mov qword [rsp + 0x468], rsi
mov qword [rsp + 0x470], rdi
mov byte [rsp + 0x458], sil
mov rdx, qword [r12 + 0x18]
cmp rdx, r13
jb 0x14004b530
mov rcx, qword [r12]
inc rdx
mov qword [rsp + 0x198], rdx
cmp rdx, r15
jb 0x14004b52b
add rdx, 0x27
mov qword [rsp + 0x198], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004b626
mov rcx, r8
call fcn.14007721c
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov byte [r12], sil
mov rdx, qword [r14 + 0x18]
cmp rdx, r13
jb 0x14004b583
mov rcx, qword [r14]
inc rdx
mov qword [rsp + 0x1a0], rdx
cmp rdx, r15
jb 0x14004b57e
add rdx, 0x27
mov qword [rsp + 0x1a0], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004b62d
mov rcx, r8
call fcn.14007721c
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rdi
mov byte [r14], sil
mov al, 1
jmp 0x14004c4cf
mov rax, qword [rsp + 0x490]
cmp rax, 8
jb 0x14004b60c
inc rax
mov qword [rsp + 0x368], rax
lea rdx, [rax + rax]
mov qword [rsp + 0x1a8], rdx
mov rcx, qword [rsp + 0x478]
mov qword [rsp + 0x200], rcx
mov rax, rcx
cmp rdx, r15
jb 0x14004b607
add rdx, 0x27
mov qword [rsp + 0x1a8], rdx
mov rcx, qword [rcx - 8]
mov qword [rsp + 0x370], rcx
sub rax, rcx
mov qword [rsp + 0x378], rax
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b634
mov qword [rsp + 0x200], rcx
call fcn.14007721c
mov qword [rsp + 0x488], rsi
mov qword [rsp + 0x490], r13
mov word [rsp + 0x478], si
jmp 0x14004b640
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov r15d, 0x1000
mov rdx, qword [rsp + 0x470]
mov r13d, reloc.WS2_32.dll_recv
cmp rdx, r13
jb 0x14004b6b8
inc rdx
mov qword [rsp + 0x380], rdx
mov qword [rsp + 0x1d8], rdx
mov rcx, qword [rsp + 0x458]
mov qword [rsp + 0x1e0], rcx
mov rax, rcx
cmp rdx, r15
jb 0x14004b6b3
add rdx, 0x27
mov qword [rsp + 0x1d8], rdx
mov rcx, qword [rcx - 8]
mov qword [rsp + 0x388], rcx
sub rax, rcx
mov qword [rsp + 0x390], rax
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b6d2
mov qword [rsp + 0x1e0], rcx
call fcn.14007721c
mov qword [rsp + 0x468], rsi
mov qword [rsp + 0x470], rdi
mov byte [rsp + 0x458], sil
jmp 0x14004b6e7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov edi, reloc.WS2_32.dll_ntohs
mov r15d, 0x1000
lea r13d, [rdi + 1]
lea rdx, [rbx + 8]
lea rcx, [rsp + 0x238]
call fcn.14004e394
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x4c0], xmm0
movups xmmword [rsp + 0x4d0], xmm0
movups xmmword [rsp + 0x4e0], xmm0
mov rdx, r12
lea rcx, [rsp + 0x4f0]
call fcn.1400033c0
nop
mov rdx, r14
lea rcx, [rsp + 0x510]
call fcn.1400033c0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x218], xmm0
mov qword [rsp + 0x228], rax
mov dword [rsp + 0x230], eax
mov eax, 2
mov word [rsp + 0x218], ax
mov word [rsp + 0x21a], si
mov dword [rsp + 0x21c], esi
mov qword [rsp + 0x4c0], 0x400
mov dword [rsp + 0x208], eax
mov dword [rsp + 0x4c8], 1
mov dword [rsp + 0x20c], eax
mov dword [rsp + 0x4cc], 6
mov qword [rsp + 0x4d0], rsi
mov qword [rsp + 0x4d8], rsi
movdqa xmmword [rsp + 0x4e0], xmm0
mov dword [rsp + 0x118], esi
lea rax, str.___r_
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x4c0]
lea rdx, [rsp + 0x128]
call fcn.14004ea0c
mov dword [rsp + 0x30], 1
cmp dword [rsp + 0x118], esi
jne 0x14004c50e
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x60], rax
movdqu xmmword [rsp + 0x128], xmm0
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x138], rsi
mov eax, 1
and eax, 0xfffffffe
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x130]
test rcx, rcx
je 0x14004b8a3
mov qword [rsp + 0xc0], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004b8a3
mov rbx, qword [rsp + 0xc0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004b89e
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rbx, qword [rsp + 0x50]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x158], xmm0
mov qword [rsp + 0x168], rsi
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rsi
call fcn.140046f9c
mov qword [rsp + 0x398], rax
mov dword [rsp + 0x80], 0x2af9
mov qword [rsp + 0x88], rax
movaps xmm0, xmmword [rsp + 0x80]
movdqa xmmword [rsp + 0x40], xmm0
cmp dword [rsp + 0x40], esi
je 0x14004c281
mov rax, qword [rsp + 0x58]
test rax, rax
jne 0x14004b90c
cmp qword [rsp + 0x158], rsi
jmp 0x14004b927
cmp rax, qword [rsp + 0x158]
jne 0x14004bad3
mov rax, qword [rsp + 0x168]
cmp qword [rsp + 0x68], rax
jne 0x14004bad3
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14004b972
mov qword [rsp + 0x50], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004b972
mov rbx, qword [rsp + 0x50]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004b972
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004b9bd
mov qword [rsp + 0x108], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004b9bd
mov rbx, qword [rsp + 0x108]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004b9bd
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x4c0]
call fcn.14004c53c
nop
lea rcx, [rsp + 0x240]
call fcn.14000ff60
nop
mov rcx, qword [rsp + 0x248]
test rcx, rcx
je 0x14004ba27
mov qword [rsp + 0x110], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004ba27
mov rbx, qword [rsp + 0x110]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004ba27
mov rcx, qword [rsp + 0x110]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [r12 + 0x18]
cmp rdx, r13
jb 0x14004ba6e
mov rcx, qword [r12]
inc rdx
mov qword [rsp + 0x1e8], rdx
cmp rdx, r15
jb 0x14004ba69
add rdx, 0x27
mov qword [rsp + 0x1e8], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004bbe5
mov rcx, r8
call fcn.14007721c
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov byte [r12], sil
mov rdx, qword [r14 + 0x18]
cmp rdx, r13
jb 0x14004bac1
mov rcx, qword [r14]
inc rdx
mov qword [rsp + 0x1b0], rdx
cmp rdx, r15
jb 0x14004babc
add rdx, 0x27
mov qword [rsp + 0x1b0], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004bbec
mov rcx, r8
call fcn.14007721c
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rdi
mov byte [r14], sil
xor al, al
jmp 0x14004c4cf
lea rdi, [rbx + 0x20]
mov qword [rsp + 0x3a0], rdi
mov dword [rsp + 0xf0], esi
lea rax, str.___r_
mov qword [rsp + 0xf8], rax
mov rcx, qword [rdi]
lea rbx, [rdi + 8]
mov qword [rsp + 0xb8], rbx
cmp qword [rbx], 0xffffffffffffffff
je 0x14004bbf3
xor eax, eax
lock cmpxchg qword [rcx + 0x38], rsi
mov qword [rsp + 0xb0], rax
mov rbx, qword [rsp + 0xb8]
je 0x14004bbcc
mov rcx, qword [rbx]
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x3a8], rcx
add rax, 0x30
mov qword [rsp + 0x3f8], rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [rsp + 0x400], 1
mov dword [rsp + 0x1f0], esi
mov qword [rsp + 0x1f8], rsi
call fcn.140046f9c
mov qword [rsp + 0x3b0], rax
mov dword [rsp + 0x2b0], 0x3e3
mov qword [rsp + 0x2b8], rax
movaps xmm0, xmmword [rsp + 0x2b0]
movdqa xmmword [rsp + 0x1f0], xmm0
lea r8, [rsp + 0x1f0]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xb0]
call fcn.140048390
nop
mov rcx, qword [rsp + 0xb0]
add rcx, 0x30
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rdx, [rbx + 8]
lea r9, [rsp + 0xf0]
xor r8d, r8d
mov rcx, qword [rbx]
call fcn.140047ff8
jmp 0x14004bc13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov dword [rsp + 0x310], esi
mov qword [rsp + 0x318], rax
movaps xmm0, xmmword [rsp + 0x310]
movdqa xmmword [rsp + 0xf0], xmm0
or qword [rbx], 0xffffffffffffffff
mov byte [rbx + 8], sil
lea rcx, [rbx + 0x10]
call fcn.14000ff60
cmp dword [rsp + 0xf0], esi
jne 0x14004c523
mov qword [rsp + 0x1b8], rdi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x140], xmm0
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004bc58
lock inc dword [rcx + 8]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x150], rax
mov r8d, 2
or dword [rsp + 0x30], r8d
mov rdx, qword [rsp + 0x68]
inc rdx
mov qword [rsp + 0x68], rdx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
sub rcx, qword [rax]
sar rcx, 5
movabs rax, 0xaaaaaaaaaaaaaaab
imul rcx, rax
cmp rdx, rcx
jne 0x14004bd69
movups xmmword [rsp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xa0], xmm1
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0x3b8], rcx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x58], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x3c0], rcx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x14004bd64
mov qword [rsp + 0xc8], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004bd64
mov rbx, qword [rsp + 0xc8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004bd5e
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r8d, 2
mov qword [rsp + 0x68], rsi
mov rax, qword [rsp + 0x150]
lea rcx, [rax + rax*2]
shl rcx, 5
mov rax, qword [rsp + 0x140]
add rcx, qword [rax]
mov qword [rsp + 0x3c8], rcx
movups xmm0, xmmword [rcx]
movups xmmword [rsp + 0x498], xmm0
movsd xmm1, qword [rcx + 0x10]
movsd qword [rsp + 0x4a8], xmm1
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x4b0], eax
mov rcx, qword [rsp + 0x1b8]
lea rbx, [rcx + 8]
mov qword [rsp + 0x3d0], rbx
cmp qword [rbx], 0xffffffffffffffff
jne 0x14004be11
mov eax, reloc.WS2_32.dll_socket
cmp word [rsp + 0x498], r8w
cmove eax, r8d
mov dword [rsp + 0x90], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
mov r8, rbx
lea rdx, [rsp + 0x438]
mov rcx, qword [rcx]
call fcn.14004ee98
cmp dword [rsp + 0x40], esi
jne 0x14004c220
mov qword [rsp + 0x3d8], rbx
mov edi, Ordinal_32
lea eax, [rdi - 0x1a]
cmp word [rsp + 0x498], ax
cmove rdi, r13
mov qword [rsp + 0x3e0], rdi
mov rbx, qword [rbx]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x3e8], rbx
cmp rbx, 0xffffffffffffffff
jne 0x14004be84
call fcn.140046f9c
mov rdi, rax
mov qword [rsp + 0x3f0], rax
mov dword [rsp + 0x320], 0x2719
mov qword [rsp + 0x328], rax
movaps xmm0, xmmword [rsp + 0x320]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x14004bf16
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov r8d, edi
lea rdx, [rsp + 0x498]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
mov ebx, eax
mov dword [rsp + 0x184], eax
call fcn.140046f9c
mov rdi, rax
mov qword [rsp + 0x408], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x210], eax
mov dword [rsp + 0x330], eax
mov qword [rsp + 0x338], rdi
movaps xmm0, xmmword [rsp + 0x330]
movdqa xmmword [rsp + 0x40], xmm0
test ebx, ebx
jne 0x14004bf0e
mov dword [rsp + 0x250], esi
lea rax, str.___r_
mov qword [rsp + 0x258], rax
movaps xmm0, xmmword [rsp + 0x250]
movdqa xmmword [rsp + 0x40], xmm0
mov rdi, rax
mov rbx, qword [rsp + 0x80]
mov dword [rsp + 0x260], esi
mov qword [rsp + 0x268], rsi
call fcn.140046f9c
mov qword [rsp + 0x410], rax
mov ecx, 0x2734
mov dword [rsp + 0x2d0], ecx
mov qword [rsp + 0x2d8], rax
movaps xmm0, xmmword [rsp + 0x2d0]
movdqa xmmword [rsp + 0x260], xmm0
mov rax, qword [rax + 8]
cmp qword [rdi + 8], rax
jne 0x14004bf67
cmp dword [rsp + 0x40], ecx
je 0x14004bfc0
mov dword [rsp + 0x280], esi
mov qword [rsp + 0x288], rsi
call fcn.140046f9c
mov qword [rsp + 0x418], rax
mov ecx, 0x2733
mov dword [rsp + 0x270], ecx
mov qword [rsp + 0x278], rax
movaps xmm0, xmmword [rsp + 0x270]
movdqa xmmword [rsp + 0x280], xmm0
mov rax, qword [rax + 8]
cmp qword [rdi + 8], rax
jne 0x14004c220
cmp dword [rsp + 0x40], ecx
jne 0x14004c220
cmp rbx, 0xffffffffffffffff
jne 0x14004bff3
call fcn.140046f9c
mov qword [rsp + 0x420], rax
mov dword [rsp + 0x290], 0x2719
mov qword [rsp + 0x298], rax
movaps xmm0, xmmword [rsp + 0x290]
jmp 0x14004c21a
mov dword [rsp + 0x740], esi
mov eax, esi
mov dword [rsp + 0x94], eax
mov ecx, eax
cmp eax, esi
jae 0x14004c017
cmp qword [rsp + rcx*8 + 0x748], rbx
je 0x14004c017
inc eax
jmp 0x14004bffc
test eax, eax
jne 0x14004c02a
mov qword [rsp + rcx*8 + 0x748], rbx
inc dword [rsp + 0x740]
mov dword [rsp + 0x530], esi
mov eax, esi
mov dword [rsp + 0x98], eax
mov ecx, eax
cmp eax, esi
jae 0x14004c04e
cmp qword [rsp + rcx*8 + 0x538], rbx
je 0x14004c04e
inc eax
jmp 0x14004c033
test eax, eax
jne 0x14004c061
mov qword [rsp + rcx*8 + 0x538], rbx
inc dword [rsp + 0x530]
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
lea ecx, [rbx + 1]
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x530]
lea r8, [rsp + 0x740]
xor edx, edx
call qword [sym.imp.WS2_32.dll_select]
mov edi, eax
mov dword [rsp + 0x170], eax
call fcn.140046f9c
mov rbx, rax
mov qword [rsp + 0x428], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x178], eax
mov dword [rsp + 0x2a0], eax
mov qword [rsp + 0x2a8], rbx
movaps xmm0, xmmword [rsp + 0x2a0]
movdqa xmmword [rsp + 0x40], xmm0
test edi, edi
js 0x14004c220
mov dword [rsp + 0x300], esi
lea rax, str.___r_
mov qword [rsp + 0x308], rax
movaps xmm0, xmmword [rsp + 0x300]
movdqa xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x74], esi
mov edi, 4
mov qword [rsp + 0x1c0], rdi
mov rbx, qword [rsp + 0x80]
cmp rbx, 0xffffffffffffffff
jne 0x14004c144
call fcn.140046f9c
mov qword [rsp + 0x430], rax
mov dword [rsp + 0x2c0], 0x2719
mov qword [rsp + 0x2c8], rax
movaps xmm0, xmmword [rsp + 0x2c0]
jmp 0x14004c21a
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_WSASetLastError]
mov dword [rsp + 0x70], edi
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x74]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_getsockopt]
mov edi, eax
mov dword [rsp + 0x17c], eax
movsxd rcx, dword [rsp + 0x70]
mov qword [rsp + 0x1c0], rcx
call fcn.140046f9c
mov rbx, rax
mov qword [rsp + 0x350], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [rsp + 0x180], eax
mov dword [rsp + 0x340], eax
mov qword [rsp + 0x348], rbx
movaps xmm0, xmmword [rsp + 0x340]
movdqa xmmword [rsp + 0x40], xmm0
test edi, edi
jne 0x14004c1ed
mov dword [rsp + 0x2e0], esi
lea rax, str.___r_
mov qword [rsp + 0x2e8], rax
movaps xmm0, xmmword [rsp + 0x2e0]
movdqa xmmword [rsp + 0x40], xmm0
jmp 0x14004c1f2
cmp edi, 0xffffffff
je 0x14004c220
call fcn.140046f9c
mov qword [rsp + 0x358], rax
mov ecx, dword [rsp + 0x74]
mov dword [rsp + 0x2f0], ecx
mov qword [rsp + 0x2f8], rax
movaps xmm0, xmmword [rsp + 0x2f0]
movdqa xmmword [rsp + 0x40], xmm0
and dword [rsp + 0x30], 0xfffffffd
mov rcx, qword [rsp + 0x148]
test rcx, rcx
je 0x14004c272
mov qword [rsp + 0xd0], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004c272
mov rbx, qword [rsp + 0xd0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c272
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov edi, reloc.WS2_32.dll_ntohs
mov rbx, qword [rsp + 0x50]
jmp 0x14004b8ee
mov rcx, qword [rsp + 0x160]
test rcx, rcx
je 0x14004c2cf
mov qword [rsp + 0xd8], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004c2cf
mov rbx, qword [rsp + 0xd8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c2cf
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14004c31a
mov qword [rsp + 0xe0], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004c31a
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c31a
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x4c0]
call fcn.14004c53c
nop
lea rcx, [rsp + 0x240]
call fcn.14000ff60
nop
mov rcx, qword [rsp + 0x248]
test rcx, rcx
je 0x14004c384
mov qword [rsp + 0x100], rcx
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14004c384
mov rbx, qword [rsp + 0x100]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x14004c384
mov rcx, qword [rsp + 0x100]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
mov rdx, qword [r12 + 0x18]
cmp rdx, r13
jb 0x14004c3cb
mov rcx, qword [r12]
inc rdx
mov qword [rsp + 0x1c8], rdx
cmp rdx, r15
jb 0x14004c3c6
add rdx, 0x27
mov qword [rsp + 0x1c8], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004c4f2
mov rcx, r8
call fcn.14007721c
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x18], rdi
mov byte [r12], sil
mov rdx, qword [r14 + 0x18]
cmp rdx, r13
jb 0x14004c41e
mov rcx, qword [r14]
inc rdx
mov qword [rsp + 0x1d0], rdx
cmp rdx, r15
jb 0x14004c419
add rdx, 0x27
mov qword [rsp + 0x1d0], rdx
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14004c4f9
mov rcx, r8
call fcn.14007721c
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rdi
mov byte [r14], sil
mov al, 1
jmp 0x14004c4cf
mov rcx, qword [rsp + 0x950]
xor rcx, rsp
call fcn.140076f70
add rsp, 0x960
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea rdx, str.resolve
lea rcx, [rsp + 0x118]
call fcn.140046f10
nop
lea rdx, str.close
lea rcx, [rsp + 0xf0]
call fcn.140046f10
int3