Function at 0x1400c85c0
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, 0x168
mov eax, dword [rsp + 0x1d8]
lea rdi, [rsp + 0x78]
mov dword [rsp + 0x4c], eax
mov rbx, rcx
mov r15, rdx
mov eax, dword [rsp + 0x1e0]
mov rcx, rdi
mov ebp, r8d
mov esi, r9d
lea rdx, [rsp + 0xc0]
mov r8d, 0xa
mov dword [rsp + 0x48], eax
call fcn.140088a70
lea rax, [rbx + 0x30]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.140084050
mov r13, rax
test rax, rax
je 0x1400c8667
mov rcx, r13
call fcn.140085aa0
lea r12, [rax + 0xa0]
mov rcx, rax
mov rdx, r12
call fcn.1400c7270
mov rdx, r12
mov rcx, rdi
call fcn.1400889b0
test eax, eax
je 0x1400c865d
mov r12d, 3
jmp 0x1400c8a3c
mov rcx, r13
call fcn.140085ac0
jmp 0x1400c8621
lea rcx, [rbx + 0x180]
mov rdx, rdi
call fcn.1400790b0
test eax, eax
jne 0x1400c8652
mov eax, dword [rsp + 0x80]
mov r13, r15
mov r12, r15
xor r14d, r14d
lea rdi, [rsp + 0x78]
mov dword [rsp + 0x34], eax
cmp r14, rbp
jae 0x1400c86e0
mov eax, dword [r12 + 8]
mov r8d, eax
and r8d, 1
neg r8d
and r8w, 0x300
test al, 2
je 0x1400c86b7
or r8w, 0x400
test al, 4
je 0x1400c86bf
or r8d, 0x10
mov rdx, qword [r12]
movzx r8d, r8w
mov rcx, rdi
add r12, 0x10
call fcn.140088a30
test eax, eax
jne 0x1400c8652
inc r14
jmp 0x1400c8693
lea rax, [rsp + 0x68]
xor edi, edi
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x80]
cmp rdi, rax
jae 0x1400c87b5
mov rdx, qword [rsp + 0x78]
mov r12, rdi
shl r12, 4
add rdx, r12
mov eax, dword [rdx + 8]
mov ecx, eax
and cx, 0x300
neg cx
sbb r14d, r14d
and r14d, 0x29
test ah, 4
je 0x1400c8728
or r14d, 4
test al, 0x10
je 0x1400c8786
mov rcx, qword [rdx]
or r14d, 0x32
mov r9, qword [rsp + 0x40]
lea rax, [rsp + 0x94]
mov qword [rsp + 0x20], rax
mov r8d, 0x1008
mov edx, 0xffff
mov dword [rsp + 0x94], 4
mov qword [rsp + 0x50], rcx
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x1400c8793
cmp dword [rsp + 0x68], 1
mov rcx, qword [rsp + 0x50]
jne 0x1400c8793
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.WS2_32.dll_send]
jmp 0x1400c8793
test r14d, r14d
jne 0x1400c8793
inc rdi
jmp 0x1400c86ec
mov rax, qword [rsp + 0x78]
mov rdx, qword [rbx + 0x258]
mov r8d, r14d
mov rcx, qword [rax + r12]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
je 0x1400c878b
jmp 0x1400c8652
lea rdx, [rsp + 0x68]
lea r8, [rsp + 0x60]
mov rcx, rbx
call fcn.1400c84d0
mov eax, dword [rsp + 0x60]
test eax, eax
js 0x1400c87d4
cmp esi, eax
cmovg esi, eax
mov edx, dword [rsp + 0x80]
test edx, edx
jne 0x1400c8811
xor r12d, r12d
cmp byte [rsp + 0x48], 0
je 0x1400c89d2
xor r9d, r9d
lea rdx, [rbx + 0x258]
xor r8d, r8d
xor edi, edi
mov dword [rsp + 0x20], r9d
mov ecx, 1
mov r9d, esi
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
jmp 0x1400c8830
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
mov r12d, 0xc
call fcn.140088690
mov edi, eax
test eax, eax
js 0x1400c8a3c
je 0x1400c87ed
shl rbp, 4
mov r14d, dword [rsp + 0x34]
mov r12d, edi
lea rax, [r15 + rbp]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x94]
shl r14, 4
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x40]
cmp r13, rax
je 0x1400c8920
mov rcx, qword [r13]
mov rax, qword [rsp + 0x78]
xor r8d, r8d
xor edx, edx
xor r15d, r15d
mov qword [rsp + 0x58], rcx
mov bp, word [rax + r14 + 0xa]
mov dword [rsp + 0x94], r8d
mov r8, qword [rsp + 0x50]
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
mov rcx, qword [rsp + 0x58]
test eax, eax
jne 0x1400c88d8
mov eax, dword [rsp + 0x94]
xor r15d, r15d
test al, 0x29
setne r15b
test al, 0x32
je 0x1400c88b4
or r15d, 4
test al, 4
je 0x1400c88bc
or r15d, 2
cmp qword [rsp + 0x1d0], 0
setne dl
test eax, eax
setne al
test dl, al
je 0x1400c88d8
cmp edi, 1
adc r12d, 0
xor r8d, r8d
mov rdx, qword [rbx + 0x258]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test edi, edi
je 0x1400c890e
test bp, 0x300
je 0x1400c88f7
or r15d, 1
test ebp, 0x10
je 0x1400c8903
or r15d, 4
test bp, 0x400
je 0x1400c890e
or r15d, 2
mov word [r13 + 0xa], r15w
add r14, 0x10
add r13, 0x10
jmp 0x1400c8856
cmp dword [rsp + 0x34], 0
je 0x1400c89c5
mov rcx, qword [rsp + 0x38]
call fcn.140084050
mov rbp, rax
test rax, rax
je 0x1400c89c5
mov rcx, rbp
xor r14d, r14d
lea r13, [rsp + 0x94]
call fcn.140085aa0
mov r15, rax
mov eax, dword [r15 + 0xc8]
cmp r14, rax
jae 0x1400c89b8
xor edx, edx
mov rcx, qword [r15 + r14*8 + 0xa0]
mov r8, r13
mov dword [rsp + 0x94], edx
xor edx, edx
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
or eax, edi
jne 0x1400c899b
cmp qword [rsp + 0x1d0], 0
je 0x1400c899b
cmp dword [rsp + 0x94], 0
je 0x1400c899b
inc r12d
mov rcx, qword [r15 + r14*8 + 0xa0]
mov rdx, qword [rbx + 0x258]
xor r8d, r8d
inc r14
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
jmp 0x1400c8957
mov rcx, rbp
call fcn.140085ac0
jmp 0x1400c8935
mov rcx, qword [rbx + 0x258]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
cmp qword [rsp + 0x1d0], 0
je 0x1400c89e8
mov rax, qword [rsp + 0x1d0]
mov dword [rax], r12d
cmp byte [rsp + 0x4c], 0
je 0x1400c8a00
cmp dword [rsp + 0x80], 0
jne 0x1400c8a00
cmp byte [rsp + 0x48], 0
je 0x1400c8a05
xor r12d, r12d
jmp 0x1400c8a3c
xor eax, eax
lea rdx, [rsp + 0x64]
mov rcx, rbx
mov dword [rsp + 0x64], eax
call fcn.1400b6250
test eax, eax
jne 0x1400c8a00
mov eax, dword [rsp + 0x64]
test eax, eax
je 0x1400c8a00
cmp esi, eax
jl 0x1400c8a2c
test eax, eax
jns 0x1400c8a30
mov dword [rsp + 0x64], esi
movsxd rcx, dword [rsp + 0x64]
call fcn.140090af0
jmp 0x1400c8a00
lea rcx, [rsp + 0x78]
call fcn.140088a40
mov eax, r12d
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret