Function at 0x140004aa0
Capabilities:
Set socket configuration

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov rax, qword [0x140205108]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov rbx, rdx
mov rdi, rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
test al, al
jne 0x140004dc6
cmp qword [rdi + 0x40], 0
je 0x140004ae9
xor r8d, r8d
mov edx, 1
mov ecx, edx
jmp 0x140004af3
mov r8d, dword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov ecx, dword [rbx + 4]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rdi + 0x50], rax
cmp rax, 0xffffffffffffffff
je 0x140004f69
mov esi, dword [rdi + 0xb4]
test esi, esi
jle 0x140004b27
mov r8d, 0x1005
mov edx, esi
mov rcx, rax
call fcn.1400061b0
mov dword [rdi + 0xb4], esi
mov esi, dword [rdi + 0xb8]
test esi, esi
jle 0x140004b48
mov r8d, 0x1006
mov edx, esi
mov rcx, qword [rdi + 0x50]
call fcn.1400061b0
mov dword [rdi + 0xb8], esi
movzx edx, byte [rdi + 0xbc]
test dl, dl
je 0x140004b5b
mov rcx, rdi
call fcn.1400062c0
mov r8d, dword [rdi + 0xc0]
movzx edx, byte [rdi + 0xbd]
mov rcx, rdi
call fcn.140005f50
mov rcx, qword [rdi + 0x50]
cmp rcx, 0xffffffffffffffff
je 0x140004c90
cmp qword [rdi + 0x40], 0
jne 0x140004c90
xor eax, eax
cmp byte [rdi + 0xc4], al
setne al
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x30]
mov edx, 6
lea r8d, [rdx - 5]
call qword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x140004c90
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::setNoDelay___setsockopt__
lea rcx, [rsp + 0x60]
call fcn.14000a760
nop
cmp qword [rax + 0x18], 0x10
jb 0x140004bf3
mov rax, qword [rax]
mov r8d, esi
mov rdx, rax
call fcn.14000c440
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140004c3c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004fee
call fcn.140167ab8
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x140004c90
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004c8b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004ff4
call fcn.140167ab8
mov rcx, qword [rdi + 0x50]
lea r8, [rsp + 0x30]
mov edx, 0x8004667e
cmp dword [rdi + 0xb0], 0
jle 0x140004cc0
mov dword [rsp + 0x30], 1
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x140004e71
jmp 0x140004cd7
mov dword [rsp + 0x30], 0
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x140004ffa
cmp qword [rdi + 0x40], 0
jne 0x14000507f
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.WS2_32.dll_connect]
test eax, eax
je 0x140004d8e
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2734
je 0x140004d1a
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x1400050c7
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov rax, qword [rdi + 0x50]
mov qword [rbp], rax
mov eax, reloc.WS2_32.dll_recv
mov word [rbp + 8], ax
mov r8d, dword [rdi + 0xb0]
lea edx, [rax - 0xf]
lea rcx, [rbp]
call qword [sym.imp.WS2_32.dll_WSAPoll]
test eax, eax
jle 0x140004de5
mov dword [rsp + 0x38], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov edx, 0xffff
mov r8d, 0x1007
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
je 0x14000514c
cmp dword [rsp + 0x30], 0
jne 0x1400051d1
mov dword [rsp + 0x38], 0
lea r8, [rsp + 0x38]
mov edx, 0x8004667e
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x140004df0
cmp qword [rdi + 0x40], 0
jne 0x140004dc6
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x20]
mov rcx, rdi
call fcn.140006a30
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.1401677c0
mov rbx, qword [rsp + 0x150]
add rsp, 0x120
pop rdi
pop rsi
pop rbp
ret
jne 0x140005252
jmp 0x140004ef6
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___THRIFT_FCNTL
lea rcx, [rbp - 0x80]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rbp - 0x80]
call fcn.140002b80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
lea rdx, str.THRIFT_FCNTL___failed
lea rcx, [rbp - 0x80]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rbp - 0x80]
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x40]
call fcn.14016c51c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___THRIFT_FCNTL__
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.THRIFT_FCNTL___failed
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___timed_out
lea rcx, [rsp + 0x60]
call fcn.14000a760
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
lea rcx, [rsp + 0x60]
call fcn.1400025b0
mov rdx, rax
call fcn.140003d70
lea rdx, str.open___timed_out
lea rcx, [rbp - 0x80]
call fcn.140007bb0
nop
lea r8, [rbp - 0x80]
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.140003d90
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x40]
call fcn.14016c51c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___socket__
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.socket__
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
call fcn.14017d6e4
nop
call fcn.14017d6e4
int3
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___THRIFT_FCNTL
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.THRIFT_FCNTL___failed
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
mov r8d, 0xffffff9d
lea rdx, str.TSocket::open___Unix_Domain_socket_path_not_supported_on_windows
call fcn.14000c440
lea rdx, str._Unix_Domain_socket_path_not_supported
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003d90
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___connect__
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.connect___failed
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___getsockopt__
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.getsockopt__
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___error_on_socket__after_THRIFT_POLL_
lea rcx, [rsp + 0x40]
call fcn.14000a760
nop
mov r8d, dword [rsp + 0x30]
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
nop
lea rcx, [rsp + 0x60]
call fcn.140002b80
lea rdx, str.socket_open___error
lea rcx, [rsp + 0x40]
call fcn.140007bb0
nop
mov r9d, dword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x80]
call fcn.14016c51c
nop
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140006500
nop
mov r8, rax
lea rdx, str.TSocket::open___THRIFT_POLL__
lea rcx, [rbp - 0x80]
call fcn.14000a760
nop
mov r8d, ebx
mov rdx, rax
call fcn.140003d80
nop
lea rcx, [rbp - 0x80]
call fcn.140002b80
nop
lea rcx, [rsp + 0x40]
call fcn.140002b80
lea rdx, str.THRIFT_POLL___failed
lea rcx, [rbp - 0x80]
call fcn.140007bb0
nop
mov r9d, ebx
lea r8, [rbp - 0x80]
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.140003de0
lea rdx, [0x1401fbfa0]
lea rcx, [rbp - 0x40]
call fcn.14016c51c
int3