Function at 0x401310
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov eax, str.szTimeEnglish
mov ebp, esp
mov edx, str.szTimeLocalized
push edi
mov ecx, str.szMachineNameEnglish
push esi
mov edi, str.szLanguagesEnglish
push ebx
mov esi, str.szOSExLocalized
sub esp, 0x1fc
mov ebx, str.szOSExLongEnglish
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1d0], edx
mov edx, str.szPhysicalMemoryEnglish
mov dword [ebp - 0x1c8], ecx
mov ecx, str.szPageFileEnglish
mov dword [ebp - 0x1c0], ebx
mov ebx, str.szPageFileLocalized
mov dword [ebp - 0x1d4], eax
add eax, 4
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1b8], esi
mov esi, str.szWindowsDir
mov dword [ebp - 0x1b0], edi
mov edi, str.szDirectXVersionLongEnglish
add eax, 8
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp + 0xc]
add eax, 0xc
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp + 0xc]
add eax, 0x10
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 0xc]
add eax, 0x14
mov dword [ebp - 0x1ac], eax
mov eax, str.szLanguagesLocalized
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp + 0xc]
add eax, 0x18
mov dword [ebp - 0x1a4], eax
mov eax, str.szSystemManufacturerEnglish
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp + 0xc]
add eax, 0x1c
mov dword [ebp - 0x19c], eax
mov eax, str.szSystemModelEnglish
mov dword [ebp - 0x198], eax
mov eax, dword [ebp + 0xc]
add eax, 0x20
mov dword [ebp - 0x194], eax
mov eax, str.szBIOSEnglish
mov dword [ebp - 0x190], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x170], ebx
lea ebx, [ebp - 0x1d8]
mov dword [ebp - 0x168], esi
lea esi, [ebp - 0x148]
mov dword [ebp - 0x180], edx
mov dword [ebp - 0x178], ecx
add eax, 0x24
mov dword [ebp - 0x18c], eax
mov eax, str.szProcessorEnglish
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x160], edi
add eax, 0x28
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0xc]
add eax, 0x2c
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0xc]
add eax, 0x30
mov dword [ebp - 0x174], eax
mov eax, dword [ebp + 0xc]
add eax, 0x34
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp + 0xc]
add eax, 0x38
mov dword [ebp - 0x164], eax
mov eax, dword [ebp + 0xc]
add eax, 0x3c
mov dword [ebp - 0x15c], eax
mov eax, str.szSetupParamEnglish
mov dword [ebp - 0x158], eax
mov eax, dword [ebp + 0xc]
add eax, 0x40
mov dword [ebp - 0x154], eax
mov eax, str.szDxDiagVersion
mov dword [ebp - 0x150], eax
mov eax, dword [ebp + 0xc]
add eax, 0x44
mov dword [ebp - 0x14c], eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1e4], eax
lea esi, [esi]
mov eax, dword [ebx + 4]
mov edi, dword [ebx]
mov dword [esp], esi
mov dword [ebp - 0x1dc], eax
call sym._VariantInit_4
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], edx
call dword [eax + 0x20]
sub esp, 0xc
test eax, eax
js 0x40150d
cmp word [ebp - 0x148], 8
je 0x401530
mov dword [esp], esi
call sym._VariantClear_4
sub esp, 4
test byte [section..data], 2
jne 0x4015e0
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x140]
cmp word [edx], 0
je 0x4016a0
mov eax, edx
lea esi, [esi]
lea edi, [edi]
add eax, 2
cmp word [eax], 0
jne 0x401550
sub eax, edx
add eax, 2
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e0], edx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, dword [ebp - 0x1dc]
mov dword [ecx], eax
sub esp, 0xc
test eax, eax
je 0x40150d
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
nop
movzx edi, word [edx + ecx]
mov word [eax + ecx], di
add ecx, 2
test edi, edi
jne 0x4015a0
mov dword [esp], esi
add ebx, 8
call sym._VariantClear_4
sub esp, 4
cmp esi, ebx
jne 0x4014d0
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x48], 0
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
je 0x4017be
mov eax, edi
shr eax, 0x10
je 0x4017a2
mov dword [esp], edi
mov eax, 0xffffffff
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4017b7
cmp word [edi], 0
je 0x401784
lea esi, [esi]
mov edx, eax
cmp word [edi + edx*2 + 2], 0
lea eax, [eax + 1]
jne 0x401620
mov ecx, 0x224c
mov word [ebp - 0x148], cx
lea ecx, [ebp - 0x146]
jmp 0x401678
cmp eax, 9
je 0x4016b8
cmp eax, 0xa
jne 0x4016cf
mov word [ecx], 0x6e5c
add ecx, 2
lea esi, [esi]
lea ebx, [ebp - 0x26]
lea eax, [edx - 1]
cmp ecx, ebx
ja 0x40172d
test edx, edx
jle 0x40172d
mov edx, eax
movzx eax, word [edi]
add edi, 2
cmp eax, 0xd
je 0x4016aa
jbe 0x401648
cmp eax, 0x22
je 0x401720
cmp eax, 0x5c
jne 0x4016c2
mov word [ecx], 0x5c5c
add ecx, 2
jmp 0x401660
mov eax, 2
jmp 0x40155e
mov word [ecx], 0x725c
add ecx, 2
jmp 0x401660
mov word [ecx], 0x745c
add ecx, 2
jmp 0x401660
lea ebx, [eax - 0x20]
cmp bx, 0x5e
jbe 0x40177c
mov byte [ecx], 0x5c
mov ebx, eax
add ecx, 5
shr ebx, 0xc
movzx ebx, byte [ebx + str.0123456789abcdeffill_system_information]
mov byte [ecx - 4], bl
mov ebx, eax
shr ebx, 8
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdeffill_system_information]
mov byte [ecx - 3], bl
mov ebx, eax
and eax, 0xf
shr ebx, 4
movzx eax, byte [eax + str.0123456789abcdeffill_system_information]
and ebx, 0xf
movzx ebx, byte [ebx + str.0123456789abcdeffill_system_information]
mov byte [ecx - 1], al
mov byte [ecx - 2], bl
jmp 0x401660
mov word [ecx], 0x225c
add ecx, 2
jmp 0x401660
mov byte [ecx], 0x22
test eax, eax
jle 0x40179d
mov word [ecx + 1], 0x2e2e
lea eax, [ecx + 4]
mov byte [ecx + 3], 0x2e
mov byte [eax], 0
mov dword [esp], esi
call sym.___wine_dbg_strdup
mov ebx, str.Failed_to_retrieve_property__s_n
mov esi, 0x405364
mov dword [esp + 0x10], eax
mov edi, section..data
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0
jmp 0x401525
mov byte [ecx], al
inc ecx
jmp 0x401660
mov byte [ebp - 0x146], 0x22
lea ecx, [ebp - 0x146]
mov eax, 0x224c
mov word [ebp - 0x148], ax
lea eax, [ecx + 1]
jmp 0x401741
mov dword [esp], str._04x
movzx eax, di
mov dword [esp + 4], eax
call sym._wine_dbg_sprintf.constprop.0
jmp 0x40174c
mov eax, str._invalid_
jmp 0x40174c
mov eax, str._null_
jmp 0x40174c