Function at 0x45b960
Capabilities:
Get hostname
Initialize winsock library
Resolve dns

Disassembly:
push 0xffffffffffffffff
push 0x73e3d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
mov al, byte [esp + 3]
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ebx, [ebp + 0xc]
xor edi, edi
push edi
mov ecx, ebx
mov dword [esp + 0x2c], ebp
mov byte [ebx], al
call fcn.00404760
mov dword [esp + 0x134], edi
push 0x40000
mov dword [ebp + 0x40024], 0x76630c
mov dword [ebp + 0x40028], 0x40000
call fcn.00726f70
add esp, 4
mov dword [ebp + 0x4002c], eax
mov dword [ebp + 0x40030], edi
mov dword [ebp + 0x40034], edi
mov dl, byte [esp + 0x13]
lea ecx, [ebp + 0x40040]
mov byte [esp + 0x134], 1
push edi
mov byte [ecx], dl
call fcn.00404760
mov al, byte [esp + 0x13]
lea ecx, [ebp + 0x40050]
mov byte [esp + 0x134], 2
push edi
mov byte [ecx], al
call fcn.00404760
mov cl, byte [esp + 0x13]
lea esi, [ebp + 0x40064]
mov byte [esp + 0x134], 3
mov dword [esp + 0x14], esi
mov byte [esi], cl
lea ecx, [esi + 4]
call fcn.00565a90
lea ecx, [esi + 0x14]
call fcn.00565a90
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov byte [esp + 0x134], 5
or ecx, 0xffffffff
mov dword [ebp + 8], edi
mov edi, 0x7c4d88
xor eax, eax
mov dword [ebp], 0x766308
mov dword [ebp + 4], ecx
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, ebx
push esi
mov dword [esp + 0x1c], esi
call fcn.00401450
test al, al
je 0x45ba91
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x7c4d88
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, edx
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, ebx
call fcn.00404970
xor esi, esi
mov dword [ebp + 0x1c], esi
mov eax, dword [0x9365a8]
cmp eax, esi
jne 0x45bbda
mov cl, byte [esp + 0x13]
push esi
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.00404760
push 0x936418
push 0x101
mov byte [esp + 0x13c], 6
call sub.wsock32.dll_WSAStartup
test eax, eax
jne 0x45bbad
lea edx, [esp + 0x2c]
push 0xff
push edx
call sub.wsock32.dll_gethostname
test eax, eax
jne 0x45bbad
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea ebx, [ebp + 0x40050]
mov edi, ecx
push 1
push edi
mov ecx, ebx
mov dword [esp + 0x1c], edi
call fcn.00401450
test al, al
je 0x45bb37
mov eax, dword [ebx + 4]
mov ecx, edi
mov edi, eax
mov eax, ecx
lea esi, [esp + 0x2c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 8], eax
mov ebx, dword [ebx + 4]
add ebx, eax
xor esi, esi
mov byte [ebx], 0
lea ecx, [esp + 0x2c]
push ecx
call sub.wsock32.dll_gethostbyname
cmp eax, esi
je 0x45bbad
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push ecx
call sub.wsock32.dll_inet_ntoa
mov esi, eax
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebx, ecx
lea ecx, [esp + 0x1c]
push ebx
call fcn.00401450
test al, al
je 0x45bb92
mov edi, dword [esp + 0x1c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
mov byte [eax + ebx], 0
mov ecx, dword [0x76560c]
lea edx, [esp + 0x18]
push ecx
push 0
push edx
lea ecx, [ebp + 0x40040]
call fcn.00404560
xor esi, esi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x134], 5
cmp eax, esi
je 0x45bbda
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x45bbd1
cmp al, 0xff
je 0x45bbd1
dec al
mov byte [ecx], al
jmp 0x45bbda
push ecx
call fcn.00726ea6
add esp, 4
mov eax, dword [0x9365a8]
mov ecx, dword [esp + 0x12c]
inc eax
pop edi
mov dword [0x9365a8], eax
mov dword [ebp + 0x40060], esi
mov dword [ebp + 0x40020], esi
mov dword [ebp + 0x40038], esi
mov dword [ebp + 0x4003c], esi
mov dword [ebp + 0x40094], 1
mov eax, ebp
pop esi
mov dword [esp + 0x12c], 0xffffffff
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x128
ret