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

Disassembly:
push rbp
push rbx
push rsi
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp - 8], rax
mov r8, qword [0x140006790]
mov eax, 0xa8b098e1
mov ebx, dword [r8 + 0x98830]
imul ebx
add edx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dword [0x14000665c], edx
jge 0x140001ca8
mov ecx, dword [r8 + 0x9900c]
xor r9d, r9d
and ecx, 0xffffff
mov dword [0x14000665c], edx
lea rdx, [rbp - 0x18]
mov byte [rbp - 0x18], 0xa5
movzx eax, byte [rcx + r8 + 0x2d5]
mov byte [rbp - 0x17], al
movzx eax, byte [rcx + r8 + 0x2d6]
mov byte [rbp - 0x16], al
movzx eax, byte [rcx + r8 + 0x2d7]
mov byte [rbp - 0x15], al
movzx eax, byte [rcx + r8 + 0x2d9]
mov byte [rbp - 0x14], al
movzx eax, byte [rcx + r8 + 0x2da]
mov byte [rbp - 0x13], al
movzx eax, byte [rcx + r8 + 0x2db]
mov byte [rbp - 0x12], al
movzx eax, byte [rcx + r8 + 0x2dd]
mov byte [rbp - 0x11], al
movzx eax, byte [rcx + r8 + 0x2de]
mov byte [rbp - 0x10], al
movzx eax, byte [rcx + r8 + 0x2df]
lea r8d, [r9 + 0xa]
mov rcx, qword [0x140006728]
mov byte [rbp - 0xf], al
call qword [sym.imp.WS2_32.dll_send]
mov r8, qword [0x140006790]
mov eax, 0x4d4873ed
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp dword [0x140006684], edx
jge 0x140001d16
mov eax, dword [r8 + 0x9900c]
xor r9d, r9d
and eax, 0xffffff
mov dword [0x140006684], edx
lea rdx, [rbp - 0x1c]
mov byte [rbp - 0x1c], 0x36
movzx ecx, word [rax + r8 + 0x39a]
mov eax, 0xfff
and cx, ax
lea r8d, [r9 + 3]
movzx eax, cl
shr cx, 5
mov byte [rbp - 0x1a], cl
and al, 0x1f
mov rcx, qword [0x140006728]
mov byte [rbp - 0x1b], al
call qword [sym.imp.WS2_32.dll_send]
mov r8, qword [0x140006790]
mov eax, dword [r8 + 0x96814]
mov esi, 2
and eax, 0xffffff3f
mov byte [rbp - 0x20], 0x24
mov edx, eax
or edx, 0x40
test dword [r8 + 0x96814], 0x400
cmove edx, eax
movzx eax, dl
or al, 0x80
movzx r9d, al
bt edx, 0xb
movzx eax, dl
cmovae r9d, eax
movzx eax, byte [0x140006659]
mov byte [rbp - 0x1f], r9b
cmp r9b, al
jne 0x140001d6a
cmp al, byte [0x140006658]
je 0x140001d95
mov rcx, qword [0x140006728]
lea rdx, [rbp - 0x20]
mov byte [0x140006659], r9b
mov r8d, esi
xor r9d, r9d
mov byte [0x140006658], al
call qword [sym.imp.WS2_32.dll_send]
mov r8, qword [0x140006790]
mov r11, qword [0x140006788]
lea rcx, [0x14000675b]
mov qword [rsp + 0x70], rdi
lea r9, [0x1400067a8]
mov qword [rsp + 0x78], r14
add r11, 0xaa
mov qword [rsp + 0x80], r15
mov r10d, 0x26404
nop dword [rax]
mov ebx, dword [r9 - 8]
cmp ebx, 1
jg 0x140001ea0
lea eax, [r10*4 - 4]
and eax, 0xffffff
mov edx, dword [rax + r8]
and edx, 0xffffff
lea rdi, [rdx + r8]
mov eax, dword [rdi + 0x2dc]
lea r14, [rdx + 0x2d8]
movsd xmm0, qword [rdi + 0x2d4]
lea r15, [rdx + 0x2dc]
mov dword [rbp - 0x28], eax
movzx eax, byte [rcx - 0x1b]
movsd qword [rbp - 0x30], xmm0
mov byte [rbp - 0x2f], al
movzx eax, byte [rcx - 0x1a]
mov byte [rbp - 0x2e], al
movzx eax, byte [rcx - 0x19]
mov byte [rbp - 0x2d], al
movzx eax, byte [rcx - 0x18]
mov byte [rbp - 0x2b], al
movzx eax, byte [rcx - 0x17]
mov byte [rbp - 0x2a], al
movzx eax, byte [rcx - 0x16]
mov byte [rbp - 0x29], al
movzx eax, byte [rcx - 0x15]
mov byte [rbp - 0x27], al
movzx eax, byte [rcx - 0x14]
mov byte [rbp - 0x26], al
movzx eax, byte [rcx - 0x13]
mov byte [rbp - 0x25], al
test ebx, ebx
jne 0x140001ea0
mov eax, dword [rbp - 0x30]
mov byte [r11 - 2], 1
add eax, dword [rdi + 0x2d4]
cdq
mov dword [r9 - 8], 1
sub eax, edx
sar eax, 1
mov dword [rdi + 0x2d4], eax
mov eax, dword [r14 + r8]
add eax, dword [rbp - 0x2c]
cdq
sub eax, edx
sar eax, 1
mov dword [r14 + r8], eax
mov eax, dword [rbp - 0x28]
add eax, dword [r15 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r15 + r8], eax
mov ebx, dword [r9 - 4]
cmp ebx, 1
jg 0x140001f70
lea eax, [r10*4]
and eax, 0xffffff
mov edx, dword [rax + r8]
and edx, 0xffffff
lea rdi, [rdx + r8]
mov eax, dword [rdi + 0x2dc]
lea r14, [rdx + 0x2d8]
movsd xmm0, qword [rdi + 0x2d4]
lea r15, [rdx + 0x2dc]
mov dword [rbp - 0x28], eax
movzx eax, byte [rcx - 0x12]
movsd qword [rbp - 0x30], xmm0
mov byte [rbp - 0x2f], al
movzx eax, byte [rcx - 0x11]
mov byte [rbp - 0x2e], al
movzx eax, byte [rcx - 0x10]
mov byte [rbp - 0x2d], al
movzx eax, byte [rcx - 0xf]
mov byte [rbp - 0x2b], al
movzx eax, byte [rcx - 0xe]
mov byte [rbp - 0x2a], al
movzx eax, byte [rcx - 0xd]
mov byte [rbp - 0x29], al
movzx eax, byte [rcx - 0xc]
mov byte [rbp - 0x27], al
movzx eax, byte [rcx - 0xb]
mov byte [rbp - 0x26], al
movzx eax, byte [rcx - 0xa]
mov byte [rbp - 0x25], al
test ebx, ebx
jne 0x140001f70
mov eax, dword [rbp - 0x30]
mov byte [r11 - 1], 1
add eax, dword [rdi + 0x2d4]
cdq
mov dword [r9 - 4], 1
sub eax, edx
sar eax, 1
mov dword [rdi + 0x2d4], eax
mov eax, dword [rbp - 0x2c]
add eax, dword [r14 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r14 + r8], eax
mov eax, dword [rbp - 0x28]
add eax, dword [r15 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r15 + r8], eax
mov ebx, dword [r9]
cmp ebx, 1
jg 0x14000203d
lea eax, [r10*4 + 4]
and eax, 0xffffff
mov edx, dword [rax + r8]
and edx, 0xffffff
lea rdi, [rdx + r8]
mov eax, dword [rdi + 0x2dc]
lea r14, [rdx + 0x2d8]
movsd xmm0, qword [rdi + 0x2d4]
lea r15, [rdx + 0x2dc]
mov dword [rbp - 0x28], eax
movzx eax, byte [rcx - 9]
movsd qword [rbp - 0x30], xmm0
mov byte [rbp - 0x2f], al
movzx eax, byte [rcx - 8]
mov byte [rbp - 0x2e], al
movzx eax, byte [rcx - 7]
mov byte [rbp - 0x2d], al
movzx eax, byte [rcx - 6]
mov byte [rbp - 0x2b], al
movzx eax, byte [rcx - 5]
mov byte [rbp - 0x2a], al
movzx eax, byte [rcx - 4]
mov byte [rbp - 0x29], al
movzx eax, byte [rcx - 3]
mov byte [rbp - 0x27], al
movzx eax, byte [rcx - 2]
mov byte [rbp - 0x26], al
movzx eax, byte [rcx - 1]
mov byte [rbp - 0x25], al
test ebx, ebx
jne 0x14000203d
mov eax, dword [rbp - 0x30]
mov byte [r11], 1
add eax, dword [rdi + 0x2d4]
cdq
mov dword [r9], 1
sub eax, edx
sar eax, 1
mov dword [rdi + 0x2d4], eax
mov eax, dword [rbp - 0x2c]
add eax, dword [r14 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r14 + r8], eax
mov eax, dword [rbp - 0x28]
add eax, dword [r15 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r15 + r8], eax
mov ebx, dword [r9 + 4]
cmp ebx, 1
jg 0x14000210c
lea eax, [r10*4 + 8]
and eax, 0xffffff
mov edx, dword [rax + r8]
and edx, 0xffffff
lea rdi, [rdx + r8]
mov eax, dword [rdi + 0x2dc]
lea r14, [rdx + 0x2d8]
movsd xmm0, qword [rdi + 0x2d4]
lea r15, [rdx + 0x2dc]
mov dword [rbp - 0x28], eax
movzx eax, byte [rcx]
movsd qword [rbp - 0x30], xmm0
mov byte [rbp - 0x2f], al
movzx eax, byte [rcx + 1]
mov byte [rbp - 0x2e], al
movzx eax, byte [rcx + 2]
mov byte [rbp - 0x2d], al
movzx eax, byte [rcx + 3]
mov byte [rbp - 0x2b], al
movzx eax, byte [rcx + 4]
mov byte [rbp - 0x2a], al
movzx eax, byte [rcx + 5]
mov byte [rbp - 0x29], al
movzx eax, byte [rcx + 6]
mov byte [rbp - 0x27], al
movzx eax, byte [rcx + 7]
mov byte [rbp - 0x26], al
movzx eax, byte [rcx + 8]
mov byte [rbp - 0x25], al
test ebx, ebx
jne 0x14000210c
mov byte [r11 + 1], 1
mov eax, dword [rdi + 0x2d4]
add eax, dword [rbp - 0x30]
cdq
mov dword [r9 + 4], 1
sub eax, edx
sar eax, 1
mov dword [rdi + 0x2d4], eax
mov eax, dword [rbp - 0x2c]
add eax, dword [r14 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r14 + r8], eax
mov eax, dword [rbp - 0x28]
add eax, dword [r15 + r8]
cdq
sub eax, edx
sar eax, 1
mov dword [r15 + r8], eax
add r10d, 4
add r9, 0x10
add r11, 4
add rcx, 0x24
sub rsi, 1
jne 0x140001dd0
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400025c0
add rsp, 0x50
pop rsi
pop rbx
pop rbp
ret