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

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
test ebp, ebp
js 0x406097
mov edi, dword [esp + 0x1c]
test edi, edi
js 0x406097
push edi
push ebp
call fcn.00405c5f
mov ebx, eax
mov dword [esp + 0x20], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x405e5e
mov esi, dword [0x460c8c]
imul edx, ebx, 0xd8
add esi, 0xffffff28
add esi, edx
jmp 0x405ea9
push 0xa
pop ecx
mov eax, edi
cdq
idiv ecx
imul eax, eax, 0xa
mov esi, edx
push eax
push ebp
call fcn.00405c5f
mov ebx, eax
mov dword [esp + 0x20], eax
pop ecx
pop ecx
test ebx, ebx
je 0x406070
cmp esi, 8
jg 0x406070
mov esi, dword [0x460c8c]
imul ecx, ebx, 0xd8
add esi, 0xffffff28
add esi, ecx
test byte [esi + 0x1c], 0x16
je 0x406070
cmp dword [esi + 0x44], 3
jl 0x406070
xor ebx, ebx
cmp dword [esi + 0x44], 3
jle 0x405edf
test byte [esi + 0x1c], 0x40
je 0x405edf
push esi
call fcn.00405ca3
pop ecx
test eax, eax
jle 0x406014
push esi
call fcn.00405ca3
pop ecx
test eax, eax
je 0x406014
mov ax, word [esi + 0x4e]
mov dword [esi + 0x44], 4
inc ax
jne 0x405ef4
xor eax, eax
mov word [esi + 0x4e], ax
mov ax, word [esi + 0x4e]
inc ax
movzx eax, ax
push eax
call sub.WSOCK32.dll_htons
mov word [0x448f40], ax
cmp dword [esi + 0x40], 0x150
jge 0x405f3d
push 0x12
pop eax
push eax
mov dword [0x449874], eax
call sub.WSOCK32.dll_htons
push edi
mov word [0x448f42], ax
call sub.WSOCK32.dll_htons
push dword [esp + 0x20]
mov word [0x448f44], ax
push 0x448f46
jmp 0x405f88
push 0x11
pop eax
push eax
mov dword [0x449874], eax
call sub.WSOCK32.dll_htons
mov word [0x448f42], ax
movzx eax, word [esi + 0x4c]
push eax
call sub.WSOCK32.dll_htons
push ebx
mov word [0x448f44], ax
mov dword [0x449874], ebx
call sub.WSOCK32.dll_htons
push edi
mov word [0x448f46], ax
call sub.WSOCK32.dll_htons
push dword [esp + 0x20]
mov word [0x448f48], ax
push 0x448f4a
call fcn.00409ff0
pop ecx
pop ecx
push 4
push esi
push 0x449854
mov dword [esi + 0x48], 0xfffffffc
call fcn.0040ba80
add esp, 0xc
push 0x10
push 0x449850
push ebx
push dword [esp + 0x2c]
call fcn.0040a180
pop ecx
add eax, 0xb
push eax
push 0x448f40
push dword [0x448f3c]
call sub.WSOCK32.dll_sendto
imul ecx, dword [esp + 0x18], 0x102
mov eax, dword [0x460c88]
push dword [esp + 0x20]
mov word [ecx + eax - 0x102], di
add ecx, 0xffffff00
mov eax, dword [0x460c88]
add eax, ecx
push eax
call fcn.00409ff0
test byte [esi + 0x1c], 0x40
pop ecx
pop ecx
push esi
jne 0x406040
call fcn.00405ca3
pop ecx
test eax, eax
je 0x406014
cmp dword [esi + 0x48], ebx
je 0x4061c2
cmp dword [esi + 0x48], 1
jne 0x40604c
imul ecx, dword [esp + 0x18], 0x102
mov eax, dword [0x460c88]
add ecx, 0xffffff00
add eax, ecx
push eax
push dword [esp + 0x24]
call fcn.00409ff0
pop ecx
pop ecx
jmp 0x406068
jg 0x40600b
push esi
call fcn.00405ca3
pop ecx
test eax, eax
jns 0x40603d
jmp 0x406014
and ebp, 0x1f
and edi, 0x3f
imul eax, ebp, 0x3c
add eax, edi
cmp eax, 0x708
jae 0x4061c9
mov byte [eax + 0x449878], bl
mov eax, dword [esi + 0x48]
jmp 0x4061c4
push dword [esp + 0x20]
mov esi, 0x449740
push edi
push ebp
push str.COMM_ERR__0.2d__0.2d__s
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
add esp, 0x18
push 0xfffffffffffffffc
pop eax
jmp 0x4061c4
xor ebx, ebx
push ebx
call sub.WSOCK32.dll_htons
mov edi, ebx
mov esi, dword [0x460c8c]
movzx eax, ax
mov dword [0x449874], eax
mov word [0x448f40], ax
cmp dword [0x460c98], ebx
jbe 0x4061c2
cmp dword [esi + 0x40], 0x150
jge 0x406100
push 0x12
mov dword [0x449874], 0x12
call sub.WSOCK32.dll_htons
push 0x3f
mov word [0x448f42], ax
pop eax
push eax
mov dword [0x449874], eax
call sub.WSOCK32.dll_htons
push dword [esp + 0x20]
mov word [0x448f44], ax
push 0x448f46
jmp 0x406156
push 0x11
mov dword [0x449874], 0x11
call sub.WSOCK32.dll_htons
mov word [0x448f42], ax
movzx eax, word [esi + 0x4c]
push eax
call sub.WSOCK32.dll_htons
push ebx
mov word [0x448f44], ax
mov dword [0x449874], ebx
call sub.WSOCK32.dll_htons
push 0x3f
mov word [0x448f46], ax
pop eax
push eax
mov dword [0x449874], eax
call sub.WSOCK32.dll_htons
push dword [esp + 0x20]
mov word [0x448f48], ax
push 0x448f4a
call fcn.00409ff0
pop ecx
pop ecx
test ebp, ebp
js 0x406166
cmp ebp, dword [esi + 4]
jne 0x4061af
cmp dword [esi + 0x44], 3
je 0x406179
jl 0x4061af
push esi
call fcn.00405ca3
pop ecx
test eax, eax
je 0x4061af
push 4
push esi
push 0x449854
call fcn.0040ba80
add esp, 0xc
push 0x10
push 0x449850
push ebx
push dword [esp + 0x2c]
call fcn.0040a180
pop ecx
add eax, 0xb
push eax
push 0x448f40
push dword [0x448f3c]
call sub.WSOCK32.dll_sendto
add esi, 0xd8
inc edi
cmp edi, dword [0x460c98]
jb 0x4060c1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
ret
call fcn.004092b8
int3