Function at 0x4107b0
Capabilities:
Get hostname
Get local ipv4 addresses
Get socket information
Initialize winsock library
Resolve dns
Set socket configuration

Disassembly:
mov eax, dword [0x44d984]
sub esp, 0x430
push ebx
xor ebx, ebx
cmp eax, ebx
push esi
jne 0x4107fa
push str.netapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [0x44d984], eax
je 0x41089c
push str.Netbios
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [0x44d860], eax
jne 0x4107fa
mov eax, dword [0x44d984]
jmp 0x41088f
push ebx
call fcn.00410aa0
add esp, 4
test al, al
je 0x410816
mov eax, dword [0x44d984]
cmp eax, ebx
je 0x41089c
jmp 0x41088f
push 0x40
lea ecx, [esp + 0x28]
push ebx
push ecx
call fcn.00410b10
push 0x17c
lea edx, [esp + 0x74]
push ebx
push edx
call fcn.00410b10
push 0x10
lea eax, [esp + 0x4a]
push 0x20
push eax
mov byte [esp + 0x48], 0x33
call fcn.00410b10
add esp, 0x24
lea edx, [esp + 0x24]
lea ecx, [esp + 0x64]
mov byte [esp + 0x2e], 0x2a
push edx
mov dword [esp + 0x2c], ecx
mov word [esp + 0x30], 0x17c
mov byte [esp + 0x58], bl
call dword [0x44d860]
mov al, byte [esp + 0x25]
cmp al, bl
je 0x410878
cmp al, 6
jne 0x410886
xor eax, eax
cmp byte [esp + eax + 0x64], bl
jne 0x4108c5
inc eax
cmp eax, 6
jl 0x41087a
mov eax, dword [0x44d984]
cmp eax, ebx
je 0x41089c
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44d984], ebx
lea edx, [esp + 0x2a8]
mov byte [esp + 0xb], 1
push edx
push 0x101
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x410902
pop esi
mov eax, 0x1d4e8
pop ebx
add esp, 0x430
ret
cmp eax, 6
jge 0x410886
mov ecx, dword [esp + 0x43c]
lea eax, [esp + 0x64]
push 6
push eax
push ecx
call fcn.00410af0
mov eax, dword [0x44d984]
add esp, 0xc
cmp eax, ebx
je 0x4108f7
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x44d984], ebx
pop esi
xor eax, eax
pop ebx
add esp, 0x430
ret
push 0x3e8
push 2
push 6
call sub.WSOCK32.dll_socket
mov esi, eax
cmp esi, 0xffffffff
je 0x4109af
push 0x14
lea eax, [esp + 0x14]
push ebx
push eax
mov dword [esp + 0x18], 0xe
call fcn.00410b10
add esp, 0xc
lea ecx, [esp + 0xb]
mov word [esp + 0x10], 6
mov word [esp + 0x1c], bx
push 4
push ecx
push 4
push 0xffff
push esi
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
je 0x4109af
mov edx, dword [esp + 0xc]
lea eax, [esp + 0x10]
push edx
push eax
push esi
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
je 0x4109af
lea ecx, [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
push edx
push esi
call sub.WSOCK32.dll_getsockname
cmp eax, 0xffffffff
je 0x4109af
mov ecx, dword [esp + 0x43c]
lea eax, [esp + 0x16]
push 6
push eax
push ecx
call fcn.00410af0
add esp, 0xc
push esi
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
pop esi
xor eax, eax
pop ebx
add esp, 0x430
ret
push ebx
push 2
push 2
call sub.WSOCK32.dll_socket
mov esi, eax
cmp esi, 0xffffffff
je 0x410a80
push 0x14
lea edx, [esp + 0x14]
push ebx
push edx
mov dword [esp + 0x18], 0x10
call fcn.00410b10
add esp, 0xc
mov word [esp + 0x10], 2
push ebx
call sub.WSOCK32.dll_htonl
push ebx
mov dword [esp + 0x18], eax
call sub.WSOCK32.dll_htons
mov word [esp + 0x12], ax
lea eax, [esp + 0xb]
push 4
push eax
push 4
push 0xffff
push esi
call sub.WSOCK32.dll_setsockopt
cmp eax, 0xffffffff
je 0x410a80
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
push edx
push esi
call sub.WSOCK32.dll_bind
cmp eax, 0xffffffff
je 0x410a80
push edi
lea eax, [esp + 0x1e4]
push 0xc8
push eax
call sub.WSOCK32.dll_gethostname
lea ecx, [esp + 0x1e4]
push ecx
call sub.WSOCK32.dll_gethostbyname
push 6
push ebx
mov ebx, dword [esp + 0x448]
mov edi, eax
push ebx
call fcn.00410b10
mov edx, dword [edi + 0xc]
push 6
mov eax, dword [edx]
push eax
push ebx
call fcn.00410af0
add esp, 0x18
push esi
call sub.WSOCK32.dll_closesocket
call sub.WSOCK32.dll_WSACleanup
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x430
ret
call sub.WSOCK32.dll_WSACleanup
pop esi
mov eax, 0x1fbd2
pop ebx
add esp, 0x430
ret