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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x140241cc0]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov r13, qword [rbp + 0xc0]
xor r14d, r14d
mov r15, qword [rbp + 0xc8]
mov esi, r14d
mov rax, qword [rbp + 0xe0]
mov edx, dword [rbp + 0xd8]
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x68], rax
test r13, r13
je 0x1400beb01
cmp dword [r13], 0xbab1e
jne 0x1400beb01
cmp byte [r13 + 0x25b], sil
je 0x1400be5d1
lea eax, [r14 + 8]
jmp 0x1400beb06
test edx, edx
jns 0x1400be5df
mov eax, 0xa
jmp 0x1400beb06
mov qword [rsp + 0x188], rbx
lea rdx, [rbp - 0x40]
mov r8d, 0xa
mov qword [rsp + 0x180], rdi
lea rcx, [rsp + 0x48]
call fcn.1400e9dc0
lea rcx, [r13 + 0x30]
call fcn.14002c780
mov rdi, rax
test rax, rax
je 0x1400be653
mov rcx, rdi
call fcn.1400c4990
mov rcx, rax
lea rbx, [rax + 0xa0]
mov rdx, rbx
call fcn.1400bcfa0
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1400e9be0
test eax, eax
jne 0x1400be7dc
mov rcx, rdi
call fcn.1400c4c50
mov rdi, rax
test rax, rax
jne 0x1400be614
lea rcx, [r13 + 0x170]
lea rdx, [rsp + 0x48]
call fcn.1400c96c0
test eax, eax
jne 0x1400be7dc
mov eax, dword [rsp + 0x50]
mov rbx, r14
mov qword [rsp + 0x178], r12
mov r8d, 0x400
mov r12d, dword [rbp + 0xd0]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x40], r12
test r12, r12
je 0x1400be6ff
mov rdi, r15
nop dword [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.1400e9d50
test eax, eax
jne 0x1400be7e7
inc rbx
add rdi, 0x10
mov r8d, 0x400
cmp rbx, r12
jb 0x1400be6a0
mov r15, r14
mov ecx, 0x300
cmp dword [rsp + 0x50], esi
jbe 0x1400be7f2
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 0x1400be79b
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 0x1400be79b
cmp dword [rsp + 0x34], 1
jne 0x1400be79b
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
test ebx, ebx
je 0x1400be7bc
mov rcx, qword [rsp + 0x48]
mov r8d, ebx
mov rdx, qword [r13 + 0x248]
mov rcx, qword [rdi + rcx]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x1400be7e7
mov eax, dword [rsp + 0x50]
inc r15
add rdi, 0x10
cmp r15, rax
jae 0x1400be7f2
mov ecx, 0x300
mov r8d, 0x400
jmp 0x1400be720
mov r14d, 3
jmp 0x1400beae2
mov r14d, 3
jmp 0x1400beada
lea r8, [rsp + 0x34]
mov rcx, r13
lea rdx, [rsp + 0x78]
call fcn.1400be400
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
test eax, eax
js 0x1400be819
cmp eax, ebx
cmovl ebx, eax
mov dword [rsp + 0x38], ebx
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0xf0]
test eax, eax
jne 0x1400be910
test dl, dl
je 0x1400bea71
mov r12d, r14d
xor r8d, r8d
mov dword [rsp + 0x20], r14d
lea rdx, [r13 + 0x248]
mov r9d, ebx
lea ecx, [r8 + 1]
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
cmp qword [rsp + 0x40], r14
jbe 0x1400be9aa
mov r15, qword [rsp + 0x70]
mov eax, dword [rsp + 0x30]
shl rax, 4
sub rax, r15
mov qword [rsp + 0x70], rax
nop dword [rax]
nop word [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 0x1400be93e
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 0x1400be93e
test r12d, r12d
jne 0x1400be93e
test r8d, r8d
je 0x1400be93e
mov rdx, qword [r13 + 0x248]
inc esi
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
jmp 0x1400be990
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
mov edx, eax
call fcn.1400e97c0
mov r12d, eax
test eax, eax
jns 0x1400be931
mov r14d, recvfrom
jmp 0x1400beada
jle 0x1400be837
mov esi, eax
jmp 0x1400be853
mov rdx, qword [r13 + 0x248]
xor r8d, r8d
mov rcx, rdi
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test r12d, r12d
je 0x1400be990
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 0x1400be880
cmp dword [rsp + 0x30], r14d
je 0x1400bea59
lea rcx, [r13 + 0x30]
call fcn.14002c780
mov qword [rsp + 0x40], rax
test rax, rax
je 0x1400bea59
nop dword [rax]
mov rcx, rax
call fcn.1400c4990
mov rdi, r14
mov r15, rax
cmp dword [rax + 0xc8], edi
jbe 0x1400bea41
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 0x1400bea1b
cmp qword [rsp + 0x68], r14
je 0x1400bea1b
test r12d, r12d
jne 0x1400bea1b
cmp dword [rbp - 0x78], r14d
je 0x1400bea1b
inc esi
mov rdx, qword [r13 + 0x248]
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 0x1400be9f0
mov rcx, qword [rsp + 0x40]
call fcn.1400c4c50
mov qword [rsp + 0x40], rax
test rax, rax
jne 0x1400be9d0
mov rcx, qword [r13 + 0x248]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0xf0]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400bea7d
mov dword [rcx], esi
cmp byte [rbp + 0xe8], r14b
je 0x1400beada
test eax, eax
jne 0x1400beada
test dl, dl
jne 0x1400beada
cmp dword [r13], 0xbab1e
mov dword [rsp + 0x30], r14d
jne 0x1400beada
cmp byte [r13 + 0x25b], r14b
jne 0x1400beada
lea r8, [rsp + 0x30]
mov rcx, r13
lea rdx, [rsp + 0x78]
call fcn.1400be400
test eax, eax
jne 0x1400beada
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x1400beada
mov edx, dword [rsp + 0x38]
cmp ecx, edx
jg 0x1400bead0
test ecx, ecx
jns 0x1400bead2
mov ecx, edx
movsxd rcx, ecx
call fcn.1400e9f70
mov r12, qword [rsp + 0x178]
lea rcx, [rsp + 0x48]
call fcn.1400e9d80
mov rdi, qword [rsp + 0x180]
mov eax, r14d
mov rbx, qword [rsp + 0x188]
jmp 0x1400beb06
mov eax, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140144310
add rsp, 0x190
pop r15
pop r14
pop r13
pop rsi
pop rbp
ret