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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x1400bb770]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rax, qword [rbp + 0xf0]
xor r14d, r14d
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x48], rax
mov r13d, r14d
mov dword [rsp + 0x50], r9d
mov esi, r9d
mov dword [rsp + 0x40], r8d
mov r15d, r8d
mov qword [rsp + 0x58], rdx
mov rdi, rdx
mov qword [rsp + 0x60], rcx
mov r12, rcx
mov dword [rsp + 0x3c], r14d
mov dword [rsp + 0x34], r14d
mov byte [rsp + 0x30], r13b
test rcx, rcx
je 0x14000fafe
cmp dword [rcx], 0xbab1e
jne 0x14000fafe
cmp byte [rcx + 0x1b3], r13b
je 0x14000f41a
lea eax, [r14 + 8]
jmp 0x14000f4e9
test esi, esi
jns 0x14000f428
mov eax, 0xa
jmp 0x14000f4e9
mov qword [rsp + 0x188], rbx
mov rbx, qword [rcx + 8]
test rbx, rbx
je 0x14000f494
nop dword [rax]
lea rdx, [rbp - 0x58]
mov rcx, rbx
call fcn.14000dff0
mov r10d, eax
lea r9, [rbp - 0x58]
mov r8d, r14d
mov edx, 1
nop dword [rax + rax]
lea eax, [r8 + 0x10]
mov ecx, edx
bts ecx, eax
test r10d, ecx
je 0x14000f486
cmp qword [r9], 0xffffffffffffffff
jae 0x14000f486
inc r13d
rol edx, 1
inc r8d
add r9, 8
cmp r8d, 5
jb 0x14000f460
mov rbx, qword [rbx + 0x10]
mov dword [rsp + 0x3c], r13d
test rbx, rbx
jne 0x14000f440
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.14000f270
mov eax, dword [rsp + 0x38]
test eax, eax
js 0x14000f4b2
cmp eax, esi
cmovl esi, eax
mov dword [rsp + 0x50], esi
cmp byte [rbp + 0x100], r14b
lea eax, [r15 + r13]
lea ecx, [rax + 1]
cmove ecx, eax
cmp ecx, 0xa
jbe 0x14000f50d
shl rcx, 4
call qword [fcn.140068220]
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x14000f508
mov eax, 3
mov rbx, qword [rsp + 0x188]
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.140061ea0
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov byte [rsp + 0x30], 1
xor r9d, r9d
mov dword [rsp + 0x38], r9d
mov esi, r9d
test r13d, r13d
je 0x14000f60b
mov r13, qword [r12 + 8]
test r13, r13
je 0x14000f606
nop
lea rdx, [rbp - 0x58]
mov rcx, r13
call fcn.14000dff0
xor r9d, r9d
lea rdi, [rbp - 0x58]
mov r14d, r9d
mov r15d, eax
nop dword [rax]
mov ecx, r14d
lea r8d, [r14 + 0x10]
mov edx, 1
shl edx, cl
mov ecx, edx
bts ecx, r8d
test r15d, ecx
je 0x14000f5ef
mov rax, qword [rdi]
cmp rax, 0xffffffffffffffff
jae 0x14000f5ef
mov ebx, esi
inc esi
shl rbx, 4
add rbx, qword [rsp + 0x48]
mov dword [rsp + 0x38], esi
mov esi, r9d
mov qword [rbx], rax
mov word [rbx + 8], r9w
test r15d, edx
je 0x14000f5a5
mov eax, 0x300
mov esi, reloc.WLDAP32.dll_Ordinal_41
mov word [rbx + 8], ax
bt r15d, r8d
jae 0x14000f5bb
mov rcx, qword [rdi]
or esi, 0x32
call fcn.14000fde0
or word [rbx + 8], 0x10
mov rdx, qword [r12 + 0x1a8]
mov r8d, esi
mov rcx, qword [rdi]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x14000f73f
mov esi, dword [rsp + 0x38]
inc r14d
add rdi, 8
mov r9d, eax
cmp r14d, 5
jb 0x14000f550
mov r13, qword [r13 + 0x10]
test r13, r13
jne 0x14000f530
mov r15d, dword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x3c]
mov r14d, r9d
test r15d, r15d
je 0x14000f721
lea rbx, [rdi + 8]
nop dword [rax + rax]
movzx edx, word [rbx]
movzx eax, dl
and al, 1
neg al
movzx eax, dl
sbb ecx, ecx
and ecx, 0x29
mov edi, ecx
or edi, 4
and al, 2
cmove edi, ecx
test dl, 4
je 0x14000f68f
mov rsi, qword [rbx - 8]
lea rax, [rsp + 0x3c]
mov rcx, rsi
mov dword [rsp + 0x3c], 4
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov edx, 0xffff
mov r8d, 0x1008
or edi, 0x32
call qword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x14000f68f
cmp dword [rsp + 0x68], 1
jne 0x14000f68f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.WS2_32.dll_send]
mov rdx, qword [r12 + 0x1a8]
mov r8d, edi
mov rcx, qword [rbx - 8]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test eax, eax
jne 0x14000f73f
mov rax, qword [rbx - 8]
xor r9d, r9d
mov rcx, qword [rsp + 0x48]
mov esi, dword [rsp + 0x38]
mov edx, esi
shl rdx, 4
add rdx, rcx
mov qword [rdx], rax
movzx eax, r9w
mov word [rdx + 8], r9w
movzx ecx, word [rbx]
test cl, 1
je 0x14000f6ea
mov r8d, 0x300
mov word [rdx + 8], r8w
mov eax, r8d
movzx ecx, word [rbx]
test cl, 2
je 0x14000f6fe
mov ecx, 0x400
or ax, cx
mov word [rdx + 8], ax
movzx ecx, word [rbx]
test cl, 4
je 0x14000f70b
or ax, 0x10
mov word [rdx + 8], ax
inc esi
inc r14d
add rbx, 0x10
mov dword [rsp + 0x38], esi
cmp r14d, r15d
jb 0x14000f620
test esi, esi
jne 0x14000f75b
movzx edi, byte [rbp + 0x100]
test dil, dil
je 0x14000fa7c
mov r14, qword [rsp + 0x48]
mov r12d, r9d
jmp 0x14000f78b
cmp byte [rsp + 0x30], 0
je 0x14000f751
mov rcx, qword [rsp + 0x48]
call qword [fcn.1400668a4]
mov eax, 4
jmp 0x14000f4e1
mov r14, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, r14
mov edx, esi
call fcn.140030690
mov r12d, eax
test eax, eax
jns 0x14000f77e
mov eax, ntohs
jmp 0x14000f4e1
jle 0x14000f788
mov ebx, eax
mov dword [rsp + 0x34], eax
jmp 0x14000f7b2
xor r9d, r9d
mov rdx, qword [rsp + 0x60]
xor r8d, r8d
mov dword [rsp + 0x20], r9d
add rdx, 0x1a8
mov r9d, dword [rsp + 0x50]
lea ecx, [r8 + 1]
call qword [sym.imp.WS2_32.dll_WSAWaitForMultipleEvents]
mov ebx, dword [rsp + 0x34]
xor r8d, r8d
mov esi, r8d
test r15d, r15d
je 0x14000f8ca
mov edi, r8d
nop dword [rax]
nop dword [rax + rax]
movzx ebx, r8w
lea ecx, [rsi + r13]
add rcx, rcx
xor edx, edx
movsx r15d, word [r14 + rcx*8 + 0xa]
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x78], r8d
lea r8, [rsp + 0x78]
mov r14, qword [rdi + r14]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x14000f84e
mov r9d, dword [rsp + 0x78]
mov ecx, eax
test r9b, 0x29
mov eax, r9d
setne cl
movzx edx, cx
or dx, 4
and al, 0x32
mov eax, r9d
cmove dx, cx
movzx r8d, dx
or r8w, 2
and al, 4
cmove r8w, dx
cmp qword [rsp + 0x70], 0
movzx ebx, r8w
je 0x14000f84e
test r12d, r12d
jne 0x14000f84e
test r9d, r9d
je 0x14000f84e
inc dword [rsp + 0x34]
mov rax, qword [rsp + 0x60]
xor r8d, r8d
mov rcx, r14
mov rdx, qword [rax + 0x1a8]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
test r12d, r12d
je 0x14000f8a1
movzx ecx, bx
mov eax, r15d
or cx, 1
and eax, 0x300
mov eax, r15d
cmove cx, bx
movzx edx, cx
or dx, 4
and al, 0x10
mov eax, 0x400
cmove dx, cx
movzx ebx, dx
or bx, 2
and r15d, eax
cmove bx, dx
mov rax, qword [rsp + 0x58]
inc esi
mov r14, qword [rsp + 0x48]
mov r8d, 0
mov word [rax + rdi + 0xa], bx
add rdi, 0x10
cmp esi, dword [rsp + 0x40]
jb 0x14000f7d0
mov ebx, dword [rsp + 0x34]
test r13d, r13d
je 0x14000fa5c
mov r13, qword [rsp + 0x60]
mov r15, qword [r13 + 8]
mov qword [rsp + 0x58], r15
test r15, r15
je 0x14000fa5c
lea r9, [0x140000000]
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je case.default.0x14000f91b
mov eax, dword [r15 + 0x58]
add eax, 0xfffffffd
cmp eax, 9
ja case.default.0x14000f91b
cdqe
mov ecx, dword [r9 + rax*4 + 0xfb08]
add rcx, r9
jmp rcx
lea rdx, [rbp - 0x58]
mov rcx, r15
call fcn.140028ac0
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
mov rax, qword [rdx + 0x2e8]
lea r8, [rbp - 0x58]
mov rcx, r15
mov r9, qword [rax + 0x40]
test r9, r9
je 0x14000f956
call r9
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
xor edx, edx
call fcn.14001e690
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
mov rax, qword [rdx + 0x2e8]
mov r9, qword [rax + 0x48]
test r9, r9
je case.default.0x14000f91b
lea r8, [rbp - 0x58]
mov rcx, r15
call r9
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
lea r8, [rbp - 0x58]
xor edx, edx
mov rcx, r15
call fcn.14001e690
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
mov rax, qword [rdx + 0x2e8]
mov r9, qword [rax + 0x50]
jmp 0x14000f970
lea r8, [rbp - 0x58]
mov rcx, r15
call fcn.1400266d0
mov r14d, eax
xor r8d, r8d
jmp 0x14000f9c1
mov r14d, r8d
mov r15d, dword [rsp + 0x34]
lea rsi, [rbp - 0x58]
mov edi, r8d
mov ebx, 1
lea eax, [rdi + 0x10]
mov ecx, ebx
bts ecx, eax
test r14d, ecx
je 0x14000fa35
mov rcx, qword [rsi]
xor edx, edx
mov dword [rsp + 0x78], r8d
lea r8, [rsp + 0x78]
call qword [sym.imp.WS2_32.dll_WSAEnumNetworkEvents]
test eax, eax
jne 0x14000fa0f
cmp qword [rsp + 0x70], 0
je 0x14000fa0f
test r12d, r12d
jne 0x14000fa0f
cmp dword [rsp + 0x78], r12d
je 0x14000fa0f
inc r15d
mov rdx, qword [r13 + 0x1a8]
xor r8d, r8d
mov rcx, qword [rsi]
call qword [sym.imp.WS2_32.dll_WSAEventSelect]
inc edi
rol ebx, 1
add rsi, 8
mov r8d, 0
cmp edi, 5
jb 0x14000f9d2
mov dword [rsp + 0x34], r15d
lea r9, [0x140000000]
mov r15, qword [rsp + 0x58]
mov r15, qword [r15 + 0x10]
mov qword [rsp + 0x58], r15
test r15, r15
jne 0x14000f8f1
mov ebx, dword [rsp + 0x34]
mov r12, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x1a8]
call qword [sym.imp.WS2_32.dll_WSAResetEvent]
mov esi, dword [rsp + 0x38]
movzx edi, byte [rbp + 0x100]
jmp 0x14000fa80
mov ebx, dword [rsp + 0x34]
cmp byte [rsp + 0x30], 0
je 0x14000fa92
mov rcx, qword [rsp + 0x48]
call qword [fcn.1400668a4]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14000fa9e
mov dword [rax], ebx
cmp byte [rbp + 0xf8], 0
je 0x14000faf7
test esi, esi
jne 0x14000faf7
test dil, dil
jne 0x14000faf7
cmp dword [r12], 0xbab1e
mov dword [rsp + 0x40], esi
jne 0x14000faf7
cmp byte [r12 + 0x1b3], dil
jne 0x14000faf7
lea rdx, [rsp + 0x40]
mov rcx, r12
call fcn.14000f270
test eax, eax
jne 0x14000faf7
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x14000faf7
mov ecx, dword [rsp + 0x50]
cmp eax, ecx
jg 0x14000faed
test eax, eax
jns 0x14000faef
mov eax, ecx
movsxd rcx, eax
call fcn.140030c10
xor eax, eax
jmp 0x14000f4e1
mov eax, 1
jmp 0x14000f4e9