Function at 0x140435e90
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, 0x498
mov r13, qword [rsp + 0x500]
mov r15, qword [rsp + 0x508]
mov r14, rcx
lea rcx, [0x140552c20]
mov r12, rdx
mov rsi, r8
mov dword [rsp + 0x4f8], r9d
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x60], r13
call fcn.1403e4940
mov rcx, qword [rax]
test rcx, rcx
je 0x140435eea
mov rcx, qword [rcx + 8]
mov edx, 0x190
call fcn.140067060
vmovdqu xmm0, xmmword [r12 + 0x10]
mov qword [rsp + 0x68], rax
mov rbx, rax
vpextrq rdi, xmm0, 1
test rdi, rdi
je 0x1404364d8
lock add dword [rdi + 0xc], 1
vpxor xmm2, xmm2, xmm2
lea rdx, [0x1404307e0]
mov qword [rax + 0x28], rdx
mov qword [rax + 0x10], 0
mov dword [rax + 0x30], 0
vmovdqu xmmword [rax], xmm2
vmovdqu xmmword [rax + 0x18], xmm2
vmovdqu xmmword [rax + 0x38], xmm0
lock add dword [rdi + 0xc], 1
mov rcx, qword [rsi + 0x20]
vmovdqu xmm4, xmmword [rsi + 0x10]
lea r9, [0x14062d0b0]
mov rbp, rsi
vmovdqu xmm3, xmmword [rsi]
mov r10, qword [r13 + 8]
mov qword [rbx + 0x70], r9
mov eax, dword [r13 + 0x28]
mov rdx, qword [r13 + 0x30]
sub rcx, rsi
vmovdqu xmmword [rbx + 0x58], xmm4
vmovdqu xmm5, xmmword [r13 + 0x10]
mov r11, qword [r13 + 0x20]
lea r8, [rbx + rcx + 0x48]
mov qword [rbx + 0x78], r10
cmp byte [r13 + 0x38], 0
mov qword [rbx + 0x68], r8
mov qword [rbx + 0x90], r11
mov dword [rbx + 0x98], eax
mov qword [rbx + 0xa0], rdx
mov byte [rbx + 0xa8], 0
vmovdqu xmmword [rbx + 0x48], xmm3
vmovdqu xmmword [rbx + 0x80], xmm5
je 0x140436022
cmp qword [r13 + 0x60], 0
je 0x1404365e0
mov rcx, qword [r13 + 0x68]
mov r8, qword [r13 + 0x58]
lea rdx, [r13 + 0x40]
mov qword [r13 + 0x58], 0
mov qword [r13 + 0x68], 0
mov qword [rbx + 0xd8], rcx
lea rcx, [rbx + 0xb0]
mov qword [rbx + 0xc8], r8
call qword [r8 + 0x10]
mov qword [r13 + 0x60], 0
mov r9, qword [r13 + 0x70]
lea r10, [0x140631cc0]
mov qword [r13 + 0x70], r10
mov qword [rbx + 0xe0], r9
mov byte [rbx + 0xa8], 1
mov r11d, dword [r13 + 0x78]
mov eax, dword [r13 + 0x7c]
lea rdx, str.pfE_
vpxor xmm2, xmm2, xmm2
mov qword [rbx + 0x70], rdx
mov dword [rbx + 0xe8], r11d
mov dword [rbx + 0xec], eax
vmovdqu xmm1, xmmword [r13 + 0x80]
vmovdqu xmmword [r13 + 0x80], xmm2
vmovdqu xmmword [rbx + 0xf0], xmm1
mov r8, qword [r13 + 0x90]
movzx ecx, byte [r13 + 0x98]
mov byte [r13 + 0x98], 0
mov qword [rbx + 0x100], r8
vmovdqu xmm3, xmmword [r13 + 0xa0]
mov byte [rbx + 0x108], cl
vmovdqu xmmword [rbx + 0x110], xmm3
cmp qword [r15 + 0x20], 0
je 0x1404365c0
mov r13, qword [r15 + 0x28]
call qword [r13]
mov rcx, rax
lea rdx, [0x1406212a0]
call fcn.1404e0d50
test al, al
je 0x140436510
lea r9, [0x140631cc0]
vpxor xmm4, xmm4, xmm4
mov qword [rbx + 0x148], 0
mov qword [rbx + 0x150], r9
vmovdqu xmmword [rbx + 0x138], xmm4
lea r13, [rsp + 0x80]
lea rdx, [rbx + 0x70]
mov rcx, r13
call fcn.14048ea50
cmp qword [rbx + 0x140], 0
jne 0x140436137
mov r10, qword [rsp + 0xa0]
mov r11, qword [r15 + 0x20]
cmp r10, r11
je 0x1404364a9
test r10, r10
je 0x140436740
test r11, r11
je 0x140436137
mov rax, qword [rsp + 0xa8]
cmp rax, qword [r15 + 0x28]
je 0x140436490
lea rcx, [rbx + 0x158]
mov rdx, r13
call fcn.140066c30
mov r11, qword [rsp + 0xa0]
test r11, r11
je 0x140436160
mov rdx, qword [rsp + 0x98]
mov rcx, r13
call qword [rdx]
mov qword [rsp + 0x70], rbx
test rdi, rdi
je 0x140436175
lock sub dword [rdi + 0xc], 1
je 0x140436480
movzx r10d, byte [r12 + 8]
mov r9, qword [rsi + 0x20]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x480], xmm0
mov rax, qword [rsi + 0x10]
and r10d, 0x10
cmp rsi, r9
je 0x140436528
lea rsi, [rsp + 0x480]
mov rcx, r13
xor edx, edx
xor r8d, r8d
mov qword [rsp + 0x48], rsi
mov r11, qword [rbp + 8]
mov r15, rax
mov rdi, qword [rbp]
lea rsi, [rbp + 0x10]
cmp r11, rax
mov qword [rcx + 8], rdi
cmovbe r15, r11
sub rax, r11
lea r11, [r8 + 1]
mov r8, r11
mov dword [rcx], r15d
add rdx, r15
cmp r9, rsi
je 0x140436340
mov rsi, qword [rsi + 8]
mov rdi, rax
mov r15, qword [rbp + 0x10]
cmp rsi, rax
mov qword [rcx + 0x18], r15
cmovbe rdi, rsi
sub rax, rsi
add r8, 1
mov dword [rcx + 0x10], edi
add rdx, rdi
lea rdi, [rbp + 0x20]
cmp r9, rdi
je 0x140436340
mov r8, qword [rdi + 8]
mov rsi, rax
mov r15, qword [rbp + 0x20]
lea rdi, [rbp + 0x30]
cmp r8, rax
mov qword [rcx + 0x28], r15
cmovbe rsi, r8
sub rax, r8
lea r8, [r11 + 2]
mov dword [rcx + 0x20], esi
add rdx, rsi
cmp r9, rdi
je 0x140436340
mov r8, qword [rbp + 0x38]
mov rsi, rax
mov r15, qword [rbp + 0x30]
lea rdi, [rbp + 0x40]
cmp r8, rax
mov qword [rcx + 0x38], r15
cmovbe rsi, r8
sub rax, r8
lea r8, [r11 + 3]
mov dword [rcx + 0x30], esi
add rdx, rsi
cmp r9, rdi
je 0x140436340
mov r8, qword [rbp + 0x48]
mov rsi, rax
mov r15, qword [rbp + 0x40]
lea rdi, [rbp + 0x50]
cmp r8, rax
mov qword [rcx + 0x48], r15
cmovbe rsi, r8
sub rax, r8
lea r8, [r11 + 4]
mov dword [rcx + 0x40], esi
add rdx, rsi
cmp r9, rdi
je 0x140436340
mov r8, qword [rbp + 0x58]
mov rsi, rax
mov r15, qword [rbp + 0x50]
lea rdi, [rbp + 0x60]
cmp r8, rax
mov qword [rcx + 0x58], r15
cmovbe rsi, r8
sub rax, r8
lea r8, [r11 + 5]
mov dword [rcx + 0x50], esi
add rdx, rsi
cmp r9, rdi
je 0x140436340
mov r8, qword [rbp + 0x68]
mov rsi, rax
mov r15, qword [rbp + 0x60]
lea rdi, [rbp + 0x70]
cmp r8, rax
mov qword [rcx + 0x68], r15
cmovbe rsi, r8
sub rax, r8
lea r8, [r11 + 6]
mov dword [rcx + 0x60], esi
add rdx, rsi
cmp r9, rdi
je 0x140436340
mov r8, qword [rbp + 0x78]
mov rsi, rax
mov r15, qword [rbp + 0x70]
cmp r8, rax
mov qword [rcx + 0x78], r15
cmovbe rsi, r8
sub rbp, 0xffffffffffffff80
sub rax, r8
lea r8, [r11 + 7]
mov dword [rcx + 0x70], esi
add rdx, rsi
cmp r9, rbp
je 0x140436340
mov r11, qword [rsp + 0x48]
sub rcx, 0xffffffffffffff80
cmp rcx, r11
jne 0x1404361b2
nop dword [rax + rax]
mov qword [rsp + 0x488], rdx
mov qword [rsp + 0x480], r8
test r10b, r10b
jne 0x1404365d0
mov rax, qword [r14 + 8]
lock add dword [rax + 0x30], 1
mov rcx, qword [r12]
cmp rcx, 0xffffffffffffffff
je 0x140436680
mov r10d, dword [rsp + 0x4f8]
mov dword [rsp + 0x5c], 0
lea r9, [rsp + 0x5c]
mov rdx, r13
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], r10d
call qword [sym.imp.WS2_32.dll_WSASend]
mov esi, eax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x4d2
je 0x140436700
cmp eax, 0x3e5
setne cl
mov rdi, qword [r14 + 8]
test esi, esi
je 0x140436600
test cl, cl
je 0x140436600
vmovd xmm3, eax
vpinsrd xmm4, xmm3, dword [rsp + 0x5c], 1
mov rcx, qword [rdi + 0x28]
mov r9, rbx
lea rdx, [0x14054d5e0]
mov dword [rbx + 0x30], 1
mov r8d, 2
mov qword [rbx], rdx
xor edx, edx
vmovq qword [rbx + 0x10], xmm4
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14043644e
lea r15, [rdi + 0x60]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8, qword [rdi + 0x98]
mov qword [rbx + 0x20], 0
test r8, r8
je 0x140436722
mov qword [r8 + 0x20], rbx
mov qword [rdi + 0x98], rbx
mov r11d, 1
xchg dword [rdi + 0x58], r11d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
vpxor xmm5, xmm5, xmm5
lea rcx, [rsp + 0x60]
vmovdqu xmmword [rsp + 0x68], xmm5
call fcn.140431230
nop
add rsp, 0x498
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rdi]
mov rcx, rdi
call qword [r8 + 0x18]
jmp 0x140436175
mov rdx, r15
mov rcx, r13
call qword [rax + 8]
test al, al
je 0x140436137
mov r11, qword [rsp + 0xa0]
vpxor xmm5, xmm5, xmm5
lea r15, [0x140631cc0]
mov qword [rbx + 0x180], 0
mov qword [rbx + 0x188], r15
vmovdqu xmmword [rbx + 0x170], xmm5
jmp 0x14043614e
vpxor xmm1, xmm1, xmm1
lea rax, [0x1404307e0]
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x28], rax
mov dword [rbx + 0x30], 0
vmovdqu xmmword [rbx], xmm1
vmovdqu xmmword [rbx + 0x18], xmm1
vmovdqu xmmword [rbx + 0x38], xmm0
jmp 0x140435f48
lea rcx, [rbx + 0x120]
mov rdx, r15
call fcn.140066c30
jmp 0x1404360e4
xor r8d, r8d
test r10b, r10b
je 0x140436359
mov r12, qword [r14 + 8]
lock add dword [r12 + 0x30], 1
lea rbp, [0x14054d5e0]
mov r8d, 2
xor edx, edx
mov r14, qword [r14 + 8]
mov rcx, qword [r14 + 0x28]
mov dword [rbx + 0x30], 1
mov r9, rbx
mov qword [rbx], rbp
mov qword [rbx + 0x10], 0
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14043644e
lea r13, [r14 + 0x60]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, qword [r14 + 0x98]
mov qword [rbx + 0x20], 0
test r9, r9
je 0x14043674e
mov qword [r9 + 0x20], rbx
mov qword [r14 + 0x98], rbx
mov ebx, 1
xchg dword [r14 + 0x58], ebx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14043644e
mov rcx, qword [0x14061b940]
jmp 0x1404360ab
test rdx, rdx
jne 0x140436359
jmp 0x140436534
mov qword [rbx + 0xd8], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rbx + 0xc8], xmm0
jmp 0x140436005
xor eax, eax
mov r12d, 1
lock cmpxchg dword [rbx + 0x30], r12d
cmp eax, 1
jne 0x14043644e
mov rcx, qword [rdi + 0x28]
mov r9, rbx
mov r8d, 2
xor edx, edx
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14043644e
lea r14, [rdi + 0x60]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbp, qword [rdi + 0x98]
mov qword [rbx + 0x20], 0
test rbp, rbp
je 0x140436765
mov qword [rbp + 0x20], rbx
mov qword [rdi + 0x98], rbx
mov r13d, 1
xchg dword [rdi + 0x58], r13d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14043644e
mov rsi, qword [r14 + 8]
lea r9, [0x14054d5e0]
mov dword [rbx + 0x30], 1
xor edx, edx
mov qword [rbx], r9
mov r8d, 2
mov r9, rbx
mov qword [rbx + 0x10], 0x2719
mov rcx, qword [rsi + 0x28]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x14043644e
lea rdi, [rsi + 0x60]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r10, qword [rsi + 0x98]
mov qword [rbx + 0x20], 0
test r10, r10
je 0x14043670f
mov qword [r10 + 0x20], rbx
mov qword [rsi + 0x98], rbx
mov ebx, 1
xchg dword [rsi + 0x58], ebx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x14043644e
mov ecx, 1
mov eax, 0x274d
jmp 0x1404363bc
vmovq xmm3, rbx
vpunpcklqdq xmm4, xmm3, xmm3
vmovdqu xmmword [rsi + 0x90], xmm4
jmp 0x1404366e6
vmovq xmm5, rbx
vpunpcklqdq xmm0, xmm5, xmm5
vmovdqu xmmword [rdi + 0x90], xmm0
jmp 0x14043643b
test r11, r11
je 0x140436125
jmp 0x140436137
vmovq xmm1, rbx
vpunpcklqdq xmm2, xmm1, xmm1
vmovdqu xmmword [r14 + 0x90], xmm2
jmp 0x1404365a9
vmovq xmm1, rbx
vpunpcklqdq xmm2, xmm1, xmm1
vmovdqu xmmword [rdi + 0x90], xmm2
jmp 0x140436664