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

Disassembly:
push rbp
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov rax, qword [0x1401ec840]
xor rax, rsp
mov qword [rbp + 0x80], rax
mov rax, qword [rbp + 0xf0]
xor esi, esi
mov dword [rsp + 0x38], r9d
mov r13, rdx
mov r15d, r8d
mov r14, rcx
mov qword [rsp + 0x70], rdx
mov edi, esi
mov qword [rsp + 0x68], rax
test rcx, rcx
je 0x140148587
cmp dword [rcx], 0xbab1e
jne 0x140148587
cmp byte [rcx + 0x22b], sil
je 0x1401480a3
lea eax, [rsi + 8]
jmp 0x14014858c
test r9d, r9d
jns 0x1401480b2
mov eax, 0xa
jmp 0x14014858c
mov r8d, 0xa
mov qword [rsp + 0x1e0], rbx
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x48]
call fcn.140170660
mov rbx, qword [r14 + 8]
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x58], rax
movups xmmword [rsp + 0x78], xmm0
movups xmmword [rbp - 0x78], xmm0
movups xmmword [rbp - 0x68], xmm0
test rbx, rbx
je 0x14014811d
nop dword [rax]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.140146aa0
lea rdx, [rsp + 0x78]
lea rcx, [rsp + 0x48]
call fcn.1401704c0
test eax, eax
jne 0x14014829d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1401480f0
lea rcx, [r14 + 0x158]
lea rdx, [rsp + 0x48]
call fcn.14014f8f0
test eax, eax
jne 0x14014829d
mov eax, dword [rsp + 0x50]
mov rbx, rsi
mov qword [rsp + 0x190], r12
mov r12, r15
mov dword [rsp + 0x30], eax
mov r8d, 0x400
mov qword [rsp + 0x40], r15
test r15d, r15d
je 0x1401481bf
mov r15, r13
nop
movzx r9d, word [r15 + 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 [r15]
call fcn.140170620
test eax, eax
jne 0x1401482a7
inc rbx
add r15, 0x10
mov r8d, 0x400
cmp rbx, r12
jb 0x140148160
mov r12, rsi
mov ecx, 0x300
cmp dword [rsp + 0x50], esi
jbe 0x1401482b6
mov r15, rsi
nop dword [rax]
nop dword [rax + rax]
mov r13, qword [rsp + 0x48]
movzx edx, word [r13 + r15 + 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 0x14014825c
mov r13, qword [r13 + r15]
lea rax, [rsp + 0x60]
mov rcx, r13
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 0x14014825c
cmp dword [rsp + 0x34], 1
jne 0x14014825c
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.WS2_32.dll_send]
test ebx, ebx
je 0x14014827d
mov rcx, qword [rsp + 0x48]
mov r8d, ebx
mov rdx, qword [r14 + 0x218]
mov rcx, qword [r15 + rcx]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x1401482a7
mov eax, dword [rsp + 0x50]
inc r12
add r15, 0x10
cmp r12, rax
jae 0x1401482b1
mov ecx, 0x300
mov r8d, 0x400
jmp 0x1401481e0
mov esi, 3
jmp 0x140148571
mov esi, 3
jmp 0x140148569
mov r13, qword [rsp + 0x70]
lea rdx, [rsp + 0x34]
mov rcx, r14
call fcn.140147f40
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x38]
test eax, eax
js 0x1401482d8
cmp eax, ebx
cmovl ebx, eax
mov dword [rsp + 0x38], ebx
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0x100]
test eax, eax
jne 0x1401483bb
test dl, dl
je 0x140148504
mov r15d, esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
lea rdx, [r14 + 0x218]
mov r9d, ebx
lea ecx, [r8 + 1]
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
cmp qword [rsp + 0x40], rsi
jbe 0x140148454
mov eax, dword [rsp + 0x30]
shl rax, 4
sub rax, r13
mov qword [rsp + 0x70], rax
nop dword [rax]
mov r12, qword [r13]
lea rcx, [rax + r13]
mov rax, qword [rsp + 0x48]
lea r8, [rbp - 0x50]
movzx ebx, si
movsx edx, word [rcx + rax + 0xa]
mov rcx, r12
mov dword [rsp + 0x34], edx
xor edx, edx
mov dword [rbp - 0x50], esi
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x1401483e8
mov r8d, dword [rbp - 0x50]
mov ecx, esi
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], rsi
je 0x1401483e8
test r15d, r15d
jne 0x1401483e8
test r8d, r8d
je 0x1401483e8
mov rdx, qword [r14 + 0x218]
inc edi
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
jmp 0x14014843a
mov rcx, qword [rsp + 0x48]
xor r8d, r8d
mov edx, eax
call fcn.1401700c0
mov r15d, eax
test eax, eax
jns 0x1401483db
mov esi, ntohs
jmp 0x140148569
jle 0x1401482f6
mov edi, eax
jmp 0x140148311
mov rdx, qword [r14 + 0x218]
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test r15d, r15d
je 0x14014843a
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 [r13 + 0xa], bx
add r13, 0x10
sub qword [rsp + 0x40], 1
jne 0x140148330
cmp dword [rsp + 0x30], esi
je 0x1401484ec
mov r13, qword [r14 + 8]
mov qword [rsp + 0x40], r13
test r13, r13
je 0x1401484ec
lea rdx, [rsp + 0x78]
mov rcx, r13
call fcn.140146aa0
mov rbx, rsi
cmp dword [rbp - 0x60], ebx
jbe 0x1401484de
mov r13, qword [rsp + 0x68]
nop word [rax + rax]
mov rcx, qword [rsp + rbx*8 + 0x78]
lea r8, [rbp - 0x50]
xor edx, edx
mov dword [rbp - 0x50], esi
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x1401484b9
test r13, r13
je 0x1401484b9
test r15d, r15d
jne 0x1401484b9
cmp dword [rbp - 0x50], esi
je 0x1401484b9
inc edi
mov rdx, qword [r14 + 0x218]
xor r8d, r8d
mov rcx, qword [rsp + rbx*8 + 0x78]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
mov eax, dword [rbp - 0x60]
inc rbx
cmp rbx, rax
jb 0x140148490
mov r13, qword [rsp + 0x40]
mov r13, qword [r13 + 0x10]
mov qword [rsp + 0x40], r13
test r13, r13
jne 0x140148470
mov rcx, qword [r14 + 0x218]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
mov eax, dword [rsp + 0x50]
movzx edx, byte [rbp + 0x100]
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140148510
mov dword [rcx], edi
cmp byte [rbp + 0xf8], sil
je 0x140148569
test eax, eax
jne 0x140148569
test dl, dl
jne 0x140148569
cmp dword [r14], 0xbab1e
mov dword [rsp + 0x30], esi
jne 0x140148569
cmp byte [r14 + 0x22b], sil
jne 0x140148569
lea rdx, [rsp + 0x30]
mov rcx, r14
call fcn.140147f40
test eax, eax
jne 0x140148569
mov ecx, dword [rsp + 0x30]
test ecx, ecx
je 0x140148569
mov r9d, dword [rsp + 0x38]
cmp ecx, r9d
jg 0x14014855e
test ecx, ecx
jns 0x140148561
mov ecx, r9d
movsxd rcx, ecx
call fcn.1401707f0
mov r12, qword [rsp + 0x190]
lea rcx, [rsp + 0x48]
call fcn.140170630
mov rbx, qword [rsp + 0x1e0]
mov eax, esi
jmp 0x14014858c
mov eax, 1
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1401a2f30
add rsp, 0x198
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret