Function at 0x407600
Capabilities:
Get hostname
Get session user name
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffff58
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov esi, 0x4bb5a5
lea edi, [ebp - 0x128]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
mov esi, 0x4bb6ac
lea edi, [ebp - 0x860]
mov ecx, 0x1ce
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x860], 0xb
push 0x103
lea eax, [ebp - 0x758]
push eax
call sub.WSOCK32.DLL_gethostname
lea edx, [ebp - 0x85c]
push edx
call fcn.0040cf50
pop ecx
lea ecx, [ebp - 0x550]
push ecx
call fcn.0040dcb4
pop ecx
push 0x4bd0f2
lea eax, [ebp - 0x244]
push eax
call fcn.0049dac8
add esp, 8
mov dword [ebp - 0x14], 0x103
push dword [ebp - 0x14]
lea edx, [ebp - 0x654]
push edx
push 0x4bd12f
push 0x4bd0f9
call fcn.0049aa34
add esp, 0x10
lea ecx, [ebp - 0x654]
push ecx
call fcn.0049daf8
pop ecx
test eax, eax
jne 0x4076d1
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x654]
push edx
call sub.ADVAPI32.DLL_GetUserNameA
mov ecx, dword [ebp - 4]
add ecx, 0xf94
push ecx
lea eax, [ebp - 0x44c]
push eax
call fcn.0049dac8
add esp, 8
mov edx, dword [ebp - 4]
add edx, 0xd7d
push edx
lea ecx, [ebp - 0x348]
push ecx
call fcn.0049dac8
add esp, 8
push 0xc8
call sub.KERNEL32.DLL_Sleep
mov esi, 0x4bbde4
lea edi, [ebp - 0x964]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x964]
push eax
push dword [ebp - 4]
call fcn.00404c80
add esp, 8
push 0x738
lea edx, [ebp - 0x860]
push edx
push dword [ebp - 4]
call fcn.00404bf4
pop ecx
push eax
lea ecx, [ebp - 0x964]
push ecx
call fcn.0040bfc8
add esp, 0x10
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
test eax, eax
jle 0x407925
mov esi, 0x4bbee8
lea edi, [ebp - 0xa68]
mov ecx, 0x41
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xa68]
push eax
call fcn.0049b558
pop ecx
mov esi, 0x4bbfec
lea edi, [ebp - 0xda8]
mov ecx, 0xcf
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push dword [ebp - 8]
lea eax, [ebp - 0xda8]
push eax
call fcn.0049dac8
add esp, 8
push dword [ebp - 0xc]
lea edx, [ebp - 0xca4]
push edx
call fcn.0049dac8
add esp, 8
lea ecx, [ebp - 0xa68]
push ecx
lea eax, [ebp - 0xa9c]
push eax
call fcn.0049dac8
add esp, 8
push 0x5c
lea edx, [ebp - 0xca4]
push edx
call fcn.0049dbfd
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4077f1
inc dword [ebp - 0x1c]
jmp 0x4077fa
lea eax, [ebp - 0xca4]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x348]
push edx
lea ecx, [ebp - 0xca4]
push ecx
lea eax, [ebp - 0xa9c]
push eax
push str._s__s__s__s
lea edx, [ebp - 0xba0]
push edx
call fcn.004a16bc
add esp, 0x14
xor ecx, ecx
mov dword [ebp - 0x20], ecx
jmp 0x4078f7
mov eax, dword [ebp - 0x20]
movsx edx, byte [ebp + eax - 0xba0]
cmp edx, 0x2a
je 0x4078e9
mov ecx, dword [ebp - 0x20]
movsx eax, byte [ebp + ecx - 0xba0]
cmp eax, 0x21
je 0x4078e9
mov edx, dword [ebp - 0x20]
movsx ecx, byte [ebp + edx - 0xba0]
cmp ecx, 0x5b
je 0x4078e9
mov eax, dword [ebp - 0x20]
movsx edx, byte [ebp + eax - 0xba0]
cmp edx, 0x5d
je 0x4078e9
mov ecx, dword [ebp - 0x20]
movsx eax, byte [ebp + ecx - 0xba0]
cmp eax, 0x3c
je 0x4078e9
mov edx, dword [ebp - 0x20]
movsx ecx, byte [ebp + edx - 0xba0]
cmp ecx, 0x3e
je 0x4078e9
mov eax, dword [ebp - 0x20]
movsx edx, byte [ebp + eax - 0xba0]
cmp edx, 0x20
je 0x4078e9
mov ecx, dword [ebp - 0x20]
movsx eax, byte [ebp + ecx - 0xba0]
cmp eax, 0x2c
je 0x4078e9
mov edx, dword [ebp - 0x20]
movsx ecx, byte [ebp + edx - 0xba0]
cmp ecx, 0x2f
je 0x4078e9
mov eax, dword [ebp - 0x20]
movsx edx, byte [ebp + eax - 0xba0]
cmp edx, 0x5c
je 0x4078e9
mov ecx, dword [ebp - 0x20]
movsx eax, byte [ebp + ecx - 0xba0]
cmp eax, 0x3a
jne 0x4078f4
mov edx, dword [ebp - 0x20]
mov byte [ebp + edx - 0xba0], 0x5f
inc dword [ebp - 0x20]
lea ecx, [ebp - 0xba0]
push ecx
call fcn.0049daf8
pop ecx
mov edx, dword [ebp - 0x20]
cmp eax, edx
ja 0x40782d
push 0
push 0x33e
lea eax, [ebp - 0xda8]
push eax
push dword [ebp - 0x18]
call sub.WSOCK32.DLL_send
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jle 0x4079d2
push 3
push 0x4bd14b
push dword [ebp - 0x18]
call fcn.0040c6a0
add esp, 0xc
test eax, eax
jl 0x4079d2
push 0
push 0x300
lea eax, [ebp - 0x10a8]
push eax
push dword [ebp - 0x18]
call sub.WSOCK32.DLL_recv
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
cmp edx, 0x300
jne 0x40797a
mov dword [ebp - 0x10], 1
jmp 0x407a29
mov ecx, dword [ebp - 4]
add ecx, 0x974
push ecx
push 0x4bd14d
lea eax, [ebp - 0x128]
push eax
call fcn.0040d5c4
add esp, 0xc
push 0x10
lea edx, [ebp - 0x128]
push edx
mov ecx, dword [ebp - 4]
add ecx, 0x974
push ecx
push 0x4bd15a
mov eax, dword [ebp - 4]
add eax, 0x574
push eax
call fcn.0040d5c4
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
call fcn.0044a5e4
push eax
call sub.USER32.DLL_MessageBoxA
jmp 0x407a29
mov edx, dword [ebp - 4]
add edx, 0x974
push edx
push 0x4bd16e
lea ecx, [ebp - 0x128]
push ecx
call fcn.0040d5c4
add esp, 0xc
push 0x10
lea eax, [ebp - 0x128]
push eax
mov edx, dword [ebp - 4]
add edx, 0x974
push edx
push 0x4bd17b
mov ecx, dword [ebp - 4]
add ecx, 0x574
push ecx
call fcn.0040d5c4
add esp, 0xc
push eax
mov eax, dword [ebp - 4]
call fcn.0044a5e4
push eax
call sub.USER32.DLL_MessageBoxA
push dword [ebp - 0x18]
call sub.WSOCK32.DLL_closesocket
mov eax, dword [ebp - 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret