Function at 0x100444a
Capabilities:
Initialize winsock library
Resolve dns
Set socket configuration
Terminate process

Disassembly:
push 0x30
push 2
call fcn.01009110
pop ecx
pop ecx
push 1
call dword [sym.imp.msvcrt.dll_exit]
int3
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
and dword [ebp - 0x14], 0
push ebx
push esi
push edi
push 0x1037120
push 0x101
call dword [sym.imp.WSOCK32.dll_WSAStartup]
cmp eax, 0xffffffff
jne 0x100447c
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push 0x29
call fcn.010090d2
call fcn.01009684
cmp eax, 0xffffffff
jne 0x1004498
push 0x2a
push 2
call fcn.01009110
pop ecx
pop ecx
push 1
jmp 0x10048d1
push 1
push 0x100399e
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x10044ba
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xcb
call fcn.010090d2
push 0x18
push 1
call fcn.01007113
test eax, eax
mov dword [0x100f57c], eax
jne 0x10044d3
push 0xe
jmp 0x10048d1
call fcn.01004367
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
jmp 0x10044f3
mov eax, dword [esi]
cmp byte [eax], 0x2d
jne 0x10044f9
inc eax
cmp byte [eax], 0
je 0x10044f9
push eax
call fcn.01003da2
add esi, 4
dec ebx
jne 0x10044e0
push 2
pop edi
cmp ebx, edi
jle 0x1004505
jmp 0x10034d5
test ebx, ebx
je 0x1004513
mov eax, dword [esi]
cmp byte [eax], 0x2d
je 0x1004513
mov dword [ebp - 0x14], eax
cmp ebx, edi
jne 0x1004570
add esi, 4
push dword [esi]
call dword [sym.imp.WSOCK32.dll_inet_addr]
cmp eax, 0xffffffff
je 0x100453b
mov dword [0x100e2dc], 1
mov dword [0x100e2e4], eax
jmp 0x1004645
push dword [esi]
call dword [sym.imp.WSOCK32.dll_gethostbyname]
test eax, eax
jne 0x1004602
push dword [esi]
push 0x2b
push edi
call fcn.01009110
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0xa
call dword [sym.imp.msvcrt.dll_fputc]
add esp, 0x14
and dword [0x100e2dc], 0
push 0
push 0
push 0x20001
call sub.DNSAPI.dll_DnsQueryConfigAllocEx
mov ebx, eax
xor eax, eax
cmp ebx, eax
je 0x10047b7
mov dword [0x100e2dc], eax
cmp dword [ebx + 0x1c], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
jbe 0x10047a2
lea eax, [ebx + 0x24]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edi, dword [eax]
test edi, edi
je 0x100478c
and dword [ebp - 4], 0
cmp dword [edi + 0x28], 0
jbe 0x100478c
lea esi, [edi + 0x38]
cmp dword [ebp - 0x10], 0
jne 0x1004736
push dword [0x100f57c]
push esi
push esi
call fcn.0100877b
test eax, eax
je 0x1004728
push eax
call fcn.010071c8
push eax
push dword [esi]
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
push eax
push 0x2c
push 2
call fcn.01009110
add esp, 0x10
jmp 0x1004736
xor edx, edx
mov dword [ebp - 4], 0x100e2e4
mov ecx, dword [eax + 0xc]
mov esi, dword [ecx + edx*4]
test esi, esi
je 0x1004637
movsx ecx, word [eax + 0xa]
mov edi, dword [ebp - 4]
add dword [ebp - 4], 0x10
mov ebx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
inc edx
cmp edx, 0xa
push 2
rep movsb byte es:[edi], byte [esi]
pop edi
jb 0x100460b
test edx, edx
mov dword [0x100e2dc], edx
je 0x1004570
mov eax, dword [0x100e2e4]
push dword [0x100f57c]
mov dword [0x10373c0], eax
mov eax, 0x10373c0
push eax
push eax
call fcn.0100877b
test eax, eax
je 0x1004867
push eax
call fcn.010071c8
push eax
push dword [0x10373c0]
call dword [sym.imp.WSOCK32.dll_inet_ntoa]
push eax
push 0x2c
push edi
call fcn.01009110
push 0xc
call dword [sym.imp.msvcrt.dll_malloc]
mov ecx, dword [0x100f57c]
mov dword [ecx], eax
mov eax, dword [0x100f57c]
mov eax, dword [eax]
add esp, 0x14
test eax, eax
je 0x10044cc
mov ecx, dword [0x1001330]
mov dword [eax], ecx
mov ecx, dword [0x1001334]
mov dword [eax + 4], ecx
mov eax, dword [0x100f57c]
push 4
pop esi
mov dword [eax + 0xc], edi
mov eax, dword [0x100f57c]
push esi
push edi
mov dword [eax + 0x10], esi
call fcn.01007113
mov ecx, dword [0x100f57c]
mov dword [ecx + 8], eax
mov eax, dword [0x100f57c]
cmp dword [eax + 8], 0
je 0x10044cc
push 1
push esi
call fcn.01007113
mov ecx, dword [0x100f57c]
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
mov eax, dword [0x100f57c]
mov eax, dword [eax + 8]
mov eax, dword [eax]
test eax, eax
je 0x10044cc
mov ecx, dword [0x10373c0]
mov dword [eax], ecx
mov eax, dword [0x100f57c]
mov eax, dword [eax + 8]
and dword [eax + 4], 0
jmp 0x1004867
mov eax, dword [esi]
mov dword [0x10373c0], eax
mov dword [ebp - 0x10], 1
mov eax, dword [0x100e2dc]
cmp eax, 0xa
jge 0x100477a
mov ecx, dword [esi]
shl eax, 4
mov dword [eax + 0x100e2e4], ecx
mov eax, dword [0x100e2dc]
shl eax, 4
push 0x35
mov word [eax + 0x100e2e0], 2
call dword [sym.imp.WSOCK32.dll_htons]
mov ecx, dword [0x100e2dc]
shl ecx, 4
mov word [ecx + 0x100e2e2], ax
inc dword [0x100e2dc]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
add esi, 0x18
cmp eax, dword [edi + 0x28]
jb 0x10045c2
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], 4
cmp eax, dword [ebx + 0x1c]
jb 0x10045a4
push 2
pop edi
push 0x20001
push ebx
call sub.DNSAPI.dll_DnsFreeConfigStructure
cmp dword [ebp - 0x10], 0
jne 0x1004867
mov eax, dword [0x100e2e4]
push 0xc
mov dword [0x10373c0], eax
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov ecx, dword [0x100f57c]
mov dword [ecx], eax
mov eax, dword [0x100f57c]
mov eax, dword [eax]
test eax, eax
je 0x10044cc
mov ecx, dword [0x1001330]
mov dword [eax], ecx
mov ecx, dword [0x1001334]
mov dword [eax + 4], ecx
mov eax, dword [0x100f57c]
push 4
pop esi
mov dword [eax + 0xc], edi
mov eax, dword [0x100f57c]
push esi
push edi
mov dword [eax + 0x10], esi
call fcn.01007113
mov ecx, dword [0x100f57c]
mov dword [ecx + 8], eax
mov eax, dword [0x100f57c]
cmp dword [eax + 8], 0
je 0x10044cc
push 1
push esi
call fcn.01007113
mov ecx, dword [0x100f57c]
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
mov eax, dword [0x100f57c]
mov eax, dword [eax + 8]
mov eax, dword [eax]
test eax, eax
je 0x10044cc
mov ecx, dword [0x10373c0]
mov dword [eax], ecx
mov eax, dword [0x100f57c]
mov eax, dword [eax + 8]
and dword [eax + 4], 0
push 0x2d
push edi
call fcn.01009110
pop ecx
pop ecx
mov eax, dword [0x100f57c]
mov edx, dword [eax]
mov esi, 0x10372c0
mov cl, byte [edx]
inc edx
mov byte [esi], cl
inc esi
test cl, cl
jne 0x1004873
cmp dword [ebp - 0x14], 0
je 0x100488f
push 0
push dword [ebp - 0x14]
call fcn.01003ac0
jmp 0x10048cf
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
push 0x2e
add eax, 0x20
push eax
call fcn.010074f5
mov esi, dword [sym.imp.msvcrt.dll_printf]
mov ebx, 0x100132c
push ebx
call esi
mov edi, dword [sym.imp.msvcrt.dll_fflush]
jmp 0x10048b9
push ebx
call esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
push eax
call edi
pop ecx
pop ecx
call fcn.01004c04
test eax, eax
jne 0x10048b6
push 0
call dword [sym.imp.msvcrt.dll_exit]
int3