Function at 0x10001070
Capabilities:
Check os version
Get geographical location
Link many functions at runtime

Disassembly:
push ebp
lea ebp, [esp - 0x74]
sub esp, 0x2ec
mov eax, dword [0x1000e040]
push edi
mov dword [ebp + 0x70], eax
xor eax, eax
push 0xb
pop ecx
mov byte [ebp - 0x18], 0
lea edi, [ebp - 0x17]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [str.unknown]
mov dword [ebp + 0x18], eax
mov eax, dword [0x1000b288]
mov dword [ebp + 0x1c], eax
xor eax, eax
push 0xe
pop ecx
mov byte [ebp + 0x58], al
lea edi, [ebp + 0x20]
rep stosd dword es:[edi], eax
lea edi, [ebp + 0x59]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.ws2_32.dll
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x100012f0
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.WSACleanup
push edi
call esi
test eax, eax
mov dword [ebp - 0x274], eax
je 0x100012ef
push str.WSAStartup
push edi
call esi
test eax, eax
mov dword [ebp - 0x278], eax
je 0x100012ef
push str.inet_ntoa
push edi
call esi
test eax, eax
mov dword [ebp - 0x270], eax
je 0x100012ef
push ebx
push str.gethostbyname
push edi
call esi
mov ebx, eax
test ebx, ebx
je 0x100012ee
push str.gethostname
push edi
call esi
mov esi, eax
test esi, esi
je 0x100012ee
lea eax, [ebp - 0x26c]
push eax
push 0x102
call dword [ebp - 0x278]
push 0x30
lea eax, [ebp - 0xdc]
push eax
call esi
lea eax, [ebp - 0xdc]
push eax
call ebx
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [ebp - 0x270]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100043c0
pop ecx
pop ecx
call dword [ebp - 0x274]
mov esi, 0x94
push esi
lea eax, [ebp - 0xac]
push 0
push eax
call fcn.100044c0
add esp, 0xc
lea eax, [ebp - 0xac]
push eax
mov dword [ebp - 0xac], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x9c], 2
jne 0x1000120c
mov eax, dword [ebp - 0xa8]
sub eax, 3
je 0x100011fc
dec eax
je 0x100011cc
dec eax
je 0x100011dc
jmp 0x10001260
lea eax, [ebp + 0x18]
push str.windows_NT_4.0
push eax
call fcn.100043c0
pop ecx
pop ecx
lea eax, [ebp + 0x18]
push str.windows_2000
push eax
call fcn.100043c0
cmp dword [ebp - 0xa4], 1
pop ecx
pop ecx
jne 0x1000120c
push str.windows_xp
jmp 0x10001201
push str.windows_NT_3.51
lea eax, [ebp + 0x18]
push eax
call fcn.100043c0
pop ecx
pop ecx
cmp dword [ebp - 0x9c], 1
jne 0x10001260
cmp dword [ebp - 0xa4], 0
jne 0x1000122e
lea eax, [ebp + 0x18]
push str.windows_95
push eax
call fcn.100043c0
pop ecx
pop ecx
cmp dword [ebp - 0xa4], 0xa
jne 0x10001247
lea eax, [ebp + 0x18]
push str.windows_98
push eax
call fcn.100043c0
pop ecx
pop ecx
cmp dword [ebp - 0xa4], 0x5a
jne 0x10001260
lea eax, [ebp + 0x18]
push str.windows_me
push eax
call fcn.100043c0
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetACP]
push 0xa
lea ecx, [ebp + 0x58]
push ecx
push eax
call fcn.1000a095
xor eax, eax
mov byte [ebp + 0x68], 0
lea edi, [ebp + 0x69]
stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 0xc
push 8
stosb byte es:[edi], al
lea eax, [ebp + 0x68]
push eax
push 1
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea eax, [ebp + 0x58]
push 0x1000b1d4
push eax
call fcn.100043d0
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x58]
push eax
call fcn.100043d0
mov edi, dword [ebp + 0x7c]
lea eax, [ebp - 0x18]
push eax
push edi
call fcn.100043c0
mov esi, 0x1000b1d0
push esi
push edi
call fcn.100043d0
lea eax, [ebp + 0x18]
push eax
push edi
call fcn.100043d0
push esi
push edi
call fcn.100043d0
lea eax, [ebp + 0x58]
push eax
push edi
call fcn.100043d0
push esi
push edi
call fcn.100043d0
add esp, 0x40
pop ebx
pop esi
mov ecx, dword [ebp + 0x70]
pop edi
call fcn.10004551
add ebp, 0x74
leave
ret 4