Function at 0x5b7950
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rdx + 0xf0]
cmp eax, 0x3b9aca00
jne 0x5b79dd
mov r14, qword [rdi + 0xb0]
mov rax, qword [rdi + 0xc0]
mov rbx, qword [rdi + 0xc8]
cmp rax, rbx
jb 0x5b7bda
mov rax, qword [rdi + 0xb8]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0
mov rax, qword [rdi + 0xd0]
mov qword [rsp + 0x40], rax
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rdi + 0xe0]
lea rdx, [rsp + 0x28]
xor r8d, r8d
call qword [rax + 0x48]
test rax, rax
je 0x5b7bbc
mov rbx, rax
jmp 0x5b7bf1
mov rcx, qword [rdi + 0xe8]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], eax
call fcn.00588510
mov r8d, edx
lea rcx, [rsp + 0x48]
mov rdx, rax
call fcn.005886b0
cmp edx, 0x3b9aca00
jne 0x5b7a88
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x5b7a35
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x5b7cfd
mov rcx, rax
mov qword [0x009bf100], rax
mov r8d, 0x1a
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x5b7cfd
movups xmm0, xmmword [0x00936b72]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [str.timed_out_reading_response]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0x1a
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
call fcn.005c76a0
jmp 0x5b7bb3
mov r14, rax
mov ebx, edx
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rdi + 0xe0]
call qword [rax + 0xb8]
test rax, rax
je 0x5b796f
mov r15, rax
mov ecx, 0x3e8
mov rax, r14
mul rcx
mov r14, rax
mov rcx, qword [r15]
seto bpl
mov eax, 0xffffffff
jo 0x5b7b0e
mov edx, ebx
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add rdx, r14
jb 0x5b7b0e
imul r8d, ebx, 0x68c26139
ror r8d, 6
xor r9d, r9d
cmp r8d, 0x10c7
setae r9b
add rdx, r9
jb 0x5b7b0e
mov eax, 0xffffffff
cmp rdx, rax
cmovb rax, rdx
test rax, rax
je 0x5b7cf1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x28]
mov edx, 0xffff
mov r8d, 0x1006
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
je 0x5b7ba6
mov rcx, qword [r15]
mov eax, 0xffffffff
test bpl, bpl
jne 0x5b7b7c
mov edx, ebx
imul rdx, rdx, 0x431bde83
shr rdx, 0x32
add r14, rdx
jb 0x5b7b7c
imul edx, edx, 0xf4240
xor r8d, r8d
sub ebx, edx
setne r8b
add r14, r8
jb 0x5b7b7c
mov eax, 0xffffffff
cmp r14, rax
cmovb rax, r14
test rax, rax
je 0x5b7cf1
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x28]
mov edx, 0xffff
mov r8d, 0x1005
call sub.WS2_32.dll_setsockopt
cmp eax, 0xffffffff
jne 0x5b796f
call sub.WS2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
jmp 0x5b7cdd
mov qword [rdi + 0xc0], 0
mov rbx, qword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rdi + 0xc8], xmm0
xor eax, eax
sub rbx, rax
test r14, r14
je 0x5b7bf1
add r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
jmp 0x5b7ce4
mov rcx, rbx
call fcn.005b4c70
mov rdi, rbx
cmp al, 0xd
jne 0x5b7cd9
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x5b7c2f
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x5b7cfd
mov rcx, rax
mov qword [0x009bf100], rax
mov r8d, 0x1a
xor edx, edx
call sub.KERNEL32.dll_HeapAlloc
test rax, rax
je 0x5b7cfd
movups xmm0, xmmword [0x00936b72]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [str.timed_out_reading_response]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0x1a
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
call fcn.005c76a0
mov rdi, rax
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x5b7cd9
test rax, rax
je 0x5b7cd9
lea r14, [rbx - 1]
mov r15, qword [rbx - 1]
mov rbx, qword [rbx + 7]
mov rcx, r15
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x5b7cc8
cmp qword [rbx + 0x10], 0x11
jb 0x5b7cb7
mov r15, qword [r15 - 8]
mov rcx, qword [0x009bf100]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x009bf100]
xor edx, edx
mov r8, r14
call sub.KERNEL32.dll_HeapFree
mov qword [rsi + 8], rdi
mov qword [rsi], 0
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
lea rax, str.cannot_set_a_0_duration_timeout
jmp 0x5b7bb3
mov ecx, 1
mov edx, 0x1a
call fcn.0044dfd0
ud2