Function at 0x4ab650
Capabilities:
Get common file path
Get disk size
Get geographical location
Get memory capacity
Get system information on windows
Parse credit card information
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc48
mov eax, dword [0x52e144]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x880], 0
push 0x9c
push 0
lea eax, [ebp - 0xa10]
push eax
call fcn.004b6dc0
add esp, 0xc
mov dword [ebp - 0xa10], 0x9c
push str.GetVersionExA
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.004ab080
mov dword [ebp - 0x880], eax
cmp dword [ebp - 0x880], 0
jne 0x4ab6ca
mov ecx, dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov dword [ebp - 0x880], ecx
lea edx, [ebp - 0xa10]
push edx
call dword [ebp - 0x880]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x4ab6f7
mov dword [ebp - 0xa10], 0x94
lea eax, [ebp - 0xa10]
push eax
call dword [ebp - 0x880]
cmp dword [ebp - 0xa0c], 6
jb 0x4ab716
lea ecx, [ebp - 0xa08]
push ecx
lea edx, [ebp - 0xa0c]
push edx
call fcn.004ab2c0
add esp, 8
xor eax, eax
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x968], eax
mov dword [ebp - 0x964], eax
mov dword [ebp - 0x960], eax
mov dword [ebp - 0x95c], eax
mov dword [ebp - 0x958], eax
mov dword [ebp - 0x954], eax
mov dword [ebp - 0x950], eax
mov dword [ebp - 0x94c], eax
push str.GetNativeSystemInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x4ab77a
lea ecx, [ebp - 0x96c]
push ecx
call dword [ebp - 0x5c]
jmp 0x4ab787
lea edx, [ebp - 0x96c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0xa00]
mov dword [ebp - 0xc08], eax
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0xc0c], ecx
cmp dword [ebp - 0xc0c], 0
je 0x4ad041
sub dword [ebp - 0xc0c], 1
je 0x4aceb1
sub dword [ebp - 0xc0c], 1
je 0x4ab7c7
jmp 0x4ad068
mov byte [0x54a134], 1
cmp dword [ebp - 0xa0c], 4
ja 0x4ab818
push str.Microsoft_Windows_NT
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x5241f8
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e21
cmp dword [ebp - 0xa0c], 5
jne 0x4ab86b
cmp dword [ebp - 0xa08], 0
jne 0x4ab86b
push str.Microsoft_Windows_2000
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x5241dc
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e22
cmp dword [ebp - 0xa0c], 5
jne 0x4ab8be
cmp dword [ebp - 0xa08], 1
jne 0x4ab8be
push str.Microsoft_Windows_XP
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x50ef58
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e2a
cmp dword [ebp - 0xa0c], 5
jne 0x4aba05
cmp dword [ebp - 0xa08], 2
jne 0x4aba05
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x4ab910
push str.Microsoft_Windows_Server_2003_R2
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4ab9eb
movzx ecx, word [ebp - 0x978]
cmp ecx, 0x2000
jne 0x4ab94b
push str.Microsoft_Windows_Storage_Server_2003
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4ab9eb
movzx ecx, word [ebp - 0x978]
cmp ecx, 0x8000
jne 0x4ab983
push str.Microsoft_Windows_Home_Server
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4ab9eb
movzx ecx, byte [ebp - 0x976]
cmp ecx, 1
jne 0x4ab9c4
movzx edx, word [ebp - 0x96c]
cmp edx, 9
jne 0x4ab9c4
push str.Microsoft_Windows_XP_Professional_x64_Edition
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4ab9eb
push str.Microsoft_Windows_Server_2003
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x524104
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e3e
cmp dword [ebp - 0xa0c], 6
jne 0x4aba8d
cmp dword [ebp - 0xa08], 0
jne 0x4aba8d
movzx ecx, byte [ebp - 0x976]
cmp ecx, 1
jne 0x4aba4c
push str.Microsoft_Windows_Vista
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4aba73
push str.Microsoft_Windows_Server_2008
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x5240c4
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e48
cmp dword [ebp - 0xa0c], 6
jne 0x4abb15
cmp dword [ebp - 0xa08], 1
jne 0x4abb15
movzx eax, byte [ebp - 0x976]
cmp eax, 1
jne 0x4abad4
push str.Microsoft_Windows_7
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4abafb
push str.Microsoft_Windows_Server_2008_R2
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x524084
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e70
cmp dword [ebp - 0xa0c], 6
jne 0x4abb9d
cmp dword [ebp - 0xa08], 2
jne 0x4abb9d
movzx edx, byte [ebp - 0x976]
cmp edx, 1
jne 0x4abb5c
push str.Microsoft_Windows_8
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4abb83
push str.Microsoft_Windows_Server_2012
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x524048
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e8e
cmp dword [ebp - 0xa0c], 6
jne 0x4abbf0
cmp dword [ebp - 0xa08], 3
jne 0x4abbf0
push str.Microsoft_Windows_8.1
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x52402c
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e8e
cmp dword [ebp - 0xa0c], 0xa
jne 0x4abc3a
push str.Microsoft_Windows_10
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x524010
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4eac
cmp dword [ebp - 0x60], 0
je 0x4acda9
cmp dword [ebp - 0xa0c], 6
jb 0x4acaf7
mov dword [ebp - 0xa2c], 0
mov dword [ebp - 0xa30], 0
push str.GetProductInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xa30], eax
cmp dword [ebp - 0xa30], 0
je 0x4acaf2
lea edx, [ebp - 0xa2c]
push edx
push 0
push 0
mov eax, dword [ebp - 0xa08]
push eax
mov ecx, dword [ebp - 0xa0c]
push ecx
call dword [ebp - 0xa30]
test eax, eax
je 0x4acaf2
cmp dword [ebp - 0xa2c], 1
jne 0x4abceb
push str.Ultimate_Edition
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 3
jne 0x4abd20
push str.Home_Premium_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 2
jne 0x4abd55
push str.Home_Basic_Edition
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 4
jne 0x4abd8a
push str.Enterprise_Edition
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 6
jne 0x4abdbf
push str.Business_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xb
jne 0x4abdf4
push str.Starter_Edition
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x12
jne 0x4abe29
push str.Cluster_Server_Edition
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 8
jne 0x4abe5e
push str.Datacenter_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xc
jne 0x4abe93
push str.Datacenter_Edition__core_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xa
jne 0x4abec8
push str.Enterprise_Edition
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xe
jne 0x4abefd
push str.Enterprise_Edition__core_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xf
jne 0x4abf32
push str.Enterprise_Edition_for_Itanium_based_Systems
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 9
jne 0x4abf67
push str.Small_Business_Server
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x19
jne 0x4abf9c
push str.Small_Business_Server_Premium_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 7
jne 0x4abfd1
push str.Standard_Edition
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0xd
jne 0x4ac006
push str.Standard_Edition__core_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x11
jne 0x4ac03b
push str.Web_Server_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x40
jne 0x4ac070
push str.Server_Hyper_Core_V
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x65
jne 0x4ac0a5
push str.Windows_Home
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x62
jne 0x4ac0da
push str.Windows_Home_N
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x63
jne 0x4ac10f
push str.Windows_Home_China
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x64
jne 0x4ac144
push str.Windows_Home_Single_Language
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x50
jne 0x4ac179
push str.Server_Datacenter__evaluation_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x27
jne 0x4ac1ae
push str.Server_Datacenter_without_Hyper_V__core_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x25
jne 0x4ac1e3
push str.Server_Datacenter_without_Hyper_V__full_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x54
jne 0x4ac218
push str.Enterprise_N__evaluation_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x1b
jne 0x4ac24d
push str.Enterprise_N
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x48
jne 0x4ac282
push str.Server_Enterprise__evaluation_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x29
jne 0x4ac2b7
push str.Server_Enterprise_without_Hyper_V__core_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x26
jne 0x4ac2ec
push str.Server_Enterprise_without_Hyper_V__full_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x3b
jne 0x4ac321
push str.Windows_Essential_Server_Solution_Management
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x3c
jne 0x4ac356
push str.Windows_Essential_Server_Solution_Additional
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x3d
jne 0x4ac38b
push str.Windows_Essential_Server_Solution_Management_SVC
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x3e
jne 0x4ac3c0
push str.Windows_Essential_Server_Solution_Additional_SVC
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x1a
jne 0x4ac3f5
push str.Home_Premium_N
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x22
jne 0x4ac42a
push str.Windows_Home_Server_2011
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2a
jne 0x4ac45f
push str.Microsoft_Hyper_V_Server
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x1e
jne 0x4ac494
push str.Windows_Essential_Business_Server_Management_Server
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x20
jne 0x4ac4c9
push str.Windows_Essential_Business_Server_Messaging_Server
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x1f
jne 0x4ac4fe
push str.Windows_Essential_Business_Server_Security_Server
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x4c
jne 0x4ac533
push str.Windows_MultiPoint_Server_Standard__full_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x4d
jne 0x4ac568
push str.Windows_MultiPoint_Server_Premium__full_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x30
jne 0x4ac59d
push str.Professional
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x31
jne 0x4ac5d2
push str.Professional_N
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x67
jne 0x4ac607
push str.Professional_with_Media_Center
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x36
jne 0x4ac63c
push str.Server_For_SB_Solutions_EM
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x33
jne 0x4ac671
push str.Server_For_SB_Solutions
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x37
jne 0x4ac6a6
push str.Server_For_SB_Solutions_EM
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x23
jne 0x4ac6db
push str.Windows_Server_2008_without_Hyper_V_for_Windows_Essential_Server_Solutions
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x21
jne 0x4ac710
push str.Server_Foundation
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x32
jne 0x4ac745
push str.Windows_Small_Business_Server_2011_Essentials
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x3f
jne 0x4ac77a
push str.Small_Business_Server_Premium__core_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x38
jne 0x4ac7af
push str.Windows_MultiPoint_Server
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x4f
jne 0x4ac7e4
push str.Server_Standard__evaluation_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x24
jne 0x4ac819
push str.Server_Standard_without_Hyper_V
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x28
jne 0x4ac84e
push str.Server_Standard_without_Hyper_V__core_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x34
jne 0x4ac883
push str.Server_Solutions_Premium
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x35
jne 0x4ac8b8
push str.Server_Solutions_Premium__core_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2f
jne 0x4ac8ed
push str.Starter_N
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2e
jne 0x4ac922
push str.Storage_Server_Enterprise__core_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2b
jne 0x4ac957
push str.Storage_Server_Express__core_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x60
jne 0x4ac98c
push str.Storage_Server_Standard__evaluation_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2c
jne 0x4ac9c1
push str.Storage_Server_Standard__core_installation_
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x5f
jne 0x4ac9f6
push str.Storage_Server_Workgroup__evaluation_installation_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x2d
jne 0x4aca2b
push str.Storage_Server_Workgroup__core_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0
jne 0x4aca60
push str.An_unknown_product
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x47
jne 0x4aca92
push str.Ultimate_N
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
cmp dword [ebp - 0xa2c], 0x1d
jne 0x4acac4
push str.Web_Server__core_installation_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acaf2
mov eax, dword [ebp - 0xa2c]
push eax
push str._Edition___d_
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 0xc
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acda4
movzx eax, byte [ebp - 0x976]
cmp eax, 1
jne 0x4acb9c
cmp dword [ebp - 0xa0c], 4
jne 0x4acb39
push str.Workstation_4.0
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acb97
movzx eax, word [ebp - 0x978]
and eax, 0x200
je 0x4acb70
push str.Home_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acb97
push str.Professional
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acda4
movzx edx, byte [ebp - 0x976]
cmp edx, 3
jne 0x4acda4
cmp dword [ebp - 0xa0c], 5
jne 0x4acc98
cmp dword [ebp - 0xa08], 2
jne 0x4acc98
movzx eax, word [ebp - 0x978]
and eax, 0x80
je 0x4acc00
push str.Datacenter_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acc93
movzx eax, word [ebp - 0x978]
and eax, 2
je 0x4acc35
push str.Enterprise_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acc93
movzx eax, word [ebp - 0x978]
cmp eax, 0x400
jne 0x4acc6c
push str.Web_Edition
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acc93
push str.Standard_Edition
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acda4
cmp dword [ebp - 0xa0c], 5
jne 0x4acd48
cmp dword [ebp - 0xa08], 0
jne 0x4acd48
movzx edx, word [ebp - 0x978]
and edx, 0x80
je 0x4accea
push str.DataCenter_Server
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acd46
movzx edx, word [ebp - 0x978]
and edx, 2
je 0x4acd1f
push str.Advanced_Server
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acd46
push str.Server
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acda4
movzx ecx, word [ebp - 0x978]
and ecx, 2
je 0x4acd7d
push str.Server_4.0__Enterprise_Edition
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4acda4
push str.Server_4.0
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4aceac
lea eax, [ebp - 0xa84]
push eax
push 1
push 0
push str.SYSTEMCurrentControlSetControlProductOptions
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea ecx, [ebp - 0xa88]
push ecx
lea edx, [ebp - 0xa80]
push edx
push 0
push 0
push str.ProductType
mov eax, dword [ebp - 0xa84]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 0xa84]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea edx, [ebp - 0xa80]
push edx
push str.WINNT
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ace32
push str.Professional
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
lea edx, [ebp - 0xa80]
push edx
push str.LANMANNT
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4ace6f
push str.Server
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
lea edx, [ebp - 0xa80]
push edx
push str.SERVERNT
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4aceac
push str.Advanced_Server
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4ad068
mov byte [0x54a134], 0
cmp dword [ebp - 0xa0c], 4
jne 0x4acf52
cmp dword [ebp - 0xa08], 0
jne 0x4acf52
push str.Microsoft_Windows_95
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
movsx ecx, byte [ebp - 0x9fb]
cmp ecx, 0x43
je 0x4acf11
movsx edx, byte [ebp - 0x9fb]
cmp edx, 0x42
jne 0x4acf38
push str.OSR2
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x50ef64
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4dee
cmp dword [ebp - 0xa0c], 4
jne 0x4acfec
cmp dword [ebp - 0xa08], 0xa
jne 0x4acfec
push str.Microsoft_Windows_98
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
movsx ecx, byte [ebp - 0x9fb]
cmp ecx, 0x41
jne 0x4acfd2
push 0x52356c
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
mov dword [0x54a138], 0x4e16
jmp 0x4acfdc
mov dword [0x54a138], 0x4e0c
push 0x50ef60
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp - 0xa0c], 4
jne 0x4ad03f
cmp dword [ebp - 0xa08], 0x5a
jne 0x4ad03f
push str.Microsoft_Windows_Me
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push 0x50ef5c
push 0x52b5e4
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x54a138], 0x4e20
jmp 0x4ad068
push str.Microsoft_Win32s
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
mov edx, dword [ebp - 0x880]
cmp edx, dword [sym.imp.KERNEL32.dll_GetVersionExA]
je 0x4ad0d6
push str.aclayers.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0xa8c], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp eax, dword [ebp - 0xa8c]
jbe 0x4ad0d6
mov ecx, dword [ebp - 0xa8c]
add ecx, 0x90000
cmp dword [sym.imp.KERNEL32.dll_GetVersionExA], ecx
ja 0x4ad0d6
mov byte [0x54a135], 1
push str._Compatible_Mode_
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
cmp dword [ebp + 8], 0
je 0x4ad0f4
lea ecx, [ebp - 0x878]
push ecx
push str.___OS_type:__hs
mov edx, dword [ebp + 8]
push edx
call fcn.00401350
add esp, 0xc
mov dword [ebp - 0x78], 0
push 0x5130bc
call fcn.00404690
add esp, 4
push eax
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.004ab080
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x58], 0
cmp dword [ebp - 0x78], 0
je 0x4ad138
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [ebp - 0x78]
cmp dword [ebp - 0x58], 1
jne 0x4ad162
lea ecx, [ebp - 0x878]
push ecx
push 0x523500
call fcn.00404690
add esp, 4
push eax
push 0x54a170
call fcn.004b79a8
add esp, 0xc
jmp 0x4ad184
lea edx, [ebp - 0x878]
push edx
push 0x5234f4
call fcn.00404690
add esp, 4
push eax
push 0x54a170
call fcn.004b79a8
add esp, 0xc
mov eax, dword [ebp - 0xa04]
and eax, 0xffff
push eax
lea ecx, [ebp - 0x9fc]
push ecx
mov edx, dword [ebp - 0xa08]
push edx
mov eax, dword [ebp - 0xa0c]
push eax
push str._u._u__s__Build__u_
lea ecx, [ebp - 0x878]
push ecx
call fcn.004b79a8
add esp, 0x18
cmp dword [ebp + 8], 0
je 0x4ad1d7
lea edx, [ebp - 0x878]
push edx
push str.___OS_version:__hs
mov eax, dword [ebp + 8]
push eax
call fcn.00401350
add esp, 0xc
lea ecx, [ebp - 0x878]
push ecx
push 0x54a1f0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x5234c0
call fcn.00404690
add esp, 4
push eax
push 0x52b5f4
call fcn.00409900
add esp, 8
test eax, eax
je 0x4ad265
push 0x52b5f4
push str.___Computer_Name:__s_
lea edx, [ebp - 0x878]
push edx
call fcn.004b79a8
add esp, 0xc
mov dword [ebp - 0x888], eax
push str.undef
push str.User_name:__s
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x4ad265
lea edx, [ebp - 0x878]
push edx
push 0x523494
mov eax, dword [ebp + 8]
push eax
call fcn.00401350
add esp, 0xc
push 7
lea ecx, [ebp - 0x54]
push ecx
push 5
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 6
lea edx, [ebp - 0xa28]
push edx
push 1
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x40
lea eax, [ebp - 0x48]
push eax
push 0x1002
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push 0x40
lea ecx, [ebp - 0x948]
push ecx
push 0x1001
push 0x800
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
cmp dword [ebp + 8], 0
je 0x4ad2ea
lea edx, [ebp - 0xa28]
push edx
lea eax, [ebp - 0x948]
push eax
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x48]
push edx
push str.___Country:__s__s___Language:__s__s_
mov eax, dword [ebp + 8]
push eax
call fcn.00401350
add esp, 0x18
lea ecx, [ebp - 0x48]
push ecx
push 0x54a270
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [ebp - 0xa28]
push edx
push 0x54a290
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [ebp + 8], 0
je 0x4ad329
mov eax, dword [ebp - 0x958]
push eax
push str.___Number_of_processors:__u
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401350
add esp, 0xc
mov edx, dword [ebp - 0x958]
mov dword [0x52b634], edx
xor eax, eax
je 0x4ad33e
jmp 0x4ae2f3
mov byte [ebp - 0x68], 0
mov byte [ebp - 0x88c], 0
xor eax, eax
cpuid
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
mov eax, closesocket
cpuid
mov dword [ebp - 0x884], eax
push str.AuthenticAMD
lea ecx, [ebp - 0x74]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
neg eax
sbb eax, eax
neg eax
mov byte [0x52b638], al
cmp dword [ebp - 0xa20], 1
jl 0x4ad39e
mov eax, 1
cpuid
mov dword [0x54a130], eax
mov dword [ebp - 0x908], edx
movzx edx, byte [0x52b638]
test edx, edx
je 0x4ad3b4
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x4c], eax
jmp 0x4ad3ca
cmp dword [ebp - 0x884], 0x80000001
jb 0x4ad3ca
mov eax, closesocket
cpuid
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x884], 0x80000004
jb 0x4ad411
mov eax, reloc.OLEAUT32.dll_SysReAllocString
lea edi, [ebp - 0x8bc]
cpuid
call fcn.004ad402
mov eax, reloc.WS2_32.dll_closesocket
cpuid
call fcn.004ad402
mov eax, VariantClear
cpuid
call fcn.004ad402
jmp 0x4ad411
cmp dword [ebp + 8], 0
je 0x4ad44f
mov ecx, dword [0x54a130]
shr ecx, 8
and ecx, 0xf
push ecx
mov edx, dword [0x54a130]
shr edx, 4
and edx, 0xf
push edx
mov eax, dword [0x54a130]
and eax, 0xf
push eax
lea ecx, [ebp - 0x74]
push ecx
push str.___Processor_type:__hs__stepping__u__model__u__instruction_family__u
mov edx, dword [ebp + 8]
push edx
call fcn.00401350
add esp, 0x18
cmp dword [ebp - 0x884], 0x80000004
jb 0x4ad6c0
cmp dword [ebp + 8], 0
je 0x4ad47d
lea eax, [ebp - 0x8bc]
push eax
push str.___Processor_name:__hs
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401350
add esp, 0xc
lea edx, [ebp - 0x8bc]
push edx
push 0x54a13c
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x8bc]
mov dword [ebp - 0xc10], eax
lea ecx, [ebp - 0xac0]
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc10]
mov cl, byte [eax]
mov byte [ebp - 0xc19], cl
mov edx, dword [ebp - 0xc14]
mov al, byte [ebp - 0xc19]
mov byte [edx], al
mov ecx, dword [ebp - 0xc10]
add ecx, 1
mov dword [ebp - 0xc10], ecx
mov edx, dword [ebp - 0xc14]
add edx, 1
mov dword [ebp - 0xc14], edx
cmp byte [ebp - 0xc19], 0
jne 0x4ad4b3
lea eax, [ebp - 0xac0]
push eax
call fcn.004ab060
add esp, 4
push str.MOBILE
lea ecx, [ebp - 0xac0]
push ecx
call fcn.00404140
add esp, 8
test eax, eax
je 0x4ad526
mov byte [0x54a136], 1
jmp 0x4ad545
push str._M_PROCESSOR
lea edx, [ebp - 0xac0]
push edx
call fcn.00404140
add esp, 8
test eax, eax
je 0x4ad545
mov byte [0x54a136], 1
movzx eax, byte [0x52b638]
test eax, eax
je 0x4ad6c0
mov byte [ebp - 0xac5], 0
push 0x5233c0
lea ecx, [ebp - 0xac0]
push ecx
call fcn.00404140
add esp, 8
mov dword [ebp - 0xac4], eax
cmp dword [ebp - 0xac4], 0
jne 0x4ad59f
push 0x5233bc
lea edx, [ebp - 0xac0]
push edx
call fcn.00404140
add esp, 8
mov dword [ebp - 0xac4], eax
mov byte [ebp - 0xac5], 1
cmp dword [ebp - 0xac4], 0
je 0x4ad6c0
mov eax, dword [ebp - 0xac4]
mov byte [eax], 0
mov ecx, dword [ebp - 0xac4]
sub ecx, 1
mov dword [ebp - 0xac4], ecx
mov edx, dword [ebp - 0xac4]
lea eax, [ebp - 0xac0]
cmp edx, eax
jae 0x4ad5d9
jmp 0x4ad6c0
mov ecx, dword [ebp - 0xac4]
movsx edx, byte [ecx]
cmp edx, 0x20
jne 0x4ad6ae
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xac4]
push ecx
call fcn.004bb807
add esp, 4
fstp qword [ebp - 0xad0]
fldz
fcomp qword [ebp - 0xad0]
fnstsw ax
test ah, 0x44
jnp 0x4ad6ac
movzx edx, byte [ebp - 0xac5]
test edx, edx
je 0x4ad670
fld qword [ebp - 0xad0]
fmul qword [0x501808]
fnstcw word [ebp - 0xc1c]
movzx eax, word [ebp - 0xc1c]
or eax, 0xc00
mov dword [ebp - 0xc20], eax
fldcw word [ebp - 0xc20]
fistp qword [ebp - 0xc28]
fldcw word [ebp - 0xc1c]
mov eax, dword [ebp - 0xc28]
mov dword [0x54a29c], eax
jmp 0x4ad6ac
fld qword [ebp - 0xad0]
fnstcw word [ebp - 0xc2a]
movzx eax, word [ebp - 0xc2a]
or eax, 0xc00
mov dword [ebp - 0xc30], eax
fldcw word [ebp - 0xc30]
fistp qword [ebp - 0xc38]
fldcw word [ebp - 0xc2a]
mov ecx, dword [ebp - 0xc38]
mov dword [0x54a29c], ecx
jmp 0x4ad6c0
mov edx, dword [ebp - 0xac4]
movsx eax, byte [edx]
cmp eax, 0x20
jne 0x4ad5b5
mov ecx, dword [ebp - 0x908]
mov dword [ebp - 0x904], ecx
mov dword [ebp - 0x87c], 0
push str.___Processor_features:
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x904]
and ecx, 1
je 0x4ad72f
push str.FPU_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x904]
shr ecx, 0x17
and ecx, 1
je 0x4ad764
push str.MMX_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x904]
shr ecx, 0x19
and ecx, 1
je 0x4ad799
push str.SSE_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
movzx ecx, byte [0x52b638]
test ecx, ecx
je 0x4ad81c
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0xad4], edx
mov eax, dword [ebp - 0xad4]
shr eax, 0x1a
and eax, 1
je 0x4ad7e2
push str.SSE2_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0xad4]
shr eax, 0x13
and eax, 1
je 0x4ad817
push str.CLFLUSH_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
jmp 0x4ad8c4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xad8], eax
mov ecx, dword [ebp - 0xad8]
shr ecx, 0x16
and ecx, 1
je 0x4ad85a
push str.MMX_extensions_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0xad8]
shr ecx, 0x1f
and ecx, 1
je 0x4ad88f
push str.3DNow_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0xad8]
shr ecx, 0x1e
and ecx, 1
je 0x4ad8c4
push str.3DNow_extensions_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x904]
shr ecx, 4
and ecx, 1
je 0x4ad900
push str.RDTSC_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov byte [0x52b639], 1
mov ecx, dword [ebp - 0x904]
shr ecx, 8
and ecx, 1
je 0x4ad935
push str.CMPXCHG8B_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x904]
shr ecx, 0xf
and ecx, 1
je 0x4ad96a
push str.CMOV_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x87c]
movsx edx, byte [ebp + ecx - 0x87a]
cmp edx, 0x2c
jne 0x4ad98c
mov eax, dword [ebp - 0x87c]
sub eax, 2
mov dword [ebp - 0x87c], eax
push str._r_n___More_processor_features:
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 1
and eax, 1
je 0x4ad9e7
push str.VME_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 2
and eax, 1
je 0x4ada1c
push str.DE_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 3
and eax, 1
je 0x4ada51
push str.PSE_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 5
and eax, 1
je 0x4ada86
push str.MSR_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 6
and eax, 1
je 0x4adabb
push str.PAE_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 7
and eax, 1
je 0x4adaf0
push str.MCE_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 9
and eax, 1
je 0x4adb25
push str.APIC_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 0xb
and eax, 1
je 0x4adb5a
push str.SEP_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov eax, dword [ebp - 0x904]
shr eax, 0xc
and eax, 1
je 0x4adb8f
push str.MTRR_
mov ecx, dword [ebp - 0x87c]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
push str._r_n
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x904]
shr edx, 0xd
and edx, 1
je 0x4adbeb
push str.PGE_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x904]
shr edx, 0xe
and edx, 1
je 0x4adc20
push str.MCA_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x904]
shr edx, 0x10
and edx, 1
je 0x4adc55
push str.PAT_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x904]
shr edx, 0x11
and edx, 1
je 0x4adc8a
push str.PSE36_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x904]
shr edx, 0x18
and edx, 1
je 0x4adcbf
push str.FXSR_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
movzx edx, byte [0x52b638]
test edx, edx
je 0x4add78
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xadc], eax
mov ecx, dword [ebp - 0xadc]
shr ecx, 0x15
and ecx, 1
je 0x4add0c
push str.DS_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0xadc]
shr ecx, 0x1b
and ecx, 1
je 0x4add41
push str.SS_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0xadc]
shr ecx, 0x1d
and ecx, 1
je 0x4add76
push str.TM_
mov edx, dword [ebp - 0x87c]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
jmp 0x4addb6
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0xae0], ecx
mov edx, dword [ebp - 0xae0]
shr edx, 0x13
and edx, 1
je 0x4addb6
push str.MP_
mov eax, dword [ebp - 0x87c]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x87c]
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x87c]
movsx eax, byte [ebp + edx - 0x87a]
cmp eax, 0x2c
jne 0x4addd8
mov ecx, dword [ebp - 0x87c]
sub ecx, 2
mov dword [ebp - 0x87c], ecx
cmp dword [ebp + 8], 0
je 0x4addf6
lea edx, [ebp - 0x878]
push edx
push 0x523494
mov eax, dword [ebp + 8]
push eax
call fcn.00401350
add esp, 0xc
lea ecx, [ebp - 0xa1c]
push ecx
call sub.KERNEL32.dll_GetSystemPowerStatus
push str.___AC_Power_Status:
lea edx, [ebp - 0x878]
push edx
call fcn.004b79a8
add esp, 8
mov dword [ebp - 0x888], eax
movzx eax, byte [ebp - 0xa1c]
mov dword [ebp - 0xc3c], eax
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0xc40], ecx
cmp dword [ebp - 0xc40], 0
je 0x4ade49
sub dword [ebp - 0xc40], 1
je 0x4ade72
jmp 0x4ade9b
push str.Offline
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4adec2
push str.Online
mov ecx, dword [ebp - 0x888]
lea edx, [ebp + ecx - 0x878]
push edx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4adec2
push str.Unknown
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
push str.__Battery_Status:
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
movzx ecx, byte [ebp - 0xa1b]
mov dword [ebp - 0xc44], ecx
mov edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], edx
sub dword [ebp - 0xc48], 0x80
je 0x4adf19
sub dword [ebp - 0xc48], 0x7f
je 0x4adf42
jmp 0x4adf6b
push str.No_System_Battery
mov eax, dword [ebp - 0x888]
lea ecx, [ebp + eax - 0x878]
push ecx
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4adf9a
push str.Unknown
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 8
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
jmp 0x4adf9a
movzx ecx, byte [ebp - 0xa1a]
push ecx
push str._d___remain
mov edx, dword [ebp - 0x888]
lea eax, [ebp + edx - 0x878]
push eax
call fcn.004b79a8
add esp, 0xc
add eax, dword [ebp - 0x888]
mov dword [ebp - 0x888], eax
cmp dword [ebp + 8], 0
je 0x4adfb8
lea ecx, [ebp - 0x878]
push ecx
push 0x523494
mov edx, dword [ebp + 8]
push edx
call fcn.00401350
add esp, 0xc
movzx eax, byte [ebp - 0xa1b]
cmp eax, 0x80
jge 0x4adfcd
mov byte [0x54a136], 1
push 0
push 0x40
lea ecx, [ebp - 0x900]
push ecx
call fcn.004b6dc0
add esp, 0xc
mov dword [ebp - 0x900], 0x40
lea edx, [ebp - 0x900]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp dword [ebp + 8], 0
je 0x4ae081
mov eax, dword [ebp - 0x8fc]
push eax
push 7
mov ecx, dword [ebp - 0x8e8]
sub ecx, dword [ebp - 0x8f8]
mov edx, dword [ebp - 0x8e4]
sbb edx, dword [ebp - 0x8f4]
push 0
push 0x400
push edx
push ecx
call fcn.004bb820
push edx
push eax
push 7
push 0
push 0x400
mov eax, dword [ebp - 0x8f4]
push eax
mov ecx, dword [ebp - 0x8f8]
push ecx
call fcn.004bb820
push edx
push eax
push 7
push 0
push 0x400
mov edx, dword [ebp - 0x8ec]
push edx
mov eax, dword [ebp - 0x8f0]
push eax
call fcn.004bb820
push edx
push eax
push 7
push str.___Memory_Available_Total_Page_:__I64dKB____I64dKB____I64dKB__Use:__ld__
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401350
add esp, 0x34
mov edx, dword [ebp - 0x8fc]
mov dword [0x54a2a0], edx
push 0
push 0x400
mov eax, dword [ebp - 0x8ec]
push eax
mov ecx, dword [ebp - 0x8f0]
push ecx
call fcn.004bb820
mov dword [0x54a2a4], eax
mov dword [ebp - 0x64], 0
push str.GetDiskFreeSpaceExA
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
je 0x4ae2f3
push 0x100
lea edx, [ebp - 0xbe8]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea eax, [ebp - 0xbf0]
push eax
lea ecx, [ebp - 0xbf8]
push ecx
lea edx, [ebp - 0xc00]
push edx
lea eax, [ebp - 0xbe8]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
push 0x5c
lea ecx, [ebp - 0xbe8]
push ecx
call fcn.004ab050
add esp, 8
mov dword [ebp - 0xc04], eax
cmp dword [ebp - 0xc04], 0
je 0x4ae134
mov edx, dword [ebp - 0xc04]
mov byte [edx], 0
cmp dword [ebp + 8], 0
je 0x4ae1d4
push 0
push 0x400
mov eax, dword [ebp - 0xbfc]
push eax
mov ecx, dword [ebp - 0xc00]
push ecx
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
push 0
push 0x400
mov edx, dword [ebp - 0xbec]
push edx
mov eax, dword [ebp - 0xbf0]
push eax
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
push 0
push 0x400
mov ecx, dword [ebp - 0xbf4]
push ecx
mov edx, dword [ebp - 0xbf8]
push edx
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
lea eax, [ebp - 0xbe8]
push eax
push str.___Drive__s_Total:__I64uMB__Free:__I64uMB__Free_Quota:__I64uMB
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401350
add esp, 0x24
mov dl, byte [ebp - 0xbe8]
mov byte [ebp - 0xae1], dl
lea eax, [ebp - 0xbe8]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
movsx ecx, byte [ebp - 0xae1]
movsx edx, byte [ebp - 0xbe8]
cmp ecx, edx
je 0x4ae2f3
lea eax, [ebp - 0xbf0]
push eax
lea ecx, [ebp - 0xbf8]
push ecx
lea edx, [ebp - 0xc00]
push edx
lea eax, [ebp - 0xbe8]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
push 0x5c
lea ecx, [ebp - 0xbe8]
push ecx
call fcn.004ab050
add esp, 8
mov dword [ebp - 0xc04], eax
cmp dword [ebp - 0xc04], 0
je 0x4ae253
mov edx, dword [ebp - 0xc04]
mov byte [edx], 0
cmp dword [ebp + 8], 0
je 0x4ae2f3
push 0
push 0x400
mov eax, dword [ebp - 0xbfc]
push eax
mov ecx, dword [ebp - 0xc00]
push ecx
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
push 0
push 0x400
mov edx, dword [ebp - 0xbec]
push edx
mov eax, dword [ebp - 0xbf0]
push eax
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
push 0
push 0x400
mov ecx, dword [ebp - 0xbf4]
push ecx
mov edx, dword [ebp - 0xbf8]
push edx
call fcn.004bb820
push 0
push 0x400
push edx
push eax
call fcn.004bb820
push edx
push eax
lea eax, [ebp - 0xbe8]
push eax
push str.___Drive__s_Total:__I64uMB__Free:__I64uMB__Free_Quota:__I64uMB
mov ecx, dword [ebp + 8]
push ecx
call fcn.00401350
add esp, 0x24
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6da3
mov esp, ebp
pop ebp
ret