Function at 0x140098d20
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
sub esp, 0x58
mov rdi, rdx
mov rsi, rcx
mov eax, dword [rdx + 0xf0]
cmp eax, 0x3b9aca00
jne 0x140098dad
mov r14, qword [rdi + 0xb0]
mov rax, qword [rdi + 0xc0]
xchg eax, eax
add byte [rax], al
add byte [rax - 0x75], cl
mov ebx, dword [rdi + 0xc8]
cmp rax, rbx
jb 0x14009906d
mov rax, qword [rdi + 0xb8]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x28], esi
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 0x14009904f
mov rbx, rax
jmp 0x140099084
mov rcx, qword [rdi + 0xe8]
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x50], eax
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceCounter
test eax, eax
je 0x140099190
mov rbx, qword [rsp + 0x28]
mov rcx, qword [0x1402280e8]
test rcx, rcx
jne 0x140098e19
mov qword [rsp + 0x28], 0
lea rcx, [rsp + 0x28]
call sub.kernel32.dll_QueryPerformanceFrequency
add byte [rbp - 0x737bf040], al
add eax, dword [rax]
invalid
mov rcx, qword [rsp + 0x28]
mov qword [0x1402280e8], rcx
test rcx, rcx
je 0x140099195
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x140098e2f
mov rax, rbx
xor edx, edx
div rcx
jmp 0x140098e35
mov eax, ebx
xor edx, edx
div ecx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
shr edx, 0x20
je case.0x1400991b3.347
xor edx, edx
div rcx
int1
mov rcx, rax
jmp case.0x1400991b3.333
xor edx, edx
div ecx
int1
mov ecx, eax
add rcx, r8
mov rax, rcx
shr rax, 9
movabs rdx, 0x44b82fa09b5a53
mul rdx
shr rdx, 0xb
imul eax, edx, 0x3b9aca00
sub ecx, eax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x30], ecx
lea rcx, [rsp + 0x48]
lea rdx, [rsp + 0x28]
call fcn.140077110
cmp edx, 0x3b9aca00
jne 0x140098f20
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne case.0x1400991b3.358
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140099195
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0x1a
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140099195
movups xmm0, xmmword [0x1401d25ba]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [str.timed_out_reading_response]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], 0x1a
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
call fcn.1400aae50
jmp 0x140099046
mov r14, rax
mov ebp, edx
mov rcx, qword [rdi + 0xd8]
mov rax, qword [rdi + 0xe0]
call qword [rax + 0xb8]
test rax, rax
je 0x140098d3f
mov rbx, rax
mov ecx, 0x3e8
mov rax, r14
mul rcx
mov r14, rax
seto r15b
mov eax, 0xffffffff
jo 0x140098fa0
mov ecx, ebp
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add rcx, r14
jb 0x140098fa0
imul edx, ebp, 0x68c26139
ror edx, 6
xor r8d, r8d
cmp edx, 0x10c7
setae r8b
add rcx, r8
jb 0x140098fa0
mov eax, 0xffffffff
cmp rcx, rax
cmovb rax, rcx
test rax, rax
je 0x140099184
mov dword [rsp + 0x28], eax
mov rcx, qword [rbx]
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 0x140099039
mov eax, 0xffffffff
test r15b, r15b
jne 0x14009900c
mov ecx, ebp
imul rcx, rcx, 0x431bde83
shr rcx, 0x32
add r14, rcx
jb 0x14009900c
imul ecx, ecx, 0xf4240
xor edx, edx
sub ebp, ecx
setne dl
add r14, rdx
jb 0x14009900c
mov eax, 0xffffffff
cmp r14, rax
cmovb rax, r14
test rax, rax
je 0x140099184
mov dword [rsp + 0x28], eax
mov rcx, qword [rbx]
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 0x140098d3f
call sub.ws2_32.dll_WSAGetLastError
shl rax, 0x20
or rax, 2
mov qword [rsi + 8], rax
jmp 0x140099170
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 0x140099084
add r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
jmp 0x140099177
mov rcx, rbx
call fcn.1400991a0
mov rdi, rbx
cmp al, 0xd
jne 0x14009916c
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x1400990c2
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x140099195
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0x1a
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x140099195
movups xmm0, xmmword [0x1401d25ba]
movups xmmword [rax + 0xa], xmm0
movups xmm0, xmmword [str.timed_out_reading_response]
movups xmmword [rax], xmm0
mov qword [rsp + 0x28], 0x1a
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x1a
lea rdx, [rsp + 0x28]
mov cl, 0x16
invalid
call fcn.1400aae50
mov rdi, rax
mov eax, ebx
and eax, 3
lea rcx, [rax - 2]
cmp rcx, 2
jb 0x14009916c
test rax, rax
je 0x14009916c
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 0x14009915b
cmp qword [rbx + 0x10], 0x11
jb 0x14009914a
mov r15, qword [r15 - 8]
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x140228110]
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_timeoutconnection_timed_out
jmp 0x140099046
call sub.kernel32.dll_GetLastError
ud2