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

Disassembly:
push rbp
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x1400de928]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [rbp + 0xd0]
xor r14d, r14d
mov dword [rsp + 0x38], r9d
mov r15, rdx
mov r12d, r8d
mov r13, rcx
mov qword [rsp + 0x70], rdx
mov esi, r14d
mov qword [rsp + 0x68], rax
test rcx, rcx
je 0x14001011c
cmp dword [rcx], 0xbab1e
jne 0x14001011c
cmp byte [rcx + 0x24b], sil
je 0x14000fc11
lea eax, [r14 + 8]
jmp 0x140010121
test r9d, r9d
jns 0x14000fc20
mov eax, 0xa
jmp 0x140010121
mov qword [rsp + 0x1c0], rbx
lea rdx, [rbp - 0x40]
mov r8d, 0xa
mov qword [rsp + 0x170], rdi
lea rcx, [rsp + 0x48]
call fcn.140035b40
lea rcx, [r13 + 0x30]
call fcn.140012b50
mov rdi, rax
test rax, rax
je 0x14000fc94
mov rcx, rdi
call fcn.140012b40
mov rcx, rax
lea rbx, [rax + 0xa0]
mov rdx, rbx
call fcn.14000e580
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1400359a0
test eax, eax
jne 0x14000fe0c
mov rcx, rdi
call fcn.140012de0
mov rdi, rax
test rax, rax
jne 0x14000fc55
lea rcx, [r13 + 0x170]
lea rdx, [rsp + 0x48]
call fcn.140017850
test eax, eax
jne 0x14000fe0c
mov eax, dword [rsp + 0x50]
mov rbx, r14
mov dword [rsp + 0x30], eax
mov r8d, 0x400
mov qword [rsp + 0x40], r12
test r12, r12
je 0x14000fd2f
mov rdi, r15
nop dword [rax + rax]
movzx r9d, word [rdi + 8]
movzx eax, r9b
and al, 1
neg al
movzx eax, r9b
sbb cx, cx
and cx, 0x300
movzx edx, cx
or dx, r8w
and al, 2
cmove dx, cx
lea rcx, [rsp + 0x48]
movzx r8d, dx
or r8w, 0x10
and r9b, 4
cmove r8w, dx
mov rdx, qword [rdi]
call fcn.140035b00
test eax, eax
jne 0x14000fe0c
inc rbx
add rdi, 0x10
mov r8d, 0x400
cmp rbx, r12
jb 0x14000fcd0
mov r15, r14
mov ecx, 0x300
cmp dword [rsp + 0x50], esi
jbe 0x14000fe17
mov rdi, r14
nop dword [rax]
nop dword [rax + rax]
mov r12, qword [rsp + 0x48]
movzx edx, word [r12 + rdi + 8]
movzx eax, dx
and ax, cx
neg ax
movzx eax, dx
sbb ecx, ecx
and ecx, 0x29
mov ebx, ecx
or ebx, 4
and ax, r8w
cmove ebx, ecx
test dl, 0x10
je 0x14000fdcb
mov r12, qword [r12 + rdi]
lea rax, [rsp + 0x60]
mov rcx, r12
mov dword [rsp + 0x60], 4
lea r9, [rsp + 0x34]
mov qword [rsp + 0x20], rax
mov edx, 0xffff
mov r8d, 0x1008
or ebx, 0x32
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x14000fdcb
cmp dword [rsp + 0x34], 1
jne 0x14000fdcb
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
test ebx, ebx
je 0x14000fdec
mov rcx, qword [rsp + 0x48]
mov r8d, ebx
mov rdx, qword [r13 + 0x238]
mov rcx, qword [rdi + rcx]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x14000fe0c
mov eax, dword [rsp + 0x50]
inc r15
add rdi, 0x10
cmp r15, rax
jae 0x14000fe17
mov ecx, 0x300
mov r8d, 0x400
jmp 0x14000fd50
mov r14d, 3
jmp 0x1400100fd
lea r8, [rsp + 0x34]
mov rcx, r13
lea rdx, [rsp + 0x78]
call fcn.14000fa80
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
test eax, eax
js 0x14000fe3e
cmp eax, ebx
cmovl ebx, eax
mov dword [rsp + 0x38], ebx
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0xe0]
test eax, eax
jne 0x14000ff30
test dl, dl
je 0x140010091
mov r12d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], r14d
lea rdx, [r13 + 0x238]
mov r9d, ebx
lea ecx, [r8 + 1]
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
cmp qword [rsp + 0x40], r14
jbe 0x14000ffca
mov r15, qword [rsp + 0x70]
mov eax, dword [rsp + 0x30]
shl rax, 4
sub rax, r15
mov qword [rsp + 0x70], rax
nop dword [rax + rax]
mov rdi, qword [r15]
lea rcx, [rax + r15]
mov rax, qword [rsp + 0x48]
lea r8, [rbp - 0x78]
movzx ebx, r14w
movsx edx, word [rcx + rax + 0xa]
mov rcx, rdi
mov dword [rsp + 0x34], edx
xor edx, edx
mov dword [rbp - 0x78], r14d
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x14000ff5e
mov r8d, dword [rbp - 0x78]
mov ecx, r14d
test r8b, 0x29
mov eax, r8d
setne cl
movzx edx, cx
or dx, 4
and al, 0x32
mov eax, r8d
cmove dx, cx
movzx ecx, dx
or cx, 2
and al, 4
cmove cx, dx
movzx ebx, cx
cmp qword [rsp + 0x68], r14
je 0x14000ff5e
test r12d, r12d
jne 0x14000ff5e
test r8d, r8d
je 0x14000ff5e
mov rdx, qword [r13 + 0x238]
inc esi
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
jmp 0x14000ffb0
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
mov edx, eax
call fcn.1400355a0
mov r12d, eax
test eax, eax
jns 0x14000ff51
mov r14d, ntohs
jmp 0x1400100fd
jle 0x14000fe5c
mov esi, eax
jmp 0x14000fe78
mov rdx, qword [r13 + 0x238]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test r12d, r12d
je 0x14000ffb0
mov r8d, dword [rsp + 0x34]
movzx ecx, bx
or cx, 1
mov eax, r8d
and eax, 0x300
mov eax, r8d
cmove cx, bx
movzx edx, cx
or dx, 4
and al, 0x10
cmove dx, cx
movzx ebx, dx
or bx, 2
and r8d, 0x400
cmove bx, dx
mov rax, qword [rsp + 0x70]
mov word [r15 + 0xa], bx
add r15, 0x10
sub qword [rsp + 0x40], 1
jne 0x14000fea0
cmp dword [rsp + 0x30], r14d
je 0x140010079
lea rcx, [r13 + 0x30]
call fcn.140012b50
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140010079
nop dword [rax]
mov rcx, rax
call fcn.140012b40
mov rdi, r14
mov r15, rax
cmp dword [rax + 0xc8], edi
jbe 0x140010061
lea rbx, [rax + 0xa0]
nop dword [rax]
mov dword [rbp - 0x78], r14d
lea r8, [rbp - 0x78]
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x14001003b
cmp qword [rsp + 0x68], r14
je 0x14001003b
test r12d, r12d
jne 0x14001003b
cmp dword [rbp - 0x78], r14d
je 0x14001003b
inc esi
mov rdx, qword [r13 + 0x238]
xor r8d, r8d
mov rcx, qword [rbx]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov eax, dword [r15 + 0xc8]
inc rdi
add rbx, 8
cmp rdi, rax
jb 0x140010010
mov rcx, qword [rsp + 0x40]
call fcn.140012de0
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x14000fff0
mov rcx, qword [r13 + 0x238]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0xe0]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14001009d
mov dword [rcx], esi
cmp byte [rbp + 0xd8], r14b
je 0x1400100fd
test eax, eax
jne 0x1400100fd
test dl, dl
jne 0x1400100fd
cmp dword [r13], 0xbab1e
mov dword [rsp + 0x30], r14d
jne 0x1400100fd
cmp byte [r13 + 0x24b], r14b
jne 0x1400100fd
lea r8, [rsp + 0x30]
mov rcx, r13
lea rdx, [rsp + 0x78]
call fcn.14000fa80
test eax, eax
jne 0x1400100fd
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x1400100fd
mov r9d, dword [rsp + 0x38]
cmp ecx, r9d
jg 0x1400100f2
test ecx, ecx
jns 0x1400100f5
mov ecx, r9d
movsxd rcx, ecx
call fcn.140035cd0
lea rcx, [rsp + 0x48]
call fcn.140035b10
mov rdi, qword [rsp + 0x170]
mov eax, r14d
mov rbx, qword [rsp + 0x1c0]
jmp 0x140010121
mov eax, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.14007b260
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret