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

Disassembly:
movsx eax, byte [0x448f43]
sub esp, 0x10
push ebx
push ebp
push esi
push edi
dec eax
je 0x405391
sub eax, 5
je 0x40536e
dec eax
dec eax
je 0x40512e
sub eax, 0xb
jne 0x405469
xor ebx, ebx
push ebx
call fcn.00409633
mov esi, dword [esp + 0x28]
pop ecx
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edx
movzx eax, word [0x448f40]
push eax
call sub.WSOCK32.dll_ntohs
movzx edx, ax
test edx, edx
je 0x405112
mov ax, word [esi + 0x4e]
xor ecx, ecx
inc ax
inc ecx
movzx eax, ax
test eax, eax
cmove eax, ecx
cmp eax, edx
jne 0x405469
mov word [esi + 0x4e], dx
mov dword [esi + 0x48], 0xfffffffc
movzx eax, word [0x448f44]
push eax
call sub.WSOCK32.dll_ntohs
movzx eax, ax
cmp eax, 3
jne 0x4050d9
mov dword [esi + 0x48], ebx
cmp eax, 0xa
jne 0x405112
mov eax, esi
mov ecx, 0xd8
sub eax, dword [0x460c8c]
cdq
idiv ecx
push 0x448f46
imul ecx, eax, 0x102
mov eax, dword [0x460c88]
add eax, 2
add eax, ecx
push eax
call fcn.00409ff0
pop ecx
pop ecx
mov dword [esi + 0x48], 1
cmp dword [esi + 0x44], 2
je 0x405122
cmp dword [esi + 0x44], 4
jne 0x405469
mov dword [esi + 0x44], 3
jmp 0x405469
mov esi, dword [esp + 0x24]
xor eax, eax
inc eax
cmp dword [esi + 0x44], eax
jl 0x405469
cmp dword [esi + 0x44], 3
jg 0x405469
movzx eax, word [0x448f40]
xor ebx, ebx
push eax
mov byte [0x448f43], bl
mov dword [esp + 0x20], ebx
call sub.WSOCK32.dll_ntohs
movzx ecx, ax
movzx eax, word [esi + 0x4c]
cmp eax, ecx
je 0x405317
cmp dword [esi + 0x44], 1
jne 0x40517d
mov dword [esi + 0x44], 2
cmp dword [esi + 0x44], 3
jne 0x4051a4
cmp dword [esp + 0x28], ebx
je 0x4051a4
cmp byte [0x448f82], bl
je 0x4051a0
mov dword [esp + 0x1c], 1
mov byte [0x448f43], 9
mov word [esi + 0x4c], cx
push ebx
call fcn.00409633
mov dword [esi + 0x38], eax
lea eax, [esi + 4]
mov ebp, dword [eax]
mov dword [esi + 0x3c], edx
sub esi, dword [0x460c8c]
mov dword [esp + 0x18], eax
mov eax, esi
pop ecx
mov ecx, 0xd8
cdq
idiv ecx
mov dl, byte [0x448f44]
imul edi, ebp, 0x3c
lea ecx, [eax + 1]
mov dword [esp + 0x10], ecx
and dl, 0x80
jne 0x40528c
test byte [edi + 0x449f80], 0x80
jne 0x40528c
lea edx, [edi + 0x449878]
mov ebp, ebx
mov dword [esp + 0x18], edx
mov esi, 0x449740
movzx eax, byte [edx + ebp]
cmp eax, ecx
jne 0x405246
cmp byte [ebp + 0x448f44], bl
jne 0x405246
cmp edi, 0x708
jae 0x405473
mov eax, dword [esp + 0x14]
push ebp
mov byte [edi + 0x449878], bl
push dword [eax]
push str.COMM_TERM__0.2d__0.2d_gestoert
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov edx, dword [esp + 0x18]
movzx eax, byte [edx + ebp]
cmp eax, ecx
je 0x40527c
cmp byte [ebp + 0x448f44], bl
je 0x40527c
mov eax, dword [esp + 0x14]
push ebp
mov byte [edx + ebp], cl
push dword [eax]
push str.COMM_TERM__0.2d__0.2d_angemeldet
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov edx, dword [esp + 0x18]
inc ebp
inc edi
cmp ebp, 0x3c
jl 0x405201
jmp 0x40531e
mov al, byte [edi + 0x449f80]
and al, 0x80
je 0x4052da
test dl, dl
jne 0x4052de
push ebp
push str.COMM_SERV__0.2d_60_gestoert
mov esi, 0x449740
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
add esp, 0x10
lea ecx, [edi + 1]
mov eax, ebx
cmp ecx, 0x708
jae 0x405473
mov byte [edi + eax + 0x449878], bl
inc eax
mov byte [ecx + 0x449f80], bl
cmp eax, 0x3c
jl 0x4052b9
jmp 0x40531e
test dl, dl
je 0x40531e
test al, al
jne 0x40531e
push ebp
push str.COMM_SERV__0.2d_60_angemeldet
mov esi, 0x449740
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
push 0x3c
push dword [esp + 0x24]
lea eax, [edi + 0x449878]
push eax
call fcn.0040c0d0
add esp, 0x1c
mov byte [edi + 0x449f81], 0x80
jmp 0x40531e
mov byte [0x448f43], 9
push 4
push 0x449864
push 0x449854
call fcn.0040ba80
add esp, 0xc
push 0x10
push 0x449850
push ebx
push 4
push 0x448f40
push dword [0x448f3c]
call sub.WSOCK32.dll_sendto
cmp dword [esp + 0x1c], ebx
je 0x405469
push 0x448f84
push dword [esp + 0x2c]
call fcn.00409ff0
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x40546b
push 0x448f44
push str.COMM_PROTO_Data_s
mov esi, 0x449740
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
add esp, 0x10
jmp 0x405469
mov ebp, 0x448f44
push ebp
call fcn.0040a180
mov edi, dword [esp + 0x28]
xor ebx, ebx
inc ebx
pop ecx
cmp eax, ebx
jbe 0x4053c7
push 2
lea esi, [edi + 0x40]
push ebp
push esi
call fcn.0040ba80
movzx eax, word [esi]
add esp, 0xc
push eax
call sub.WSOCK32.dll_ntohs
movzx eax, ax
mov dword [esi], eax
jmp 0x4053ce
mov dword [edi + 0x40], 0x100
mov dword [edi + 0x44], ebx
xor ebx, ebx
push ebx
call fcn.00409633
mov dword [edi + 0x38], eax
xor eax, eax
mov dword [edi + 0x3c], edx
mov dword [edi + 0x4c], eax
push edi
mov byte [0x448f41], 1
mov byte [0x448f43], 2
call fcn.00405ac6
push 4
push 0x449864
push 0x449854
call fcn.0040ba80
add esp, 0x14
test byte [edi + 0x1c], 0x40
push 0x10
push 0x449850
push ebx
je 0x40542b
push 0x448f80
call fcn.0040a180
pop ecx
add eax, 0x41
push eax
jmp 0x40542d
push 0x38
push 0x448f40
push dword [0x448f3c]
call sub.WSOCK32.dll_sendto
movzx eax, byte [edi + 3]
mov esi, 0x449740
push eax
movzx eax, byte [edi + 2]
push eax
movzx eax, byte [edi + 1]
push eax
movzx eax, byte [edi]
push eax
push str.COMM_BETA__0.3d._0.3d._0.3d._0.3d_aufgesetzt.
push esi
call fcn.00409bd1
push esi
call fcn.00408d8a
add esp, 0x1c
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
call fcn.004092b8
int3