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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xcc0
mov rax, qword [0x1400b1008]
xor rax, rsp
mov qword [rsp + 0xcb0], rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], rdx
mov rdi, rcx
mov r12, qword [rsp + 0xd28]
xor edx, edx
mov r8d, 0xc50
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
nop
lea r13, [rdi + 0x11b18]
lea rbx, [rdi + 0x11bd0]
test rdi, rdi
je 0x1400470e4
mov r10, qword [rsp + 0x40]
test r10, r10
je 0x1400470e4
mov r11, qword [rsp + 0x48]
cmp r11, 0xffffffffffffffff
je 0x1400470e4
mov edx, dword [rsp + 0xd20]
mov ecx, edx
test edx, edx
je 0x140046cbf
sub ecx, 1
je 0x140046cbf
cmp ecx, 1
jne 0x1400470e4
movabs rax, 0x4000000000000000
or qword [r10 + 8], rax
jmp 0x140046df0
mov dword [rsp + 0x20], edx
mov rdx, r10
mov rcx, rdi
call fcn.140044e80
cmp eax, 1
jne 0x140046de6
xor edx, edx
mov r8d, 0xc50
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0xa0], 3
mov dword [rsp + 0x6c], 1
mov dword [rsp + 0xa8], 0x2f4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov dword [rsp + 0x28], 1
mov r9d, 0x2f4
mov rdx, r13
mov rcx, rdi
call fcn.140002de0
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xac], 5
lea rax, [0x1400dcef0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cd294]
mov edx, 0x9f6
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0xb0]
call fcn.140001030
mov byte [rsp + 0xaa5], 0
mov dword [rsp + 0xaa8], 0xbe8
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x7c], eax
inc eax
mov dword [r13 + 0x30], eax
mov r9d, 1
lea r8, [rsp + 0x60]
mov rdx, r13
mov rcx, rdi
call fcn.1400056d0
mov dword [r13 + 0x50], eax
test rbx, rbx
je 0x140046de1
mov qword [rbx + 0x10], 1
xor r14d, r14d
mov dword [rbx + 0xc], r14d
mov rax, qword [rdi + 0x12820]
test rax, rax
je 0x140046de1
mov edx, 1
mov r8d, edx
mov rcx, rdi
call qword [0x1400a4c40]
mov dword [r13 + 0x50], eax
jmp 0x1400470e4
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
mov esi, 0xa080
mov qword [rsp + 0x50], rsi
xor r14d, r14d
mov r15d, r14d
mov qword [rsp + 0x58], r14
nop word [rax + rax]
xor r9d, r9d
mov r8d, esi
mov rdx, r10
mov rcx, r11
call qword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x1400470a8
mov rsi, r14
mov qword [rsp + 0x50], r14
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
test r15, r15
jne 0x140046f93
cmp eax, 0x2745
jg 0x140046e6a
je 0x1400470cd
test eax, eax
je 0x1400470cd
sub ecx, 0x2726
je 0x1400470cd
cmp ecx, 0x10
jmp 0x140046e82
sub ecx, 0x2746
je 0x1400470cd
sub ecx, 3
je 0x1400470cd
cmp ecx, 1
je 0x1400470cd
xor edx, edx
mov r8d, 0xc50
lea rsi, [rsp + 0x60]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0xa0], 3
mov dword [rsp + 0x6c], 1
mov dword [rsp + 0xa8], 0x2e7
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov dword [rsp + 0x28], 1
mov r9d, 0x2e7
mov rdx, r13
mov rcx, rdi
call fcn.140002de0
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xac], 5
lea rax, [0x1400dce90]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cd27c]
mov edx, 0x9f6
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0xb0]
call fcn.140001030
mov byte [rsp + 0xaa5], r14b
mov dword [rsp + 0xaa8], 0xc53
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x7c], eax
inc dword [r13 + 0x30]
mov r9d, 1
mov r8, rsi
mov rdx, r13
mov rcx, rdi
call fcn.1400056d0
mov dword [r13 + 0x50], eax
test rbx, rbx
je 0x140046f8e
mov qword [rbx + 0x10], 1
mov dword [rbx + 0xc], r14d
mov rax, qword [rdi + 0x12820]
test rax, rax
je 0x140046f8e
mov edx, 1
mov r8d, edx
mov rcx, rdi
call qword [0x1400a4c40]
mov dword [r13 + 0x50], eax
jmp 0x1400470e4
cmp dword [rdi + 0x20888], r14d
jne 0x1400470e0
xor edx, edx
mov r8d, 0xc50
lea rsi, [rsp + 0x60]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x64], eax
mov dword [rsp + 0xa0], 3
mov dword [rsp + 0x6c], 1
mov dword [rsp + 0xa8], 0x2e7
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov dword [rsp + 0x28], 1
mov r9d, 0x2e7
mov rdx, r13
mov rcx, rdi
call fcn.140002de0
mov dword [rsp + 0xa4], eax
mov dword [rsp + 0xac], 5
lea rax, [0x1400dce30]
mov qword [rsp + 0x20], rax
lea r9, [0x1400cd264]
mov edx, 0x9f6
mov r8, 0xffffffffffffffff
lea rcx, [rsp + 0xb0]
call fcn.140001030
mov byte [rsp + 0xaa5], r14b
mov dword [rsp + 0xaa8], 0xc61
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x7c], eax
inc dword [r13 + 0x30]
mov r9d, 1
mov r8, rsi
mov rdx, r13
mov rcx, rdi
call fcn.1400056d0
mov dword [r13 + 0x50], eax
test rbx, rbx
je 0x1400470a6
mov qword [rbx + 0x10], 1
mov dword [rbx + 0xc], r14d
mov rax, qword [rdi + 0x12820]
test rax, rax
je 0x1400470a6
mov edx, 1
mov r8d, edx
mov rcx, rdi
call qword [0x1400a4c40]
mov dword [r13 + 0x50], eax
jmp 0x1400470e4
cdqe
add r15, rax
mov qword [rsp + 0x58], r15
mov esi, 0xa080
sub rsi, r15
mov qword [rsp + 0x50], rsi
test r12, r12
je 0x1400470cd
inc qword [r12]
add qword [r12 + 0x10], rax
test rsi, rsi
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jne 0x140046e10
xor eax, eax
jmp 0x1400470f0
mov eax, 1
jmp 0x1400470f0
mov rcx, qword [rsp + 0xcb0]
xor rcx, rsp
call fcn.140001ea0
add rsp, 0xcc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret