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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
vmovaps xmmword [rbp], xmm6
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
vxorps xmm0, xmm0, xmm0
vmovaps xmmword [rbp - 0x20], xmm0
xor r13d, r13d
lea r15, [rbp - 0x20]
xor r12d, r12d
xor r14d, r14d
jmp 0x140052e7d
mov qword [rbp - 0x18], rax
mov r13, rax
mov r14b, 1
call fcn.140053190
nop dword [rax + rax]
inc r12
cmp r12, 4
je 0x140052f82
imul rcx, r12, 0x38
mov r8, qword [rsi + rcx + 0x98]
test r8, r8
je 0x140052e70
mov rax, rbx
or rax, r8
shr rax, 0x20
je 0x140052eb0
mov rax, rbx
xor edx, edx
div r8
mov rax, rdx
jmp 0x140052eb9
mov eax, ebx
xor edx, edx
div r8d
mov eax, edx
add rcx, rsi
add rcx, 0x68
mov r8, qword [rcx + 8]
mov r9, qword [rcx + 0x28]
shl rax, 4
mov rdx, qword [r9 + rax]
cmp r8, rdx
je 0x140052e70
mov rax, qword [r9 + rax + 8]
mov rax, qword [rax]
cmp rax, rdx
je 0x140052e70
nop word cs:[rax + rax]
cmp qword [rdx + 0x10], rbx
je 0x140052f03
mov rdx, qword [rdx]
cmp rdx, rax
jne 0x140052ef0
jmp 0x140052e70
cmp r8, rdx
je 0x140052e70
mov r8, qword [rdx + 0x18]
test r8, r8
jne 0x140052f4e
jmp 0x140052e60
mov qword [r8 + 0x20], 0
mov qword [rax + 0x20], 0
lea r8, [r13 + 0x20]
test r13, r13
cmove r8, r15
mov qword [r8], rax
mov r8, qword [rdx + 0x18]
mov r13, rax
test r8, r8
je 0x140052e59
mov rax, r8
mov r8, qword [rdi + 0x10]
mov qword [rax + 0x48], r8
vmovups xmm0, xmmword [rdi]
vmovups xmmword [rax + 0x38], xmm0
mov r8, qword [rdx + 0x18]
test r8, r8
je 0x140052f28
mov r9, qword [r8 + 0x20]
mov qword [rdx + 0x18], r9
test r9, r9
jne 0x140052f20
mov qword [rdx + 0x20], 0
jmp 0x140052f20
mov qword [rbp - 0x30], r14
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140053058
mov r15, qword [rsi + 0x28]
lea rdi, [r15 + 0x60]
lea r12, [r15 + 0x90]
mov r13, qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
vxorps xmm6, xmm6, xmm6
jmp 0x140052fd2
mov eax, 1
xchg dword [r15 + 0x58], eax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r14, qword [rbp - 0x20]
mov rbx, r14
test r14, r14
je 0x140053058
mov r14, qword [rbx + 0x20]
mov qword [rbp - 0x20], r14
test r14, r14
jne 0x140052fe7
mov qword [rbp - 0x18], 0
mov qword [rbx + 0x20], 0
mov dword [rbx + 0x30], 1
mov rcx, qword [r15 + 0x28]
xor edx, edx
xor r8d, r8d
mov r9, rbx
call r13
test eax, eax
jne 0x140052fc6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rbx + 0x20], 0
mov rax, qword [r15 + 0x98]
lea rcx, [rax + 0x20]
test rax, rax
cmove rcx, r12
mov qword [rcx], rbx
mov qword [r15 + 0x98], rbx
test r14, r14
je 0x140052fb0
mov qword [rbx + 0x20], r14
mov rax, qword [rbp - 0x18]
mov qword [r15 + 0x98], rax
vmovaps xmmword [rbp - 0x20], xmm6
jmp 0x140052fb0
test byte [rbp - 0x30], 1
je 0x140053122
mov byte [rbp - 9], 0
lea rax, [rbp - 9]
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x40], 1
mov rcx, qword [rsi + 0x60]
mov dword [rbp - 0x24], 0
vxorps xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], 0
lea rdx, [rbp - 0x40]
lea r9, [rbp - 0x24]
mov r8d, 1
call qword [sym.imp.WS2_32.dll_WSASend]
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
mov rax, qword [0x1400c1358]
shr rax, 1
movabs rdi, 0x595588bd12bf6fe8
cmp rax, rdi
je 0x1400530da
mov rax, qword [0x1400c1350]
lea rcx, [0x1400c1350]
mov edx, esi
call qword [rax + 0x30]
cmp esi, 0x4d2
je 0x1400530fd
cmp esi, 0x40
jne 0x140053122
mov rax, qword [0x1400c1358]
shr rax, 1
mov edx, 0x2746
cmp rax, rdi
jne 0x140053111
jmp 0x140053122
mov rax, qword [0x1400c1358]
shr rax, 1
mov edx, 0x274d
cmp rax, rdi
je 0x140053122
mov rax, qword [0x1400c1350]
lea rcx, [0x1400c1350]
call qword [rax + 0x30]
vmovaps xmm6, xmmword [rbp]
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret