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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x178
lea rbp, [rsp + 0x40]
lea rdi, [rsp + 0x40]
mov ecx, 0x1e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x198]
lea rcx, [0x14024c061]
call fcn.1400b51d0
nop
mov rax, qword [rbp + 0x150]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov rax, qword [rbp + 0x158]
mov eax, dword [rax + 8]
mov dword [rbp + 0x24], eax
mov eax, 0x8048
imul rax, rax, 1
mov rcx, qword [rbp + 0x158]
lea rax, [rcx + rax + 0x10]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
cmp dword [rax + 0x8040], 0
jle 0x1400470d6
mov rax, qword [rbp + 0x150]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
xor al, al
jmp 0x1400472f0
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x8034], 0
mov rax, qword [rbp + 0x48]
cmp dword [rax + 0x8030], 0
jle 0x140047150
mov rax, qword [rbp + 0x48]
movsxd rax, dword [rax + 0x8030]
mov rcx, qword [rbp + 0x48]
add rcx, 0x4030
mov rdx, qword [rbp + 0x48]
add rdx, 0x30
mov qword [rbp + 0x118], rdx
mov r8, rax
mov rdx, rcx
mov rax, qword [rbp + 0x118]
mov rcx, rax
call fcn.14019ead0
nop
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x48]
mov ecx, dword [rcx + 0x8030]
mov dword [rax + 0x8034], ecx
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x8030], 0
jmp 0x14004716e
mov rax, qword [rbp + 0x150]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
xor al, al
jmp 0x1400472f0
mov rax, qword [rbp + 0x48]
add rax, 0x30
mov rcx, qword [rbp + 0x48]
mov qword [rcx + 0x28], rax
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x48]
mov ecx, dword [rcx + 0x8034]
mov dword [rax + 0x20], ecx
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x8038], 0
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x803c], 1
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x48]
add rcx, 0x20
movsxd rdx, dword [rbp + 0x24]
imul rdx, rdx, 0x48
mov qword [rbp + 0x118], rdx
lea r8, [0x1402030f0]
mov qword [rbp + 0x120], r8
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
lea r9, [rbp + 4]
mov r8d, 1
mov rdx, rcx
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x118]
mov rcx, qword [rcx + rax + 0x28]
call qword [sym.imp.WS2_32.dll_WSASend]
cmp eax, 0xffffffff
jne 0x1400472ad
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x1400472ab
movsxd rax, dword [rbp + 0x24]
imul rax, rax, 0x48
lea rcx, [0x1402030f0]
lea rax, [rcx + rax + 8]
mov qword [rbp + 0x118], rax
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, dword [0x1402010e0]
add ecx, 0x25
mov rdx, qword [rbp + 0x118]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
mov r9d, ecx
lea r8, str.WSASend__d__failed_with_error__d__s
mov edx, 0xff
lea rcx, [0x14022f400]
call fcn.14004c6a0
nop
mov edx, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x150]
call fcn.140046000
nop
mov rax, qword [rbp + 0x150]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
xor al, al
jmp 0x1400472f0
jmp 0x1400472c9
mov rax, qword [rbp + 0x158]
mov eax, dword [rax + 0x100a0]
inc eax
mov rcx, qword [rbp + 0x158]
mov dword [rcx + 0x100a0], eax
mov rax, qword [rbp + 0x48]
mov dword [rax + 0x8040], 1
mov rax, qword [rbp + 0x150]
add rax, 0x98
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov al, 1
mov rdi, rax
lea rcx, [rbp - 0x40]
lea rdx, [0x1401b4be0]
call fcn.1400b4fa0
mov rax, rdi
lea rsp, [rbp + 0x138]
pop rdi
pop rbp
ret