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

Disassembly:
push 0xffffffffffffffff
push 0x685fe8
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.004031c0
mov dword [esp + 0x134], edi
push 0x40000
mov dword [ebp + 0x40024], 0x6a3fc8
mov dword [ebp + 0x40028], 0x40000
call fcn.00673b05
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.004031c0
mov al, byte [esp + 0x13]
lea ecx, [ebp + 0x40050]
mov byte [esp + 0x134], 2
push edi
mov byte [ecx], al
call fcn.004031c0
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.0046da30
lea ecx, [esi + 0x14]
call fcn.0046da30
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, 0x6dfe28
xor eax, eax
mov dword [ebp], 0x6a3fc4
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.00403350
test al, al
je 0x450b41
mov edi, dword [ebx + 4]
mov ecx, esi
mov edx, ecx
mov esi, 0x6dfe28
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.00403330
xor esi, esi
mov dword [ebp + 0x1c], esi
mov eax, dword [0x813550]
cmp eax, esi
jne 0x450c8a
mov cl, byte [esp + 0x13]
push esi
mov byte [esp + 0x1c], cl
lea ecx, [esp + 0x1c]
call fcn.004031c0
push 0x8133c0
push 0x101
mov byte [esp + 0x13c], 6
call sub.wsock32.dll_WSAStartup
test eax, eax
jne 0x450c5d
lea edx, [esp + 0x2c]
push 0xff
push edx
call sub.wsock32.dll_gethostname
test eax, eax
jne 0x450c5d
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.00403350
test al, al
je 0x450be7
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 0x450c5d
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.00403350
test al, al
je 0x450c42
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 [0x6a3564]
lea edx, [esp + 0x18]
push ecx
push 0
push edx
lea ecx, [ebp + 0x40040]
call fcn.00402fc0
xor esi, esi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x134], 5
cmp eax, esi
je 0x450c8a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x450c81
cmp al, 0xff
je 0x450c81
dec al
mov byte [ecx], al
jmp 0x450c8a
push ecx
call fcn.006713a0
add esp, 4
mov eax, dword [0x813550]
mov ecx, dword [esp + 0x12c]
inc eax
pop edi
mov dword [0x813550], 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