Function at 0x1401d4280
Capabilities:
Get socket status

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1128
call fcn.1402639f0
sub rsp, rax
mov rax, qword [0x14036a040]
xor rax, rsp
mov qword [rsp + 0x1110], rax
mov r15, r9
movzx r13d, r8b
mov edi, edx
mov r12d, ecx
mov dword [rsp + 0x40], ecx
mov rsi, qword [rsp + 0x1190]
mov rcx, r9
call fcn.140103330
test r13b, r13b
je 0x1401d42d8
mov edi, 1
jmp 0x1401d42e2
mov eax, 0x1499700
test edi, edi
cmove edi, eax
mov rax, qword [r15 + 8]
test rax, rax
je 0x1401d430e
cmp dword [rax + 0xd0], 0
jne 0x1401d430e
mov rcx, r15
call fcn.1401033b0
test al, al
je 0x1401d430e
mov rax, qword [r15 + 8]
mov dword [rax + 0xd0], 0x42
cmp r12d, 0xffffffff
jne 0x1401d432e
mov rax, qword [rsi]
lea rdx, str.invalid_socket__not_ready_for_writing.
mov rcx, rsi
call qword [rax + 0x28]
mov byte [r15 + 0x2a], 1
jmp 0x1401d4524
mov ebp, gethostbyname
mov rax, qword [r15 + 8]
test rax, rax
je 0x1401d4349
mov eax, dword [rax + 0xd0]
cmp eax, ebp
cmovb eax, ebp
mov ebp, eax
mov ecx, r12d
call fcn.140098060
test al, al
je 0x1401d439f
mov dword [rsp + 0x40], 0
mov rax, qword [r15 + 8]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov edx, ebp
mov ecx, r12d
call fcn.140255280
test al, al
je 0x1401d4524
cmp dword [rsp + 0x40], 0
setg al
jmp 0x1401d4526
xor r14d, r14d
test edi, edi
je 0x1401d44d9
nop word [rax + rax]
xor edx, edx
xor eax, eax
xor ebx, ebx
test r13b, r13b
jne 0x1401d43ed
mov ebx, edi
sub ebx, r14d
cmp edi, ebx
cmovbe ebx, ebp
test ebp, ebp
je 0x1401d43ce
cmp ebx, ebp
cmova ebx, ebp
cmp ebx, edi
cmova ebx, edi
mov eax, 0x10624dd3
mul ebx
shr edx, 6
imul eax, edx, 0x3e8
mov ecx, ebx
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], eax
lea rcx, [rsp + 0x60]
call fcn.1401a0230
nop
lea rcx, [rsp + 0x60]
call fcn.1401a05f0
mov r8, rsi
mov edx, r12d
lea rcx, [rsp + 0x60]
call fcn.1401a05b0
test al, al
je 0x1401d464c
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.1400b6730
nop
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rsp + 0x78]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_select]
mov r12d, eax
test eax, eax
js 0x1401d45dc
test eax, eax
jg 0x1401d4556
test r13b, r13b
jne 0x1401d454a
add r14d, ebx
cmp r14d, edi
jae 0x1401d44bf
mov rdx, rsi
mov rcx, r15
call fcn.1401034b0
test al, al
jne 0x1401d44a3
lea rcx, [rsp + 0x50]
call fcn.1400b6820
nop
lea rcx, [rsp + 0x60]
call fcn.1401a03a0
mov r12d, dword [rsp + 0x40]
jmp 0x1401d43b0
mov byte [r15 + 0x29], 1
mov rax, qword [rsi]
lea rdx, str.socket_write_aborted_by_application..
mov rcx, rsi
call qword [rax + 0x28]
xor bl, bl
jmp 0x1401d4640
lea rcx, [rsp + 0x50]
call fcn.1400b6820
nop
lea rcx, [rsp + 0x60]
call fcn.1401a03a0
mov r12d, dword [rsp + 0x40]
mov r8d, r12d
lea rdx, str.socketNum
mov rcx, rsi
call fcn.1400d9e50
mov r8d, edi
lea rdx, str.timeoutMs
mov rcx, rsi
call fcn.1400d9e50
mov r8d, r13d
lea rdx, str.bPoll
mov rcx, rsi
call fcn.1400d9e50
mov rax, qword [rsi]
lea rdx, str.UDP_socket_is_not_ready_for_writing_
mov rcx, rsi
call qword [rax + 0x28]
mov byte [r15 + 0x28], 1
xor al, al
mov rcx, qword [rsp + 0x1110]
xor rcx, rsp
call fcn.14008b8a0
add rsp, 0x1128
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov byte [r15 + 0x28], 1
xor bl, bl
jmp 0x1401d4640
movsxd rbx, dword [rsp + 0x40]
mov rcx, rbx
lea rdx, [rsp + 0x78]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
jne 0x1401d463e
xor r8d, r8d
lea rdx, str.nfds
mov rcx, rsi
call fcn.1400d9e50
mov r8d, r12d
lea rdx, str.nStatus
mov rcx, rsi
call fcn.1400d9e50
mov r8d, ebx
lea rdx, str.socketNum
mov rcx, rsi
call fcn.1400d9e50
mov r8d, edi
lea rdx, str.timeoutMs
mov rcx, rsi
call fcn.1400d9e50
mov r8d, r13d
lea rdx, str.bPoll
mov rcx, rsi
call fcn.1400d9e50
mov rax, qword [rsi]
lea rdx, str.UDP_socket_select_for_writeability_returned_unexpected_result_
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x1401d463e
mov rcx, rsi
call fcn.1400da7e0
xor r8d, r8d
lea rdx, str.nfds
mov rcx, rsi
call fcn.1400d9e50
mov r8d, dword [rsp + 0x40]
lea rdx, str.socketNum
mov rcx, rsi
call fcn.1400d9e50
mov r8d, edi
lea rdx, str.timeoutMs
mov rcx, rsi
call fcn.1400d9e50
mov r8d, r13d
lea rdx, str.bPoll
mov rcx, rsi
call fcn.1400d9e50
mov rax, qword [rsi]
lea rdx, str.UDP_socket_select_for_writeable_returned_an_error_
mov rcx, rsi
call qword [rax + 0x28]
mov bl, 1
lea rcx, [rsp + 0x50]
call fcn.1400b6820
jmp 0x1401d464e
mov bl, 1
lea rcx, [rsp + 0x60]
call fcn.1401a03a0
movzx eax, bl
jmp 0x1401d4526