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

Disassembly:
sub esp, 0x340
lea eax, [esp + 0x1b0]
push eax
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
jne 0x46e598
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x94]
push 0x12c
push ecx
call sub.WSOCK32.dll_gethostname
lea edx, [esp + 0x94]
push edx
call sub.WSOCK32.dll_gethostbyname
mov eax, dword [eax + 0xc]
xor esi, esi
lea edx, [esp + 0x1c]
xor ebp, ebp
mov dword [esp + 0x18], esi
sub edx, eax
mov ecx, dword [eax]
cmp ecx, ebp
je 0x46e228
mov ecx, dword [ecx]
inc esi
mov dword [edx + eax], ecx
add eax, 4
cmp esi, 0xa
jb 0x46e214
cmp esi, ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ebp
jbe 0x46e275
xor eax, eax
lea ebx, [esp + 0x44]
mov edi, dword [esp + eax*4 + 0x1c]
lea esi, [esp + eax*4 + 0x1c]
push edi
call sub.WSOCK32.dll_ntohl
shr eax, 0x18
cmp al, 0xa
jne 0x46e263
mov ecx, dword [esp + 0x10]
mov dword [ebx], edi
inc ecx
add ebx, 4
mov dword [esp + 0x10], ecx
mov dword [esi], 0
mov ecx, dword [esp + 0x18]
inc ebp
mov eax, ebp
and eax, 0xffff
cmp eax, ecx
jb 0x46e23a
mov esi, ecx
xor eax, eax
cmp esi, eax
mov dword [esp + 0x14], eax
jbe 0x46e2e8
mov ecx, dword [esp + 0x10]
lea ebp, [esp + ecx*4 + 0x44]
mov edi, dword [esp + eax*4 + 0x1c]
lea ebx, [esp + eax*4 + 0x1c]
push edi
call sub.WSOCK32.dll_ntohl
mov esi, eax
push edi
shr esi, 0x18
and esi, 0xff
call sub.WSOCK32.dll_ntohl
shr eax, 0x10
and eax, 0xff
cmp si, 0xc0
jne 0x46e2d0
cmp ax, 0xa8
jne 0x46e2d0
mov ecx, dword [esp + 0x10]
mov dword [ebp], edi
inc ecx
add ebp, 4
mov dword [esp + 0x10], ecx
mov dword [ebx], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
and eax, 0xffff
cmp eax, ecx
jb 0x46e287
mov esi, ecx
xor eax, eax
cmp esi, eax
mov dword [esp + 0x14], eax
jbe 0x46e361
mov edx, dword [esp + 0x10]
lea ebp, [esp + edx*4 + 0x44]
mov edi, dword [esp + eax*4 + 0x1c]
lea ebx, [esp + eax*4 + 0x1c]
push edi
call sub.WSOCK32.dll_ntohl
mov esi, eax
push edi
shr esi, 0x18
and esi, 0xff
call sub.WSOCK32.dll_ntohl
shr eax, 0x10
and eax, 0xff
cmp si, 0xac
jne 0x46e349
cmp ax, 0x10
jb 0x46e349
cmp ax, 0x1f
ja 0x46e349
mov ecx, dword [esp + 0x10]
mov dword [ebp], edi
inc ecx
add ebp, 4
mov dword [esp + 0x10], ecx
mov dword [ebx], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
and eax, 0xffff
cmp eax, ecx
jb 0x46e2fa
mov esi, ecx
xor eax, eax
cmp esi, eax
mov dword [esp + 0x14], eax
jbe 0x46e3d4
mov ecx, dword [esp + 0x10]
lea ebp, [esp + ecx*4 + 0x44]
mov edi, dword [esp + eax*4 + 0x1c]
lea ebx, [esp + eax*4 + 0x1c]
push edi
call sub.WSOCK32.dll_ntohl
mov esi, eax
push edi
shr esi, 0x18
and esi, 0xff
call sub.WSOCK32.dll_ntohl
shr eax, 0x10
and eax, 0xff
cmp si, 0xa9
jne 0x46e3bc
cmp ax, 0xfe
jne 0x46e3bc
mov ecx, dword [esp + 0x10]
mov dword [ebp], edi
inc ecx
add ebp, 4
mov dword [esp + 0x10], ecx
mov dword [ebx], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
and eax, 0xffff
cmp eax, ecx
jb 0x46e373
mov esi, ecx
xor eax, eax
xor ebp, ebp
cmp esi, eax
mov dword [esp + 0x14], eax
jbe 0x46e42c
lea ebx, [esp + 0x6c]
mov esi, dword [esp + eax*4 + 0x1c]
lea edi, [esp + eax*4 + 0x1c]
test esi, esi
je 0x46e416
push esi
call sub.WSOCK32.dll_ntohl
shr eax, 0x18
and eax, 0xff
cmp ax, 0x7f
je 0x46e416
cmp ax, 0xe0
je 0x46e416
mov dword [ebx], esi
inc ebp
add ebx, 4
mov dword [edi], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
and eax, 0xffff
cmp eax, ecx
jb 0x46e3e4
mov edx, dword [esp + 0x10]
xor di, di
xor si, si
mov word [0x82c6bc], di
test edx, edx
mov word [0x82c6be], si
jbe 0x46e47b
mov eax, dword [0x82c6bc]
xor ecx, ecx
mov ecx, dword [esp + ecx*4 + 0x44]
and eax, 0xffff
inc di
mov dword [eax*4 + 0x82c66c], ecx
mov word [0x82c6bc], di
mov eax, dword [0x82c6bc]
mov ecx, eax
and ecx, 0xffff
cmp ecx, edx
jb 0x46e44f
jmp 0x46e480
mov eax, dword [0x82c6bc]
xor edx, edx
test ebp, ebp
jbe 0x46e4dd
xor ecx, ecx
jmp 0x46e48f
mov eax, dword [0x82c6bc]
mov ecx, dword [esp + ecx*4 + 0x6c]
and eax, 0xffff
inc di
inc edx
mov dword [eax*4 + 0x82c66c], ecx
mov ecx, edx
and ecx, 0xffff
mov word [0x82c6bc], di
cmp ecx, ebp
jb 0x46e48a
test ebp, ebp
jbe 0x46e4dd
xor eax, eax
mov eax, dword [esp + eax*4 + 0x6c]
xor edx, edx
mov dx, si
inc si
mov dword [edx*4 + 0x82c694], eax
xor eax, eax
mov ax, si
cmp eax, ebp
jb 0x46e4bb
mov word [0x82c6be], si
mov edx, dword [esp + 0x10]
xor ecx, ecx
test edx, edx
jbe 0x46e50e
xor eax, eax
mov eax, dword [esp + eax*4 + 0x44]
xor ebx, ebx
mov bx, si
inc si
inc ecx
mov dword [ebx*4 + 0x82c694], eax
mov eax, ecx
and eax, 0xffff
cmp eax, edx
jb 0x46e4e9
mov word [0x82c6be], si
xor eax, eax
test di, di
jbe 0x46e53f
mov ecx, dword [0x82e720]
mov edx, eax
and edx, 0xffff
cmp ecx, dword [edx*4 + 0x82c66c]
je 0x46e552
inc eax
cmp ax, di
jb 0x46e51b
test di, di
jbe 0x46e53f
mov eax, dword [0x82c66c]
push eax
jmp 0x46e541
push 0
mov ecx, 0x82e720
call fcn.0041a110
mov si, word [0x82c6be]
xor eax, eax
test si, si
jbe 0x46e583
mov ecx, dword [0x82eb10]
mov edx, eax
and edx, 0xffff
cmp ecx, dword [edx*4 + 0x82c694]
je 0x46e58f
inc eax
cmp ax, si
jb 0x46e55f
test si, si
jbe 0x46e583
mov eax, dword [0x82c694]
push eax
jmp 0x46e585
push 0
mov ecx, 0x82eb10
call fcn.0041a110
call sub.WSOCK32.dll_WSACleanup
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x340
ret