Function at 0x4a79ef
Capabilities:
Get socket status

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x4b0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x450], rcx
mov dword [rbp + 0x458], edx
mov dword [rbp + 0x460], r8d
mov qword [rbp + 0x418], 0
mov qword [rbp + 0x410], 0
mov dword [rbp + 0x1f0], 0
mov dword [rbp - 0x20], 0
mov dword [rbp + 0x428], 0
jmp 0x4a804c
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov dword [rax + 0x14], 0
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
cmp eax, 2
je 0x4a7d26
cmp eax, 3
je 0x4a7ea1
cmp eax, 1
jne 0x4a8016
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 1
test eax, eax
je 0x4a7bf2
mov dword [rbp + 0x40c], 0
jmp 0x4a7b2e
mov eax, dword [rbp + 0x40c]
mov rcx, qword [rbp + rax*8 + 0x1f8]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
cmp rcx, rax
jne 0x4a7b27
jmp 0x4a7b3c
add dword [rbp + 0x40c], 1
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x40c]
ja 0x4a7aed
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x40c]
jne 0x4a7b98
mov eax, dword [rbp + 0x1f0]
cmp eax, 0x3f
ja 0x4a7b98
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
movsxd rdx, eax
mov eax, dword [rbp + 0x40c]
mov qword [rbp + rax*8 + 0x1f8], rdx
mov eax, dword [rbp + 0x1f0]
add eax, 1
mov dword [rbp + 0x1f0], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
cmp rax, qword [rbp + 0x410]
jbe 0x4a7bf2
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
mov qword [rbp + 0x410], rax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
je 0x4a7d21
mov dword [rbp + 0x408], 0
jmp 0x4a7c6a
mov eax, dword [rbp + 0x408]
mov rcx, qword [rbp + rax*8 - 0x18]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
cmp rcx, rax
jne 0x4a7c63
jmp 0x4a7c75
add dword [rbp + 0x408], 1
mov eax, dword [rbp - 0x20]
cmp eax, dword [rbp + 0x408]
ja 0x4a7c2c
mov eax, dword [rbp - 0x20]
cmp eax, dword [rbp + 0x408]
jne 0x4a7cc2
mov eax, dword [rbp - 0x20]
cmp eax, 0x3f
ja 0x4a7cc2
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
movsxd rdx, eax
mov eax, dword [rbp + 0x408]
mov qword [rbp + rax*8 - 0x18], rdx
mov eax, dword [rbp - 0x20]
add eax, 1
mov dword [rbp - 0x20], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
cmp rax, qword [rbp + 0x410]
jbe 0x4a7d21
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
mov qword [rbp + 0x410], rax
jmp 0x4a8045
jmp 0x4a8045
mov dword [rbp + 0x404], 0
jmp 0x4a7d7d
mov eax, dword [rbp + 0x404]
mov rcx, qword [rbp + rax*8 + 0x1f8]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x200]
cmp rcx, rax
jne 0x4a7d76
jmp 0x4a7d8b
add dword [rbp + 0x404], 1
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x404]
ja 0x4a7d32
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x404]
jne 0x4a7df0
mov eax, dword [rbp + 0x1f0]
cmp eax, 0x3f
ja 0x4a7df0
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rdx, qword [rax + 0x200]
mov eax, dword [rbp + 0x404]
mov qword [rbp + rax*8 + 0x1f8], rdx
mov eax, dword [rbp + 0x1f0]
add eax, 1
mov dword [rbp + 0x1f0], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x200]
cmp rax, qword [rbp + 0x410]
jbe 0x4a7e5e
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x200]
mov qword [rbp + 0x410], rax
cmp qword [rbp + 0x418], 0
jne 0x4a7e9c
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x418], rax
jmp 0x4a8045
jmp 0x4a8045
mov dword [rbp + 0x400], 0
jmp 0x4a7ef8
mov eax, dword [rbp + 0x400]
mov rcx, qword [rbp + rax*8 + 0x1f8]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x200]
cmp rcx, rax
jne 0x4a7ef1
jmp 0x4a7f06
add dword [rbp + 0x400], 1
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x400]
ja 0x4a7ead
mov eax, dword [rbp + 0x1f0]
cmp eax, dword [rbp + 0x400]
jne 0x4a7f6b
mov eax, dword [rbp + 0x1f0]
cmp eax, 0x3f
ja 0x4a7f6b
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rdx, qword [rax + 0x200]
mov eax, dword [rbp + 0x400]
mov qword [rbp + rax*8 + 0x1f8], rdx
mov eax, dword [rbp + 0x1f0]
add eax, 1
mov dword [rbp + 0x1f0], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x200]
cmp rax, qword [rbp + 0x410]
jbe 0x4a7fd9
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x200]
mov qword [rbp + 0x410], rax
cmp qword [rbp + 0x418], 0
jne 0x4a8014
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x418], rax
jmp 0x4a8045
jmp 0x4a8045
cmp qword [rbp + 0x418], 0
je 0x4a803b
mov rax, qword [rbp + 0x418]
lea r8, str.Invalid_descriptor_passed_to_libssh2_poll__
mov edx, 0xffffffdd
mov rcx, rax
call fcn.004bcb4f
mov eax, 0xffffffff
jmp 0x4a8a32
add dword [rbp + 0x428], 1
mov eax, dword [rbp + 0x428]
cmp eax, dword [rbp + 0x458]
jb 0x4a7a4b
mov eax, dword [rbp + 0x460]
mov dword [rbp + 0x42c], eax
mov dword [rbp + 0x424], 0
mov dword [rbp + 0x428], 0
jmp 0x4a8673
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov ecx, dword [rax + 0x10]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
cmp ecx, eax
je 0x4a863e
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
cmp eax, 2
je 0x4a810a
cmp eax, 3
je 0x4a84de
jmp 0x4a863e
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 1
test eax, eax
je 0x4a81f0
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
and eax, 1
test eax, eax
jne 0x4a81f0
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rbx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov esi, dword [rax + 0x14]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov edx, 0
mov rcx, rax
call sym.minerd.exe_libssh2_poll_channel_read
test eax, eax
je 0x4a81e6
mov eax, 1
jmp 0x4a81eb
mov eax, 0
or eax, esi
mov dword [rbx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 2
test eax, eax
je 0x4a82d6
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
and eax, 2
test eax, eax
jne 0x4a82d6
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rbx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov esi, dword [rax + 0x14]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov edx, 1
mov rcx, rax
call sym.minerd.exe_libssh2_poll_channel_read
test eax, eax
je 0x4a82cc
mov eax, 2
jmp 0x4a82d1
mov eax, 0
or eax, esi
mov dword [rbx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 4
test eax, eax
je 0x4a83b7
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
and eax, 4
test eax, eax
jne 0x4a83b7
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rbx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov esi, dword [rax + 0x14]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rcx, rax
call fcn.004a79ab
test eax, eax
je 0x4a83ad
mov eax, 4
jmp 0x4a83b2
mov eax, 0
or eax, esi
mov dword [rbx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
movzx eax, byte [rax + 0x54]
test al, al
jne 0x4a840f
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
movzx eax, byte [rax + 0x40]
test al, al
je 0x4a8458
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rcx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
or al, 0x80
mov dword [rcx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov eax, dword [rax + 0x208]
cmp eax, 0xffffffff
jne 0x4a84d9
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rcx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
or al, 0x90
mov dword [rcx + 0x14], eax
jmp 0x4a863e
jmp 0x4a863e
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x10]
and eax, 1
test eax, eax
je 0x4a85bf
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
and eax, 1
test eax, eax
jne 0x4a85bf
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rbx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov esi, dword [rax + 0x14]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rcx, rax
call fcn.004a79c4
test eax, eax
je 0x4a85b5
mov eax, 1
jmp 0x4a85ba
mov eax, 0
or eax, esi
mov dword [rbx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov eax, dword [rax + 0x208]
cmp eax, 0xffffffff
jne 0x4a863d
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rcx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
or al, 0x90
mov dword [rcx + 0x14], eax
jmp 0x4a863d
nop
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
test eax, eax
je 0x4a866c
add dword [rbp + 0x424], 1
add dword [rbp + 0x428], 1
mov eax, dword [rbp + 0x428]
cmp eax, dword [rbp + 0x458]
jb 0x4a8083
cmp dword [rbp + 0x424], 0
je 0x4a8698
mov dword [rbp + 0x42c], 0
mov ecx, dword [rbp + 0x42c]
mov edx, 0x10624dd3
mov eax, ecx
imul edx
sar edx, 6
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
mov dword [rbp - 0x30], eax
mov ecx, dword [rbp + 0x42c]
mov edx, 0x10624dd3
mov eax, ecx
imul edx
sar edx, 6
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
mov eax, ecx
imul eax, eax, 0x3e8
mov dword [rbp - 0x2c], eax
lea rax, [rbp - 0x40]
mov edx, 0
mov rcx, rax
call fcn.0064ab40
mov rax, qword [rbp + 0x410]
add eax, 1
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x30]
mov qword [rsp + 0x20], rcx
mov r9d, 0
mov ecx, eax
mov rax, qword [sym.imp.WS2_32.dll_select]
call rax
mov dword [rbp + 0x3fc], eax
lea rax, [rbp - 0x50]
mov edx, 0
mov rcx, rax
call fcn.0064ab40
mov edx, dword [rbp - 0x40]
mov eax, dword [rbp - 0x50]
sub edx, eax
mov eax, edx
imul eax, eax, 0x3e8
add dword [rbp + 0x42c], eax
mov edx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x3c]
mov ecx, edx
sub ecx, eax
mov edx, 0x10624dd3
mov eax, ecx
imul edx
sar edx, 6
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
sub dword [rbp + 0x42c], eax
cmp dword [rbp + 0x3fc], 0
jle 0x4a8a16
mov dword [rbp + 0x428], 0
jmp 0x4a8a04
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
cmp eax, 2
je 0x4a890c
cmp eax, 3
je 0x4a8985
cmp eax, 1
jne 0x4a89fd
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
lea rdx, [rbp + 0x1f0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a8855
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rcx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
or eax, 1
mov dword [rcx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 8]
cdqe
lea rdx, [rbp - 0x20]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a88d4
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
lea rcx, [rdx + rax]
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
or eax, 4
mov dword [rcx + 0x14], eax
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov eax, dword [rax + 0x14]
test eax, eax
je 0x4a8907
add dword [rbp + 0x424], 1
jmp 0x4a89fd
jmp 0x4a89fd
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rax, qword [rax + 0x200]
lea rdx, [rbp + 0x1f0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a8983
nop
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x60]
mov rcx, rax
call fcn.004c2700
test eax, eax
jg 0x4a894f
jmp 0x4a89fd
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x200]
lea rdx, [rbp + 0x1f0]
mov rcx, rax
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x4a89fc
nop
mov edx, dword [rbp + 0x428]
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 3
mov rdx, rax
mov rax, qword [rbp + 0x450]
add rax, rdx
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
mov rcx, rax
call fcn.004c2700
test eax, eax
jg 0x4a89c8
nop
add dword [rbp + 0x428], 1
mov eax, dword [rbp + 0x428]
cmp eax, dword [rbp + 0x458]
jb 0x4a8792
cmp dword [rbp + 0x42c], 0
jle 0x4a8a2c
cmp dword [rbp + 0x424], 0
je 0x4a806a
mov eax, dword [rbp + 0x424]
add rsp, 0x4b0
pop rbx
pop rsi
pop rbp
ret