Function at 0x140013b30
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x198
movaps xmmword [rsp + 0x180], xmm6
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0x30], eax
mov r13, rcx
mov rsi, rdx
mov edi, r8d
mov eax, dword [rsp + 0x210]
lea r12, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
mov r8d, 0xa
mov rcx, r12
mov dword [rsp + 0x1f8], r9d
mov dword [rsp + 0x34], eax
call sym.Curl_pollfds_init
lea rax, [r13 + 0x30]
mov rcx, rax
mov qword [rsp + 0x38], rax
call sym.Curl_llist_head
mov r15, rax
test rax, rax
jne 0x140013bc0
jmp 0x140013c20
mov rcx, r15
call sym.Curl_node_next
mov r15, rax
test rax, rax
je 0x140013c20
mov rcx, r15
call sym.Curl_node_elem
lea r14, [rax + 0xa0]
mov rcx, rax
mov rdx, r14
call sym.multi_getsock
mov rdx, r14
mov rcx, r12
call sym.Curl_pollfds_add_ps
test eax, eax
je 0x140013bb0
mov r15d, 3
mov rcx, r12
call sym.Curl_pollfds_cleanup
nop
movaps xmm6, xmmword [rsp + 0x180]
mov eax, r15d
add rsp, 0x198
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [r13 + 0x180]
mov rdx, r12
call sym.Curl_cpool_add_pollfds
test eax, eax
jne 0x140013be9
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x4c], eax
test rdi, rdi
je 0x140014261
mov rbx, rsi
xor ebp, ebp
jmp 0x140013c5d
add rbp, 1
add rbx, 0x10
cmp rbp, rdi
je 0x140013c80
movzx r8d, word [rbx + 8]
mov rdx, qword [rbx]
mov rcx, r12
and r8d, 7
call sym.Curl_pollfds_add_sock
test eax, eax
je 0x140013c50
jmp 0x140013be9
mov r9d, dword [rsp + 0x98]
test r9d, r9d
je 0x1400142ac
mov qword [rsp + 0x40], r12
mov r14, qword [sym.imp.WS2_32.dll_getsockopt]
xor ebx, ebx
jmp 0x140013cc7
test r8w, r8w
jne 0x140013f70
test dx, dx
jne 0x140014000
add rbx, 1
mov eax, r9d
cmp rbx, rax
jae 0x140013d35
mov rcx, qword [rsp + 0x90]
mov rbp, rbx
shl rbp, 4
add rcx, rbp
movzx eax, word [rcx + 8]
mov r8d, eax
mov edx, eax
and r8d, 2
and edx, 4
test al, 1
je 0x140013ca8
test r8w, r8w
jne 0x140013fe0
mov r15d, 0x29
test dx, dx
jne 0x140013ff0
mov rdx, qword [r13 + 0x258]
mov rcx, qword [rcx]
mov r8d, r15d
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x140014126
mov r9d, dword [rsp + 0x98]
add rbx, 1
mov eax, r9d
cmp rbx, rax
jb 0x140013cc7
mov r12, qword [rsp + 0x40]
test byte [r13 + 0x26c], 8
jne 0x14001411f
cmp qword [r13 + 0xe8], 0
je 0x140013dd9
lea r15, [rsp + 0x70]
mov rcx, r15
call sym.Curl_now
movdqa xmm0, xmmword [0x140159970]
mov rcx, r15
mov rdx, qword [r13 + 0xe8]
movdqu xmm6, xmmword [rsp + 0x70]
movaps xmmword [rsp + 0x70], xmm0
call sym.Curl_splay
mov qword [r13 + 0xe8], rax
test rax, rax
je 0x140013db9
movdqu xmm1, xmmword [rax + 0x20]
lea rbx, [rsp + 0x60]
mov rcx, r15
movaps xmmword [rsp + 0x60], xmm6
mov rdx, rbx
movaps xmmword [rsp + 0x70], xmm1
call sym.Curl_timediff_us
test rax, rax
jg 0x140014269
mov r9d, dword [rsp + 0x98]
xor eax, eax
cmp dword [rsp + 0x1f8], eax
cmovle eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x1f8], eax
test r9d, r9d
je 0x14001403a
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
mov edx, r9d
mov r15d, 0xc
call sym.Curl_poll
mov dword [rsp + 0x48], eax
test eax, eax
js 0x140013bef
jne 0x140013e36
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x1f8]
xor r8d, r8d
mov ecx, 1
lea rdx, [r13 + 0x258]
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
mov dword [rsp + 0x48], 0
test rdi, rdi
je 0x14001429f
mov ebx, dword [rsp + 0x48]
mov r15d, dword [rsp + 0x4c]
mov qword [rsp + 0x58], r12
mov r12, rsi
cmp qword [rsp + 0x200], 0
setne dl
test ebx, ebx
mov dword [rsp + 0x50], ebx
sete al
shl r15, 4
and edx, eax
mov rax, qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
shl rdi, 4
sub r15, rsi
lea r14, [rsi + rdi]
mov byte [rsp + 0x57], dl
mov rbp, r15
lea rdi, [rsp + 0xb0]
mov qword [rsp + 0x40], rax
jmp 0x140013eee
mov eax, dword [rsp + 0xb0]
xor esi, esi
test al, 0x29
setne sil
mov edx, esi
or edx, 4
test al, 0x32
cmovne esi, edx
test al, 4
je 0x1400140e8
or esi, 2
cmp byte [rsp + 0x57], 0
je 0x140013f26
add dword [rsp + 0x50], 1
mov rdx, qword [r13 + 0x258]
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov word [r12 + 0xa], si
add r12, 0x10
cmp r14, r12
je 0x140014100
mov rax, qword [rsp + 0x90]
mov r15, qword [r12]
xor edx, edx
mov r8, rdi
add rax, r12
mov rcx, r15
movzx ebx, word [rbp + rax + 0xa]
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0xb0], 0
call rax
test eax, eax
je 0x140013e98
xor esi, esi
xor r8d, r8d
mov rdx, qword [r13 + 0x258]
mov rcx, r15
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov r8d, dword [rsp + 0x48]
test r8d, r8d
je 0x140013edb
mov eax, esi
or eax, 1
test bl, 1
cmovne esi, eax
mov eax, esi
or eax, 4
test bl, 4
cmovne esi, eax
mov eax, esi
or eax, 2
and ebx, 2
cmovne esi, eax
jmp 0x140013edb
mov eax, 0x36
mov r15d, 4
test dx, dx
je 0x140013d06
mov r15d, eax
mov r12, qword [rcx]
lea rax, [rsp + 0xb0]
mov edx, 0xffff
mov dword [rsp + 0xb0], 4
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x8c]
mov r8d, 0x1008
mov rcx, r12
call r14
test eax, eax
jne 0x140013fc9
cmp dword [rsp + 0x8c], 1
je 0x14001400b
mov rcx, qword [rsp + 0x90]
add rcx, rbp
jmp 0x140013d06
mov eax, 0x3f
mov r15d, 0x2d
jmp 0x140013f7b
mov r15d, 0x3b
jmp 0x140013f87
mov r15d, 0x32
jmp 0x140013f87
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
jmp 0x140013fc9
mov r10d, dword [rsp + 0x1f8]
test r10d, r10d
cmovle r9d, dword [rsp + 0x1f8]
mov dword [rsp + 0x1f8], r9d
cmp byte [rsp + 0x34], 0
mov dword [rsp + 0x50], 0
jne 0x140013e09
cmp qword [rsp + 0x200], 0
je 0x140014066
mov rax, qword [rsp + 0x200]
mov edi, dword [rsp + 0x50]
mov dword [rax], edi
xor r15d, r15d
cmp byte [rsp + 0x30], 0
je 0x140013bef
mov eax, dword [rsp + 0x98]
test eax, eax
jne 0x1400140d9
cmp byte [rsp + 0x34], 0
jne 0x1400140d9
lea rdx, [rsp + 0x8c]
mov rcx, r13
mov dword [rsp + 0x8c], 0
call sym.curl_multi_timeout
test eax, eax
jne 0x1400140d9
mov eax, dword [rsp + 0x8c]
test eax, eax
je 0x1400140d9
cmp dword [rsp + 0x1f8], eax
jl 0x1400142cd
test eax, eax
js 0x1400142cd
mov dword [rsp + 0x1f8], eax
movsxd rcx, dword [rsp + 0x1f8]
call sym.Curl_wait_ms
xor r15d, r15d
jmp 0x140013bef
cmp byte [rsp + 0x57], 0
je 0x140013f26
test eax, eax
je 0x140013ec8
jmp 0x140013ec3
mov r12, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
jne 0x140014130
mov rcx, qword [r13 + 0x258]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
jmp 0x14001404d
xor eax, eax
jmp 0x140013dc3
mov r12, qword [rsp + 0x40]
jmp 0x140013be9
mov rcx, qword [rsp + 0x38]
call sym.Curl_llist_head
mov r14, rax
test rax, rax
je 0x14001410d
mov rbp, qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov edi, dword [rsp + 0x48]
mov qword [rsp + 0x38], r12
nop word [rax + rax]
mov rcx, r14
call sym.Curl_node_elem
mov edx, dword [rax + 0xc8]
mov r12, rax
test edx, edx
je 0x1400141cf
cmp qword [rsp + 0x200], 0
jne 0x1400141f0
mov rsi, qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
xor r15d, r15d
lea rbx, [rsp + 0xb0]
nop word [rax + rax]
mov rcx, qword [r12 + r15*8 + 0xa0]
mov r8, rbx
xor edx, edx
mov dword [rsp + 0xb0], 0
call rsi
mov rcx, qword [r12 + r15*8 + 0xa0]
mov rdx, qword [r13 + 0x258]
xor r8d, r8d
call rbp
mov eax, dword [r12 + 0xc8]
add r15, 1
cmp rax, r15
ja 0x140014190
mov rcx, r14
call sym.Curl_node_next
mov r14, rax
test rax, rax
jne 0x140014158
mov r12, qword [rsp + 0x38]
jmp 0x14001410d
mov r15d, dword [rsp + 0x50]
xor esi, esi
lea rbx, [rsp + 0xb0]
nop
xor edx, edx
mov rcx, qword [r12 + rsi*8 + 0xa0]
mov r8, rbx
mov dword [rsp + 0xb0], 0
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
or eax, edi
jne 0x14001422e
cmp dword [rsp + 0xb0], 1
sbb r15d, 0xffffffff
mov rcx, qword [r12 + rsi*8 + 0xa0]
mov rdx, qword [r13 + 0x258]
xor r8d, r8d
add rsi, 1
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov eax, dword [r12 + 0xc8]
cmp rsi, rax
jb 0x140014200
mov dword [rsp + 0x50], r15d
jmp 0x1400141cf
mov r9d, eax
jmp 0x140013c88
mov rax, qword [r13 + 0xe8]
mov rdx, rbx
mov rcx, r15
movdqu xmm2, xmmword [rax + 0x20]
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x70], xmm2
call sym.Curl_timediff_ceil
mov r9d, dword [rsp + 0x98]
test eax, eax
js 0x140013dd9
jmp 0x140013dc3
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x50], eax
jmp 0x140014105
test byte [r13 + 0x26c], 8
jne 0x14001401e
cmp qword [r13 + 0xe8], 0
jne 0x140013d56
jmp 0x14001403a
mov eax, dword [rsp + 0x1f8]
mov dword [rsp + 0x8c], eax
jmp 0x1400140cc