Function at 0x401000
Capabilities:
Contain obfuscated stackstrings
Get hostname
Get networking interfaces
Identify system language via api
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x344
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
push 0x407020
push 0x407088
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push str.GetVersionExA
push 0x407078
mov dword [esp + 0x88], eax
call esi
push eax
call edi
push 0x407010
push 0x407088
mov ebx, eax
call esi
push eax
call edi
push str.GetSystemInfo
push 0x407078
mov dword [esp + 0x74], eax
call esi
push eax
call edi
push str.GlobalMemoryStatusEx
push 0x407078
mov dword [esp + 0x90], eax
call esi
push eax
call edi
push str.RegQueryValueExA
push 0x407088
mov dword [esp + 0x94], eax
call esi
push eax
call edi
mov dword [esp + 0x7c], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov ebp, dword [esp + 0x358]
and eax, 0xffff
mov ecx, 0x27
lea edi, [esp + 0xd0]
mov dword [ebp], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xd0], 0x9c
push eax
call ebx
xor ebx, ebx
mov cl, 0x32
mov al, 0x30
mov byte [esp + 0x28], 0x4e
mov byte [esp + 0x29], 0x54
mov byte [esp + 0x2a], bl
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], bl
mov byte [esp + 0x14], 0x58
mov byte [esp + 0x15], 0x50
mov byte [esp + 0x16], bl
mov byte [esp + 0x40], cl
mov byte [esp + 0x41], al
mov byte [esp + 0x42], al
mov byte [esp + 0x43], 0x33
mov byte [esp + 0x44], bl
mov byte [esp + 0x48], 0x56
mov byte [esp + 0x49], 0x69
mov byte [esp + 0x4a], 0x73
mov byte [esp + 0x4b], 0x74
mov byte [esp + 0x4c], 0x61
mov byte [esp + 0x4d], bl
mov byte [esp + 0x20], cl
mov byte [esp + 0x21], al
mov dl, 0x38
mov byte [esp + 0x22], al
mov byte [esp + 0x23], dl
mov byte [esp + 0x53], dl
mov byte [esp + 0x2c], dl
mov byte [esp + 0x10], dl
mov edx, dword [esp + 0xd4]
mov byte [esp + 0x51], al
mov byte [esp + 0x52], al
mov byte [esp + 0x19], al
mov al, 0x31
cmp edx, 4
mov byte [esp + 0x24], bl
mov byte [esp + 0x30], 0x37
mov byte [esp + 0x31], bl
mov byte [esp + 0x50], cl
mov byte [esp + 0x54], 0x52
mov byte [esp + 0x55], cl
mov byte [esp + 0x56], bl
mov byte [esp + 0x2d], bl
mov byte [esp + 0x18], cl
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], cl
mov byte [esp + 0x1c], bl
mov byte [esp + 0x11], 0x2e
mov byte [esp + 0x12], al
mov byte [esp + 0x13], bl
ja 0x4011d8
jmp loc.0040f4db
cmp edx, 5
jne 0x40122b
mov eax, dword [esp + 0xd8]
cmp eax, ebx
jne 0x4011fb
mov dword [0x407098], 1
lea edi, [esp + 0x38]
jmp loc.0040f896
cmp eax, 1
jne 0x40120f
mov dword [0x407098], ebx
lea edi, [esp + 0x14]
jmp loc.0040f8b9
cmp eax, 2
jmp loc.0040f3ce
cmp edx, 6
jne 0x4012e5
mov eax, dword [esp + 0xd8]
cmp eax, ebx
jne 0x401265
cmp byte [esp + 0x16a], 1
jne 0x401255
mov dword [0x407098], ebx
lea edi, [esp + 0x48]
jmp fcn.004012c5
mov dword [0x407098], 1
lea edi, [esp + 0x20]
jmp fcn.004012c5
mov ecx, 1
cmp eax, ecx
jne 0x40128f
cmp byte [esp + 0x16a], cl
jne 0x401283
mov dword [0x407098], ebx
lea edi, [esp + 0x30]
jmp fcn.004012c5
jmp loc.00410266
cmp eax, 2
jne 0x4012b6
jmp loc.0040f23d
cmp eax, 3
jne 0x4012e5
mov dword [0x407098], ebx
lea edi, [esp + 0x10]