Function at 0x4884c0
Capabilities:
Get hostname
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
add esp, 0xfffffddc
mov al, byte [0x4e75b4]
mov ecx, 0x18
push ebp
mov ebp, 1
push ebx
push esi
push edi
lea edi, [esp + 0x69]
mov byte [esp + 0x68], al
xor eax, eax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x240]
or eax, eax
jne 0x488501
or eax, 0xffffffff
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
mov byte [eax], 0
call fcn.0047ac10
cmp eax, 1
jne 0x488510
xor ebp, ebp
call fcn.0047b6a0
or eax, eax
je 0x48851e
mov ebp, 1
mov ecx, 0x19
mov ebx, dword [esp + 0x23c]
lea edi, [esp + 0xcc]
xor eax, eax
lea edx, [esp + 0xcc]
rep stosd dword es:[edi], eax
lea edi, [ebx + 2]
or ecx, 0xffffffff
not ecx
repne scasb al, byte es:[edi]
mov eax, ecx
push str.RNBO_SPN_LOCAL
sub edi, ecx
shr ecx, 2
mov esi, edi
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xd0]
push ecx
call fcn.004b1f1c
add esp, 8
or eax, eax
jne 0x48859b
cmp ebp, 1
jne 0x48859b
mov edx, dword [esp + 0x240]
mov eax, dword [esp + 0x238]
push edx
push eax
call fcn.0048be80
sub esp, 0xfffffff8
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
lea ecx, [esp + 0xcc]
push str.RNBO_SPN_LOCAL
push ecx
call fcn.004b1f1c
sub esp, 0xfffffff8
or eax, eax
jne 0x488604
test ebp, ebp
jne 0x488604
push 0x64
mov esi, 2
cmp word [ebx + 0x74], si
jne 0x4885d4
lea edx, [esp + 0x6c]
push edx
call fcn.0047b4c0
sub esp, 0xfffffff8
jmp 0x488631
lea eax, [esp + 0x6c]
push eax
call sub.WS2_32.dll_gethostname
cmp eax, 0xffffffff
jne 0x488631
mov edx, dword [0x4ea3d4]
mov ax, word [0x4ea3d8]
mov ecx, dword [str.127.0.0.1]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov word [esp + 0x70], ax
jmp 0x488631
lea edx, [esp + 0x68]
lea edi, [esp + 0xcc]
or ecx, 0xffffffff
xor eax, eax
not ecx
repne scasb al, byte es:[edi]
sub edi, ecx
mov esi, edi
mov eax, ecx
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 2
call fcn.0047b280
xor ecx, ecx
mov cx, word [ebx + 0x74]
dec ecx
cmp ecx, 7
ja case.0x488642.3
jmp dword [ecx*4 + 0x488cac]
mov edx, dword [esp + 0x238]
mov ecx, dword [esp + 0x240]
push ecx
push ebx
push edx
call fcn.00488da0
add esp, 0xc
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
and eax, 1
cmp al, 1
jne 0x488684
mov dword [esp + 0x10], 1
jmp 0x4886b2
and eax, esi
cmp al, 2
je 0x4886ae
pop edi
mov eax, 0x4c
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
mov ecx, eax
and ecx, 1
cmp cl, 1
jne 0x4886a8
mov dword [esp + 0x10], 1
jmp 0x4886b2
and eax, esi
cmp al, 2
jne 0x488684
mov dword [esp + 0x10], esi
lea edx, [esp + 0x68]
push edx
call fcn.0047b2e0
sub esp, 0xfffffffc
test eax, eax
jne 0x4886ce
test byte [esp + 0x10], 2
je 0x4886ce
mov dword [esp + 0x10], esi
push ebx
call fcn.00487620
add esp, 4
cmp eax, 0xffffffff
jne 0x488717
cmp dword [esp + 0x10], esi
jne 0x4886ec
push 0x3e8
push esi
push 6
jmp 0x4886f0
push 0x11
push esi
push esi
call fcn.0047b9e0
sub esp, 0xfffffff4
cmp eax, 0xffffffff
jne 0x48870d
mov eax, 0x3f
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
push eax
push ebx
call fcn.00487640
add esp, 8
mov eax, dword [esp + 0x10]
push 0
cmp eax, esi
jne 0x488732
lea ecx, [esp + 0x6c]
lea eax, [esp + 0x30]
push eax
push ecx
call fcn.0047b400
jmp 0x488741
lea edx, [esp + 0x30]
lea eax, [esp + 0x6c]
push edx
push eax
call fcn.0047b040
add esp, 0xc
test eax, eax
je 0x488758
mov eax, 0x3d
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
mov eax, dword [0x4eb3fc]
test eax, eax
je 0x488779
call fcn.00488cd0
push eax
call fcn.00482fc0
mov dword [0x4eb3fc], 0
sub esp, 0xfffffffc
call fcn.0047ab80
mov dword [0x4fd544], eax
call fcn.00488cd0
cmp dword [eax], 0
je 0x4887ef
mov edi, dword [sym.imp.KERNEL32.dll_GetVersion]
call edi
cmp eax, 0x80000000
jb 0x4887ef
call edi
cmp eax, 0x80000000
jb 0x4887ab
call edi
cmp al, 4
jb 0x4887ef
cmp dword [esp + 0x10], esi
jne 0x4887ef
push ebx
call fcn.00487620
add esp, 4
push eax
call sub.WS2_32.dll_closesocket
push 0x3e8
push esi
push 6
call fcn.0047b9e0
sub esp, 0xfffffff4
cmp eax, 0xffffffff
jne 0x4887e5
mov eax, 0x3f
pop edi
pop esi
pop ebx
pop ebp
sub esp, 0xfffffddc
ret
push eax
push ebx
call fcn.00487640
add esp, 8
lea ecx, [esp + 0x2c]
push ecx
call fcn.00488cd0
mov edx, dword [eax]
push edx
call fcn.00488ce0
add esp, 8
mov ebp, eax
test ebp, ebp
jne 0x488911
push 0x58
call fcn.004a8093
add esp, 4
mov ebp, eax
test ebp, ebp
jne 0x48882e
pop edi
pop esi
mov eax, 0x40
pop ebx
pop ebp
add esp, 0x224
ret
cmp dword [esp + 0x10], esi
jne 0x488885
xor eax, eax
lea edi, [ebp + 8]
mov ecx, edi
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov word [edi], 6
call fcn.00487690
push eax
call fcn.0047bb10
lea edx, [esp + 0x30]
push edi
push edx
mov word [edi + 0xc], ax
call fcn.0047b370
sub esp, 0xfffffff4
or eax, eax
jne 0x4888d7
push ebp
call fcn.004a7a46
sub esp, 0xfffffffc
mov eax, 0x3d
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
lea eax, [ebp + 8]
xor ecx, ecx
mov edx, eax
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [edx + 0xc], ecx
mov word [eax], si
call fcn.00487690
push eax
call fcn.0047bb10
mov word [ebp + 0xa], ax
lea eax, [esp + 0x30]
push eax
call fcn.0047b990
mov dword [ebp + 0xc], eax
sub esp, 0xfffffff8
cmp eax, 0xffffffff
jne 0x4888d7
push ebp
call fcn.004a7a46
sub esp, 0xfffffffc
mov eax, 0x3d
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
lea edx, [ebp + 0x18]
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
not ecx
xor eax, eax
repne scasb al, byte es:[edi]
push ebp
mov eax, ecx
sub edi, ecx
mov esi, edi
mov dword [ebp], 1
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00488cd0
push eax
call fcn.00482fd0
add esp, 8
mov esi, dword [esp + 0x238]
mov dword [0x4fd538], 0x294
mov ecx, dword [ebp]
mov edi, esi
and ecx, 0x1fff
mov dword [0x4fd53c], ecx
mov dword [0x4fd540], 0
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
cmp ecx, 0x190
ja 0x488961
mov edx, ecx
shr ecx, 2
mov edi, 0x4fd548
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x68
mov edi, 0x4fd6e0
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x4c]
push eax
call fcn.004884a0
mov edi, 0x4fd880
mov ecx, 0x68
xor eax, eax
mov dword [esp + 0x1c], 0
rep stosd dword es:[edi], eax
mov ecx, dword [0x4fd538]
mov dword [esp + 0x18], 1
push ecx
call fcn.0047bb40
mov edx, dword [0x4fd53c]
mov dword [0x4fd880], eax
push edx
call fcn.0047bb40
mov dword [0x4fd884], eax
mov eax, dword [0x4fd540]
push eax
call fcn.0047bb40
mov ecx, dword [0x4fd544]
mov dword [0x4fd888], eax
push ecx
call fcn.0047bb40
or ecx, 0xffffffff
not ecx
mov edi, 0x4fd548
mov dword [0x4fd88c], eax
mov edx, ecx
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
sub edi, ecx
lea eax, [esp + 0x4c]
mov esi, edi
shr ecx, 2
mov edi, 0x4fd890
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x18], 3
jge 0x488c60
mov esi, 2
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
cmp edi, esi
jne 0x488a58
or eax, eax
je 0x488a8b
lea ecx, [ebp + 8]
push 0x10
push ecx
push 0
push 0x1a0
push 0x4fd880
push ebx
call fcn.00487620
add esp, 4
push eax
call sub.WS2_32.dll_sendto
cmp eax, 0x1a0
jne 0x488c2b
jmp 0x488a8b
test eax, eax
je 0x488a8b
push 0x10
lea edx, [ebp + 8]
push edx
push 0
push 0x1a0
push 0x4fd880
push ebx
call fcn.00487620
add esp, 4
push eax
call fcn.0047ba90
sub esp, 0xffffffe8
cmp eax, 0x1a0
jne 0x488c30
push ebx
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x134], edi
call fcn.00487620
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0x28], edi
mov dword [esp + edx*4 + 0x134], eax
mov edx, dword [esp + 0x130]
inc edx
mov eax, dword [ecx]
mov dword [esp + 0x130], edx
lea ecx, [esp + 0x24]
push ecx
push edi
lea edx, [esp + 0x138]
push edi
push edx
push ebx
mov dword [esp + 0x38], eax
call fcn.00487620
add esp, 4
inc eax
push eax
call fcn.0047ba10
sub esp, 0xffffffec
cmp eax, 0xffffffff
je 0x488c50
cmp eax, edi
je 0x488c0e
mov dword [esp + 0x20], 0x10
mov ecx, 0x68
xor eax, eax
mov edi, 0x4fd880
rep stosd dword es:[edi], eax
cmp dword [esp + 0x10], esi
jne 0x488b43
push 0
push 0x1a0
push 0x4fd880
push ebx
call fcn.00487620
add esp, 4
push eax
call sub.WS2_32.dll_recv
cmp eax, 0x1a0
jne 0x488c40
jmp 0x488b74
lea eax, [esp + 0x20]
lea ecx, [esp + 0x58]
push eax
push ecx
push 0
push 0x1a0
push 0x4fd880
push ebx
call fcn.00487620
sub esp, 0xfffffffc
push eax
call fcn.0047bad0
sub esp, 0xffffffe8
cmp eax, 0xffffffff
je 0x488c40
mov edx, dword [0x4fd880]
push edx
call fcn.0047bb40
mov dword [0x4fd6e0], eax
mov eax, dword [0x4fd884]
push eax
call fcn.0047bb40
mov ecx, dword [0x4fd888]
mov dword [0x4fd6e4], eax
push ecx
call fcn.0047bb40
mov edx, dword [0x4fd88c]
mov dword [0x4fd6e8], eax
push edx
call fcn.0047bb40
or ecx, 0xffffffff
not ecx
mov dword [0x4fd6ec], eax
xor eax, eax
mov edi, 0x4fd890
add esp, 0x10
repne scasb al, byte es:[edi]
mov eax, ecx
sub edi, ecx
shr ecx, 2
mov esi, edi
mov edi, 0x4fd6f0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x10]
and ecx, 3
cmp eax, 1
rep movsb byte es:[edi], byte [esi]
jne 0x488bfa
mov esi, dword [ebp + 0xc]
lea edx, [ebp + 0xc]
lea ecx, [esp + 0x5c]
cmp esi, dword [ecx]
jne 0x488a0a
mov eax, dword [0x4fd53c]
mov ecx, dword [0x4fd6e4]
cmp ecx, eax
je 0x488c70
jmp 0x488a0a
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x14], 1
add eax, 4
mov dword [esp + 0x18], ecx
jmp 0x488a06
call sub.WS2_32.dll_WSAGetLastError
mov eax, 0x3e
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
mov eax, 0x6c
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
pop edi
pop esi
pop ebx
pop ebp
mov eax, 0x6d
sub esp, 0xfffffddc
ret
mov eax, 0x3c
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret
mov edi, 0x4fd6f0
mov ecx, dword [ebp]
inc ecx
xor eax, eax
mov dword [ebp], ecx
or ecx, 0xffffffff
not ecx
mov edx, ecx
repne scasb al, byte es:[edi]
sub edi, ecx
mov esi, edi
mov edi, dword [esp + 0x240]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebx
pop ebp
add esp, 0x224
ret