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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x10021004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [ebp - 0x250], eax
push esi
push edi
lea eax, [ebx + 0xc0]
push eax
mov dword [ebp - 0x260], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x10001c09
push 0x8000
push 0
push eax
call dword [sym.imp.KERNEL32.dll_VirtualFree]
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
call fcn.1000a134
cdq
mov ecx, 0x1ff
idiv ecx
mov esi, edx
cmp esi, 0x200
jg 0x10001c3b
mov edi, esi
test esi, esi
jg 0x10001c42
mov esi, 0x7b
mov edi, esi
mov eax, dword [ebp + 0xc]
lea ecx, [ebx + 0x24]
mov edx, dword [ebx + 0x28]
add eax, 8
add eax, edi
mov dword [ebp - 0x258], eax
test edx, edx
jne 0x10001c5e
xor eax, eax
jmp 0x10001c63
mov eax, dword [ebx + 0x2c]
sub eax, edx
add eax, 4
push eax
call fcn.10001040
mov eax, dword [ebx + 0x2c]
mov dword [eax], esi
add dword [ebx + 0x2c], 4
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x28]
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebx + 0x24]
add eax, 4
push eax
call fcn.10001040
mov eax, dword [ebx + 0x2c]
mov edx, dword [ebp - 0x258]
push esi
push 0x1001e924
mov dword [eax], edx
lea eax, [ebp - 0x48]
add dword [ebx + 0x2c], 4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x48]
mov edx, esi
lea ecx, [ebp - 0x248]
push eax
call fcn.10001260
mov ecx, dword [ebx + 0x28]
add esp, 4
test ecx, ecx
jne 0x10001cd0
xor eax, eax
jmp 0x10001cd5
mov eax, dword [ebx + 0x2c]
sub eax, ecx
add eax, edi
lea ecx, [ebx + 0x24]
push eax
call fcn.10001040
push edi
lea eax, [ebp - 0x248]
push eax
push dword [ebx + 0x2c]
call fcn.10009bc0
add dword [ebx + 0x2c], edi
add esp, 0xc
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x28]
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [ebx + 0x24]
add eax, dword [ebp + 0xc]
push eax
call fcn.10001040
push dword [ebp + 0xc]
push dword [ebp - 0x250]
push dword [ebx + 0x2c]
call fcn.10009bc0
mov edx, dword [ebp + 0xc]
lea eax, [ebp - 0x48]
add dword [ebx + 0x2c], edx
add esp, 0xc
mov ecx, dword [ebx + 0x28]
add ecx, 8
add ecx, edi
push eax
call fcn.10001260
mov eax, dword [ebx + 0x28]
add esp, 4
mov dword [ebp - 0x24c], eax
test eax, eax
jne 0x10001d4f
xor ecx, ecx
jmp 0x10001d54
mov ecx, dword [ebx + 0x2c]
sub ecx, eax
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
mov edx, ecx
mov dword [ebp - 0x258], ecx
cmp ecx, 0x2000
mov dword [ebp - 0x254], edi
mov ecx, dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x250], edx
jl 0x10001e03
xor esi, esi
push 0
push 0x2000
push eax
push dword [ebx + 0xb8]
call ecx
mov edi, eax
test edi, edi
jg 0x10001db4
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x24c]
inc esi
mov ecx, dword [sym.imp.WS2_32.dll_send]
cmp esi, 0xf
jl 0x10001d84
cmp esi, 0xf
je 0x10001e82
add dword [ebp - 0x254], edi
add dword [ebp - 0x24c], 0x2000
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x1e
call esi
mov edx, dword [ebp - 0x250]
mov eax, dword [ebp - 0x24c]
sub edx, 0x2000
mov ecx, dword [sym.imp.WS2_32.dll_send]
mov dword [ebp - 0x250], edx
cmp edx, 0x2000
jge 0x10001d82
mov edi, dword [ebp - 0x254]
test edx, edx
jle 0x10001e55
xor edi, edi
nop dword [eax]
push 0
push edx
push eax
push dword [ebx + 0xb8]
call ecx
mov dword [ebp - 0x25c], eax
test eax, eax
jg 0x10001e48
push 0x64
call esi
mov eax, dword [ebp - 0x24c]
inc edi
mov ecx, dword [sym.imp.WS2_32.dll_send]
mov edx, dword [ebp - 0x250]
cmp edi, 0xf
jl 0x10001e10
mov eax, dword [ebp - 0x25c]
cmp edi, 0xf
je 0x10001e82
mov edi, dword [ebp - 0x254]
add edi, eax
or esi, 0xffffffff
cmp edi, dword [ebp - 0x258]
cmove esi, edi
push dword [ebp - 0x260]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10006729
mov esp, ebp
pop ebp
ret 8
or esi, 0xffffffff
jmp 0x10001e61