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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x380
mov rax, qword [0x1400db748]
xor rax, rsp
mov qword [rsp + 0x370], rax
mov rsi, qword [0x1401052d0]
xor ebx, ebx
mov r14d, edx
mov ebp, ecx
mov rdx, qword [0x1401052c8]
mov r8d, ebx
movsxd r15, r14d
mov r9d, ebx
imul r13, r15, 0x788
mov dword [rsp + 0x38], ecx
mov edi, ebx
lea rcx, [r15 + 3]
mov dword [rsp + 0x3c], r14d
movsxd r11, dword [rdx + rcx*4]
lea r12, [rdx + rcx*4]
add r13, rsi
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], r15
mov r10d, ebx
mov qword [rsp + 0x40], r12
cmp r11, 2
jl 0x14002da5f
shl rcx, 4
add rcx, rdx
lea rdx, [r11 - 2]
shr rdx, 1
inc rdx
lea r10, [rdx + rdx]
nop word [rax + rax]
mov rax, qword [rcx - 8]
lea rcx, [rcx + 0x10]
add r8d, dword [rax + 0x24]
mov rax, qword [rcx - 0x10]
add r9d, dword [rax + 0x24]
sub rdx, 1
jne 0x14002da40
mov rdx, qword [rsp + 0x48]
cmp r10, r11
jge 0x14002da70
lea rax, [r10 + r15*2]
mov rcx, qword [rdx + rax*8 + 0x28]
mov edi, dword [rcx + 0x24]
cmp dword [r13 + 0x140], ebx
jne 0x14002da89
lea eax, [r9 + r8]
add eax, edi
jne 0x14002da89
test ebp, ebp
je 0x14002dd59
mov rdi, qword [rsi + 0x28]
xor r15b, r15b
mov dword [rsp + 0x30], r15d
mov qword [rsi + 0x28], rbx
test rdi, rdi
je 0x14002db1f
mov r12d, 1
nop dword [rax + rax]
mov r8, qword [rdi]
mov rbp, qword [rdi + 8]
mov rax, qword [r8 + 0x10]
bt rax, r14
jae 0x14002db01
xor r9d, r9d
mov rcx, rsi
lea edx, [r9 + 2]
call fcn.14002e780
mov rcx, qword [rdi]
test al, al
movzx r15d, r15b
cmovne r15d, r12d
dec dword [rcx + 8]
cmp dword [rcx + 8], ebx
jg 0x14002daf0
mov rax, qword [rsi + 0x20]
mov qword [rcx], rax
mov qword [rsi + 0x20], rcx
mov qword [rdi], rbx
mov rax, qword [rsi + 0x30]
mov qword [rdi + 8], rax
mov qword [rsi + 0x30], rdi
jmp 0x14002db0d
mov rax, qword [rsi + 0x28]
mov qword [rdi + 8], rax
mov qword [rsi + 0x28], rdi
mov rdi, rbp
test rbp, rbp
jne 0x14002dab0
mov r12, qword [rsp + 0x40]
mov dword [rsp + 0x30], r15d
mov edx, dword [r13 + 0x144]
mov r11d, dword [r13 + 0x140]
inc edx
mov dword [r13 + 0x144], edx
mov ebp, r11d
cmp edx, r11d
jl 0x14002db47
mov dword [r13 + 0x144], ebx
mov edx, ebx
mov r15d, ebx
test r11d, r11d
jle 0x14002dbbc
movsxd r10, edx
lea r8, [rsp + 0x280]
lea r9, [rsp + 0x90]
nop dword [rax]
nop word [rax + rax]
mov rcx, r10
shl rcx, 5
mov rax, qword [rcx + r13 + 0x148]
cmp byte [rax + 0x41], bl
je 0x14002db88
dec ebp
jmp 0x14002dba1
mov rax, qword [rcx + r13 + 0x150]
inc r15d
mov qword [r9], rax
add r9, 8
mov dword [r8], edx
add r8, 4
lea ecx, [rdx + 1]
mov edx, ebx
cmp ecx, r11d
lea rax, [r10 + 1]
mov r10, rbx
cmovne edx, ecx
cmovne r10, rax
cmp r15d, ebp
jl 0x14002db70
movsxd r8, dword [r12]
test r8, r8
jle 0x14002dbf4
movsxd rax, r15d
lea rcx, [rsp + 0x90]
lea rdx, [r13 + 0x8b0]
add ebp, r8d
lea rcx, [rcx + rax*8]
nop
mov rax, qword [rdx]
lea rdx, [rdx - 0x20]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x14002dbe0
cmp r14d, 5
movsxd rcx, ebp
mov eax, r14d
mov dword [rsp + 0x40], ebp
cmovne eax, ebx
lea r14, [rsi + 0x50]
cdqe
inc ebp
shl rax, 5
add r14, rax
mov qword [rsp + 0x58], r14
mov rax, qword [r14 + 0x10]
mov qword [rsp + rcx*8 + 0x90], rax
mov eax, 0x10624dd3
mov ecx, dword [rsp + 0x38]
mov byte [r14], bl
add ecx, 0x3e7
mul ecx
mov eax, dword [r14 + 4]
inc eax
mov edi, edx
shr edi, 6
mov dword [r14 + 4], eax
cmp qword [rsi + 0x110], rbx
je 0x14002dc6b
mov rax, qword [0x1401052d0]
mov qword [rax + 0x118], rbx
mov rcx, qword [rsi + 0x110]
call fcn.14001b3d0
mov r9d, 0x4ff
mov dword [rsp + 0x20], 2
mov r8d, edi
lea rdx, [rsp + 0x90]
mov ecx, ebp
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsi + 0x110]
mov r12d, eax
test rcx, rcx
je 0x14002dcb4
call fcn.14001b000
call fcn.140026b40
mov qword [rsi + 0x118], rax
mov ecx, dword [r14 + 4]
dec ecx
mov dword [r14 + 4], ecx
movzx eax, byte [r14 + 8]
test al, al
je 0x14002dcdd
mov eax, dword [r14 + 4]
test eax, eax
jne 0x14002dcdd
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov byte [r14 + 8], bl
cmp edi, 0x101
jne 0x14002dcec
mov edi, 0xc0
jmp 0x14002dcf4
test edi, edi
js 0x14002de9e
cmp edi, ebp
jge 0x14002dea0
cmp edi, dword [rsp + 0x40]
je 0x14002dd1b
movzx eax, byte [r14]
test al, al
je 0x14002dd84
movsxd rcx, edi
mov rcx, qword [rsp + rcx*8 + 0x90]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov r12d, dword [rsp + 0x30]
mov eax, dword [r14 + 4]
test eax, eax
jne 0x14002dd55
cmp qword [r14 + 0x18], 0
je 0x14002dd55
nop
mov rbx, qword [r14 + 0x18]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbx + 8]
mov rcx, rbx
mov qword [r14 + 0x18], rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp qword [r14 + 0x18], 0
jne 0x14002dd30
movzx eax, r12b
mov rcx, qword [rsp + 0x370]
xor rcx, rsp
call fcn.14006a480
mov rbx, qword [rsp + 0x3d0]
add rsp, 0x380
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lfence
cmp edi, r15d
jge 0x14002ddbf
movsxd rax, edi
xor r9d, r9d
mov rcx, rsi
movsxd r8, dword [rsp + rax*4 + 0x280]
lea edx, [r9 + 2]
shl r8, 5
mov r8, qword [r8 + r13 + 0x148]
call fcn.14002e780
mov r12d, dword [rsp + 0x30]
or r12b, al
jmp 0x14002dd20
mov rcx, qword [rsp + 0x50]
sub edi, r15d
mov r15, qword [rsp + 0x48]
xor bpl, bpl
mov rsi, qword [0x1401052d0]
movsxd rax, edi
lea rcx, [rax + rcx*2]
mov r15, qword [r15 + rcx*8 + 0x28]
mov rdi, qword [r15 + 0x38]
test rdi, rdi
je 0x14002de43
mov r14d, 1
mov r8, qword [rdi]
xor r9d, r9d
mov rcx, rsi
lea edx, [r9 + 2]
call fcn.14002e780
mov rcx, qword [rdi]
test al, al
movzx ebp, bpl
cmovne ebp, r14d
dec dword [rcx + 8]
cmp dword [rcx + 8], ebx
jg 0x14002de23
mov rax, qword [rsi + 0x20]
mov qword [rcx], rax
mov qword [rsi + 0x20], rcx
mov rcx, qword [rdi + 8]
mov qword [rdi], rbx
mov rax, qword [rsi + 0x30]
mov qword [rdi + 8], rax
mov qword [rsi + 0x30], rdi
mov rdi, rcx
test rcx, rcx
jne 0x14002ddf1
mov r14, qword [rsp + 0x58]
mov r12d, dword [rsp + 0x30]
lea rdx, [rsp + 0x34]
xor r9d, r9d
mov qword [r15 + 0x38], rbx
movsxd rsi, dword [r15 + 0x2c]
or r12b, bpl
mov rcx, rsi
mov byte [rsp + 0x34], 1
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
mov edi, eax
cmp eax, 1
je 0x14002dd20
cmp eax, 0xffffffff
jne 0x14002de85
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov r9d, ebx
lea rcx, str.POLL_could_not_signal_socket_thread__fd__d__ret__d__err__d__n
mov r8d, edi
mov edx, esi
call fcn.14001bf60
jmp 0x14002dd20
cmp edi, ebp
jne 0x14002df53
cmp qword [rsi + 0x110], rbx
je 0x14002dec9
mov rax, qword [0x1401052d0]
mov qword [rax + 0x118], rbx
mov rcx, qword [rsi + 0x110]
call fcn.14001b3d0
call fcn.140026b40
xor r9d, r9d
lea rcx, [rsp + 0x60]
xor r8d, r8d
xor edx, edx
cmp rax, qword [0x1401052e0]
jne 0x14002def0
mov dword [rsp + 0x20], ebx
call qword [sym.imp.USER32.dll_PeekMessageA]
jmp 0x14002df2d
mov eax, 1
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x14002df2d
mov r8d, dword [rsp + 0x68]
test r8d, r8d
je 0x14002df2d
mov rax, qword [rsp + 0x78]
lea rcx, str.Ignoring_windows_message_posted_to_non_UI_thread._hwnd__d_msg__d_wp__08x_lp__08x_n
mov r9, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.14001dba0
mov rcx, qword [rsi + 0x110]
test rcx, rcx
je 0x14002dd1b
call fcn.14001b000
call fcn.140026b40
mov qword [rsi + 0x118], rax
jmp 0x14002dd1b
cmp edi, 0x102
je 0x14002dd1b
cmp edi, 0xc0
je 0x14002dd1b
mov ecx, r12d
call fcn.140013400
mov r9, rax
lea rcx, str.POLL_bad_return_value__d_from_WaitForMultiple__error__d___s__n
mov r8d, r12d
mov edx, edi
call fcn.14001bf60
mov edx, dword [rsp + 0x38]
lea rcx, str.POLL_timeout__d_totalEvents__d_n
mov r8d, ebp
call fcn.14001bf60
lea rcx, str.POLL_waited_on_events:_n
call fcn.14001bf60
movsxd rdi, ebp
test ebp, ebp
jle 0x14002dfcc
nop dword [rax]
mov rdx, qword [rsp + rbx*8 + 0x90]
lea rcx, str.POLL___handle__d_n
call fcn.14001bf60
inc rbx
cmp rbx, rdi
jl 0x14002dfb0
mov edx, dword [rsp + 0x3c]
mov rcx, rsi
call fcn.14002d710
mov r9d, 0x1346
lea rdx, str.boralibpollDefaultpollDefault.c
mov r8d, 0xf68
lea rcx, str.VERIFY__s:_d_bugNr_d_n
call fcn.14002b900
int3