Function at 0x404dd3
Capabilities:
Get cpu information
Get disk information
Get disk size
Get file size
Get hostname
Get memory capacity
Get session user name
Link many functions at runtime
Query environment variable
Query or enumerate registry key
Query or enumerate registry value
Read file on windows
Validate payment card number using luhn algorithm

Disassembly:
push ebp
lea ebp, [esp - 0x9e08]
mov eax, 0x9e08
call fcn.0044fd50
push 0xffffffffffffffff
push 0x480496
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x4a9c04]
xor eax, ebp
mov dword [ebp + 0x9e04], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x9e10]
mov esi, 0x4ab520
xor ebx, ebx
push str.User_Name
mov ecx, esi
mov dword [ebp - 0x5c], eax
mov dword [0x4ad460], ebx
call fcn.00403c45
lea ecx, [ebp - 0x30]
push ecx
push 0x101
mov ecx, eax
mov dword [ebp - 0x30], 0x100
call fcn.00403944
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push str.Host_Name
mov ecx, esi
call fcn.00403c45
mov edi, eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x97e4]
push eax
mov byte [ebp + 0x97e4], bl
mov dword [ebp - 0x30], 0xc8
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea eax, [ebp + 0x97e4]
push eax
call fcn.00454642
pop ecx
lea eax, [ebp + 0x97e4]
push eax
mov ecx, edi
call fcn.0040395a
push str.OS_Version
mov ecx, esi
call fcn.00403c45
mov edx, dword [0x4ad6a0]
cmp edx, ebx
jne 0x404ec1
push str.Windows_3.1
mov ecx, eax
call fcn.0040395a
jmp 0x405025
cmp edx, 1
jne 0x404f11
mov ecx, dword [0x4ad694]
mov edx, dword [0x4ad698]
cmp ecx, 4
jne 0x404f05
cmp edx, ebx
jne 0x404ee2
push str.Windows_95
jmp 0x404ef8
cmp edx, 0xa
jne 0x404eee
push str.Windows_98
jmp 0x404ef8
cmp edx, 0x5a
jne 0x404f05
push str.Windows_Me
push eax
call fcn.00403aac
pop ecx
pop ecx
jmp 0x405025
push edx
push ecx
push str.Windows_9x__d._d
jmp 0x40501c
cmp edx, 2
jne 0x40500b
mov ecx, dword [0x4ad694]
mov edx, dword [0x4ad698]
cmp ecx, 5
jne 0x404f75
cmp edx, ebx
jne 0x404f36
push str.Windows_2000
jmp 0x404ef8
cmp edx, 1
jne 0x404f42
push str.Windows_XP
jmp 0x404ef8
cmp edx, 2
jne 0x404f68
cmp byte [0x4ad72a], 1
jne 0x404f61
cmp word [0x4ad72c], 9
jne 0x404f61
push str.Windows_XP_x64
jmp 0x404ef8
push str.Windows_2003
jmp 0x404ef8
push edx
push 5
push str.Windows_NT__d._d
jmp 0x40501c
cmp ecx, 6
jne 0x405004
cmp edx, ebx
jne 0x404f9f
cmp byte [0x4ad72a], 1
jne 0x404f95
push str.Windows_Vista
jmp 0x404ef8
push str.Windows_2008
jmp 0x404ef8
cmp edx, 1
jne 0x404fc0
cmp byte [0x4ad72a], dl
jne 0x404fb6
push str.Windows_7
jmp 0x404ef8
push str.Windows_2008_R2
jmp 0x404ef8
cmp edx, 2
jne 0x404fe2
cmp byte [0x4ad72a], 1
jne 0x404fd8
push str.Windows_8
jmp 0x404ef8
push str.Windows_2012
jmp 0x404ef8
cmp edx, 3
jne 0x405004
cmp byte [0x4ad72a], 1
jne 0x404ffa
push str.Windows_8.1
jmp 0x404ef8
push str.Windows_2012_R2
jmp 0x404ef8
push edx
push ecx
jmp 0x404f6b
push dword [0x4ad698]
push dword [0x4ad694]
push str.unknown__d._d
push eax
call fcn.00403aac
add esp, 0x10
push str.Service_Pack
mov ecx, esi
call fcn.00403c45
mov dword [ebp - 0x10], eax
cmp byte [0x4ad6a4], bl
je 0x405055
push 0x4881fc
mov edi, 0x4ad6a4
push edi
call fcn.004543a0
pop ecx
pop ecx
test eax, eax
je 0x405055
push edi
jmp 0x40505a
push str.No_service_pack
mov ecx, dword [ebp - 0x10]
call fcn.0040395a
cmp dword [0x4ad6a0], 2
jne 0x405332
push str.NetWkstaGetInfo
mov edi, str.NETAPI32.DLL
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
push str.NetWkstaUserGetInfo
push edi
mov dword [ebp - 0x20], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
push str.NetServerGetInfo
push edi
mov dword [ebp - 0x1c], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
push str.NetApiBufferFree
push edi
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
push str.Machine_Domain
mov ecx, 0x4ab520
mov dword [ebp - 0x14], eax
call fcn.00403c45
mov esi, eax
lea eax, [ebp + 0x87e4]
push eax
call fcn.00417b8e
pop ecx
test al, al
jne 0x405126
cmp dword [ebp - 0x20], ebx
je 0x405113
lea eax, [ebp - 0x28]
push eax
push 0x64
push ebx
call dword [ebp - 0x20]
test eax, eax
jne 0x405113
mov eax, dword [ebp - 0x28]
push dword [eax + 8]
push 0x48817c
push esi
call fcn.00403aac
add esp, 0xc
push dword [ebp - 0x28]
call dword [ebp - 0x14]
jmp 0x405126
lea eax, [ebp + 0x87e4]
push str._none_
push eax
call fcn.0044fb30
pop ecx
pop ecx
lea eax, [ebp + 0x87e4]
push eax
mov ecx, esi
call fcn.0040395a
mov esi, 0x4ab520
push str.Logon_Domain
mov ecx, esi
call fcn.00403c45
push str.Logon_Server
mov ecx, esi
mov edi, eax
call fcn.00403c45
cmp dword [ebp - 0x1c], ebx
je 0x405190
lea eax, [ebp - 0x58]
push eax
push 1
push ebx
call dword [ebp - 0x1c]
test eax, eax
jne 0x405190
mov eax, dword [ebp - 0x58]
push dword [eax + 4]
push 0x48817c
push edi
call fcn.00403aac
mov eax, dword [ebp - 0x58]
push dword [eax + 0xc]
add edi, 8
push 0x48817c
push edi
call fcn.00403aac
add esp, 0x18
jmp 0x4051a9
push str._none_
mov ecx, edi
call fcn.0040395a
push str._none_
lea ecx, [edi + 8]
call fcn.0040395a
push str.System_Type
mov ecx, esi
call fcn.00403c45
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
push eax
push 1
push ebx
push str.SYSTEMCurrentControlSetControlProductOptions
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp + 0x87e4], bl
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40532a
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.ProductType
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0x1000
call esi
mov edi, str.WinNT
test eax, eax
jne 0x40526f
lea eax, [ebp + 0x87e4]
push str.LanmanNT
push eax
call fcn.0044f215
pop ecx
pop ecx
test eax, eax
jne 0x405228
push str.Domain_Controller
jmp 0x405267
lea eax, [ebp + 0x87e4]
push str.ServerNT
push eax
call fcn.0044f215
pop ecx
pop ecx
test eax, eax
jne 0x405246
push str.Server
jmp 0x405267
lea eax, [ebp + 0x87e4]
push edi
push eax
call fcn.0044f215
pop ecx
pop ecx
test eax, eax
jne 0x405260
push str.Workstation
jmp 0x405267
lea eax, [ebp + 0x87e4]
push eax
mov ecx, dword [ebp - 0x10]
call fcn.0040395a
lea eax, [ebp + 0x87e4]
push edi
push eax
call fcn.0044f215
pop ecx
pop ecx
test eax, eax
je 0x4052cd
mov edi, str.Stand_alone
cmp dword [ebp - 0x18], ebx
je 0x4052bc
lea eax, [ebp - 0x44]
push eax
push 0x65
push ebx
call dword [ebp - 0x18]
test eax, eax
jne 0x4052bc
mov edx, dword [ebp - 0x44]
mov ecx, dword [edx + 0x10]
test dword [eax*8 + 0x4880a8], ecx
jne 0x4052b1
inc eax
cmp eax, 2
jb 0x4052a0
jmp 0x4052b8
mov edi, dword [eax*8 + 0x4880ac]
push edx
call dword [ebp - 0x14]
push edi
push str.___s
push dword [ebp - 0x10]
call fcn.00403b0b
add esp, 0xc
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x9bac]
push eax
push ebx
push ebx
push str.ProductSuite
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0x104
call esi
test eax, eax
jne 0x40531c
lea edi, [ebp + 0x9bac]
cmp byte [ebp + 0x9bac], bl
je 0x40531c
push edi
push str.___s
push dword [ebp - 0x10]
call fcn.00403b0b
push ebx
push edi
call fcn.0044ed90
add esp, 0x14
inc eax
mov edi, eax
cmp byte [edi], bl
jne 0x4052fd
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4054a8
mov ecx, dword [ebp - 0x10]
jmp 0x405498
cmp byte [0x4ab418], bl
jne 0x405368
push 0x4ab310
push str.BGINFO16
call fcn.00404ba6
mov edi, 0x4ab418
push edi
push str.BGINFO32
call fcn.00404ba6
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [0x4ab30c], eax
mov edi, 0xff
push edi
lea eax, [ebp + 0x41]
push ebx
push eax
mov byte [ebp + 0x40], bl
call fcn.0044f370
push edi
lea eax, [ebp + 0x98ad]
push ebx
push eax
mov byte [ebp + 0x98ac], bl
call fcn.0044f370
push edi
lea eax, [ebp + 0x9aad]
push ebx
push eax
mov byte [ebp + 0x9aac], bl
call fcn.0044f370
push edi
lea eax, [ebp + 0x99ad]
push ebx
push eax
mov byte [ebp + 0x99ac], bl
call fcn.0044f370
mov eax, dword [0x4ab30c]
add esp, 0x30
cmp eax, ebx
je 0x4053ee
push str._GetLanmanInfo32_16
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x4053ee
lea ecx, [ebp + 0x99ac]
push ecx
lea ecx, [ebp + 0x9aac]
push ecx
lea ecx, [ebp + 0x98ac]
push ecx
lea ecx, [ebp + 0x40]
push ecx
call eax
mov edi, str._none_
cmp byte [ebp + 0x98ac], bl
jne 0x40540a
lea eax, [ebp + 0x98ac]
push edi
push eax
call fcn.0044fb30
pop ecx
pop ecx
cmp byte [ebp + 0x9aac], bl
jne 0x405421
lea eax, [ebp + 0x9aac]
push edi
push eax
call fcn.0044fb30
pop ecx
pop ecx
cmp byte [ebp + 0x99ac], bl
jne 0x405438
lea eax, [ebp + 0x99ac]
push edi
push eax
call fcn.0044fb30
pop ecx
pop ecx
push str.Logon_Domain
mov ecx, esi
call fcn.00403c45
push str.Machine_Domain
mov ecx, esi
mov edi, eax
call fcn.00403c45
push str.Logon_Server
mov ecx, esi
call fcn.00403c45
lea eax, [ebp + 0x98ac]
push eax
mov ecx, edi
call fcn.0040395a
lea eax, [ebp + 0x9aac]
push eax
lea ecx, [edi + 8]
call fcn.0040395a
lea eax, [ebp + 0x99ac]
push eax
lea ecx, [edi + 0x10]
call fcn.0040395a
push str.System_Type
mov ecx, esi
call fcn.00403c45
mov ecx, eax
push str.Workstation
call fcn.0040395a
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp + 0x9e00]
push eax
call fcn.00415906
pop ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x4054fe
mov edi, eax
add edi, 0xf71
lea eax, [edi - 0x104]
push str._none_
push eax
call fcn.0044fb30
push str._none_
push edi
call fcn.0044fb30
add esp, 0x10
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add edi, 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x4054cb
cmp dword [0x4ad6a0], 2
lea eax, [ebp - 0x2c]
push eax
jne 0x40597e
cmp dword [0x4ad694], 4
push 0x20019
push ebx
jne 0x405769
push str.SYSTEMCurrentControlSetServicesNetBTAdapters
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405ba4
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x9cb0]
push eax
mov dword [ebp - 0x20], ebx
push ebx
jmp 0x40574c
lea eax, [ebp + 0x9cb0]
push eax
lea eax, [ebp + 0x3c]
push str.SYSTEMCurrentControlSetServices_sParametersTcpIp
push eax
mov dword [ebp - 0x18], ebx
call fcn.0044f3ea
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push 0x20019
push ebx
lea eax, [ebp + 0x3c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405737
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push ebx
push str.EnableDHCP
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 4
call esi
test eax, eax
jne 0x40572e
mov dword [ebp - 0x10], 0x6a4
mov eax, str.DhcpIPAddress
cmp dword [ebp - 0x28], ebx
jne 0x4055c7
mov eax, str.IPAddress
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 0x8140]
push ecx
push ebx
push ebx
push eax
push dword [ebp - 0x18]
call esi
test eax, eax
jne 0x40572e
cmp byte [ebp + 0x8140], bl
lea eax, [ebp + 0x8140]
jmp 0x405725
push eax
call fcn.0044fc30
pop ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405717
mov edi, dword [ebp - 0x14]
add edi, 0xf71
push dword [ebp - 0x44]
lea eax, [edi - 0xf52]
push dword [ebp - 0x4c]
push eax
call fcn.00454112
add esp, 0xc
test eax, eax
jne 0x4056ff
mov eax, dword [ebp - 0x44]
movsx eax, byte [eax + edi - 0xf52]
push eax
call fcn.00453caa
pop ecx
test eax, eax
jne 0x4056ff
lea eax, [ebp - 0x1c]
push eax
push 0x20019
push ebx
push str.SYSTEMCurrentControlSetServicesTcpIpParameters
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4056dc
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.NameServer
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x1000
mov byte [ebp + 0x87e4], bl
call esi
cmp byte [ebp + 0x87e4], bl
jne 0x4056c4
cmp dword [ebp - 0x28], ebx
je 0x4056d3
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.DhcpNameServer
push dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x1000
call esi
cmp byte [ebp + 0x87e4], bl
je 0x4056d3
lea eax, [ebp + 0x87e4]
push eax
push edi
call fcn.0044fb30
pop ecx
pop ecx
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x28], ebx
je 0x4056ff
lea eax, [ebp - 0x10]
push eax
lea eax, [edi - 0x104]
push eax
push ebx
push ebx
push str.DhcpServer
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x104
call esi
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add edi, 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405615
push ebx
push dword [ebp - 0x4c]
call fcn.0044ed90
pop ecx
inc eax
cmp byte [eax], bl
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x4055f3
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x20]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x9cb0]
push eax
push dword [ebp - 0x20]
push dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x104
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
je 0x405552
jmp 0x405b9b
push str.SYSTEMCurrentControlSetServicesTcpipParametersInterfaces
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405ba4
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x9cb0]
push eax
mov dword [ebp - 0x28], ebx
push ebx
jmp 0x405961
lea eax, [ebp - 0x18]
push eax
push 0x20019
push ebx
lea eax, [ebp + 0x9cb0]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40594c
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
push ebx
push ebx
push str.EnableDHCP
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 4
call esi
test eax, eax
jne 0x405943
mov dword [ebp - 0x10], 0x6a4
mov eax, str.DhcpIPAddress
cmp dword [ebp - 0x20], ebx
jne 0x4057f4
mov eax, str.IPAddress
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 0x8140]
push ecx
push ebx
push ebx
push eax
push dword [ebp - 0x18]
call esi
test eax, eax
jne 0x405943
mov eax, dword [ebp - 0x10]
mov ecx, 0x6a2
cmp eax, ecx
jb 0x405820
mov eax, ecx
mov dword [ebp - 0x10], eax
mov byte [ebp + eax + 0x8140], bl
mov byte [ebp + eax + 0x8141], bl
cmp byte [ebp + 0x8140], bl
lea eax, [ebp + 0x8140]
jmp 0x40593a
push eax
call fcn.0044fc30
pop ecx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x40592c
mov edi, dword [ebp - 0x14]
push dword [ebp - 0x44]
lea eax, [edi + 0x1f]
push dword [ebp - 0x4c]
push eax
call fcn.00454112
add esp, 0xc
test eax, eax
jne 0x405884
mov eax, dword [ebp - 0x44]
movsx eax, byte [eax + edi + 0x1f]
push eax
call fcn.00453caa
pop ecx
test eax, eax
je 0x40589d
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add edi, 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x40585b
jmp 0x40592c
cmp dword [ebp - 0x20], ebx
je 0x4058c0
lea eax, [ebp - 0x10]
push eax
lea eax, [edi + 0xe6d]
push eax
push ebx
push ebx
push str.DhcpServer
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x104
call esi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.NameServer
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x1000
mov byte [ebp + 0x87e4], bl
call esi
cmp byte [ebp + 0x87e4], bl
jne 0x405917
cmp dword [ebp - 0x20], ebx
je 0x40592c
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.DhcpNameServer
push dword [ebp - 0x18]
mov dword [ebp - 0x10], 0x1000
call esi
cmp byte [ebp + 0x87e4], bl
je 0x40592c
lea eax, [ebp + 0x87e4]
push eax
add edi, 0xf71
push edi
call fcn.0044fb30
pop ecx
pop ecx
push ebx
push dword [ebp - 0x4c]
call fcn.0044ed90
pop ecx
inc eax
cmp byte [eax], bl
pop ecx
mov dword [ebp - 0x4c], eax
jne 0x40583f
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x28]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x9cb0]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0x104
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
je 0x405799
jmp 0x405b9b
mov edi, 0x20019
push edi
push ebx
push str.SYSTEMCurrentControlSetServicesVxDDHCP
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405afd
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x9cb0]
push eax
mov dword [ebp - 0x28], ebx
push ebx
jmp 0x405adc
lea eax, [ebp - 0x4c]
push eax
push edi
push ebx
lea eax, [ebp + 0x9cb0]
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405ac7
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push ebx
push str.DhcpIPAddress
push dword [ebp - 0x4c]
mov dword [ebp - 0x34], 4
call esi
test eax, eax
jne 0x405abe
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
lea eax, [ebp + 0x87e4]
push str._d._d._d._d
push eax
call fcn.0044f3ea
add esp, 0x18
mov dword [ebp - 0x20], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405abe
mov eax, dword [ebp - 0x14]
add eax, 0xe6d
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x87e4]
push eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffff1b2
push eax
call fcn.004543a0
pop ecx
pop ecx
test eax, eax
jne 0x405aa5
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.DhcpServer
push dword [ebp - 0x4c]
mov dword [ebp - 0x34], 0x1000
call esi
test eax, eax
jne 0x405aa5
movzx eax, byte [ebp + 0x87e7]
push eax
movzx eax, byte [ebp + 0x87e6]
push eax
movzx eax, byte [ebp + 0x87e5]
push eax
movzx eax, byte [ebp + 0x87e4]
push eax
push str._d._d._d._d
push dword [ebp - 0x18]
call fcn.0044f3ea
add esp, 0x18
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x18], 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405a38
push dword [ebp - 0x4c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x28]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x9cb0]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
mov dword [ebp - 0x34], 0x104
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
je 0x4059b5
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x2c]
push eax
push edi
push ebx
push str.SYSTEMCurrentControlSetServicesVxDMSTCP
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x405ba4
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.EnableDNS
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0x1000
mov byte [ebp + 0x87e4], bl
call esi
cmp byte [ebp + 0x87e4], 0x31
jne 0x405b9b
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x87e4]
push eax
push ebx
push ebx
push str.NameServer
push dword [ebp - 0x2c]
mov dword [ebp - 0x30], 0x1000
call esi
test eax, eax
jne 0x405b9b
xor esi, esi
cmp dword [ebp + 0x9e00], ebx
jbe 0x405b9b
mov edi, dword [ebp - 0x14]
add edi, 0xf71
lea eax, [ebp + 0x87e4]
push eax
push edi
call fcn.0044fb30
inc esi
pop ecx
add edi, 0x1618
pop ecx
cmp esi, dword [ebp + 0x9e00]
jb 0x405b7d
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.Network_Card
mov ecx, 0x4ab520
call fcn.00403c45
mov ecx, eax
mov esi, 0x485d1c
push esi
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
mov edi, SysReAllocString
cmp dword [ebp + 0x9e00], ebx
jbe 0x405c22
mov eax, dword [ebp - 0x14]
add eax, 0xd6d
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x34], ebx
je 0x405bf2
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
push dword [ebp - 0x20]
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403b0b
mov ecx, dword [ebp - 0x10]
add esp, 0xc
call fcn.00403b9d
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x20], 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405bde
push str.IP_Address
mov ecx, 0x4ab520
call fcn.00403c45
mov ecx, eax
push esi
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405c90
mov eax, dword [ebp - 0x14]
add eax, 0x1f
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x34], ebx
je 0x405c64
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
mov eax, dword [ebp - 0x20]
cmp byte [eax], bl
jne 0x405c70
mov eax, str._none_
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push eax
call fcn.004039b3
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x20], 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405c50
push str.Subnet_Mask
mov ecx, 0x4ab520
call fcn.00403c45
mov ecx, eax
push esi
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405d00
mov eax, dword [ebp - 0x14]
add eax, 0x6c4
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x34], ebx
je 0x405cd4
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
mov eax, dword [ebp - 0x20]
cmp byte [eax], bl
jne 0x405ce0
mov eax, str._none_
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push eax
call fcn.004039b3
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x20], 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405cc0
push str.Default_Gateway
mov ecx, 0x4ab520
call fcn.00403c45
cmp dword [ebp + 0x9e00], ebx
je 0x405d4a
mov edx, dword [ebp - 0x14]
movzx ecx, byte [edx + 0xd6c]
push ecx
movzx ecx, byte [edx + 0xd6b]
push ecx
movzx ecx, byte [edx + 0xd6a]
push ecx
movzx ecx, byte [edx + 0xd69]
push ecx
push str._d._d._d._d
push eax
call fcn.00403aac
add esp, 0x18
jmp 0x405d52
push esi
mov ecx, eax
call fcn.0040395a
push str.MAC_Address
mov ecx, 0x4ab520
call fcn.00403c45
mov ecx, eax
push esi
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405dea
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x34], ebx
je 0x405d94
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ebx
cmp byte [eax], bl
jbe 0x405dd5
mov eax, 0x487e84
cmp dword [ebp - 0x18], ebx
jne 0x405daa
mov eax, esi
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [edx + ecx + 1]
push ecx
push eax
push str._s_02X
push dword [ebp - 0x10]
call fcn.00403b0b
mov eax, dword [ebp - 0x1c]
movzx eax, byte [eax]
add esp, 0x10
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], eax
jb 0x405d9e
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
add dword [ebp - 0x1c], 0x1618
cmp eax, dword [ebp + 0x9e00]
jb 0x405d80
push str.Network_Speed
mov ecx, 0x4ab520
call fcn.00403c45
mov ecx, eax
push esi
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405e5f
mov eax, dword [ebp - 0x14]
add eax, 0xc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x34], ebx
je 0x405e2c
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
push dword [ebp - 0x1c]
call fcn.00404d21
push eax
mov eax, dword [ebp - 0x1c]
push dword [eax]
push str._u__sb_s
push dword [ebp - 0x10]
call fcn.00403b0b
add dword [ebp - 0x1c], 0x1618
add esp, 0x14
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 0x9e00]
jb 0x405e18
push str.Network_Type
mov ecx, 0x4ab520
call fcn.00403c45
push esi
mov ecx, eax
mov dword [ebp - 0x10], eax
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x405ff4
mov eax, dword [ebp - 0x14]
add eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
dec eax
cmp eax, 0x1f
ja case.default.0x405ea0
jmp dword [eax*4 + 0x406ccb]
mov esi, str.Other
jmp 0x405fb6
mov esi, str.Regular1822
jmp 0x405fb6
mov esi, str.HDH1822
jmp 0x405fb6
mov esi, str.ddn_x25
jmp 0x405fb6
mov esi, str.RFC877_x25
jmp 0x405fb6
mov esi, str.Ethernet
jmp 0x405fb6
mov esi, str.ISO88023_CSMACD
jmp 0x405fb6
mov esi, str.ISO88024_TokenBus
jmp 0x405fb6
mov esi, str.TokenRing
jmp 0x405fb6
mov esi, str.ISO88026_man
jmp 0x405fb6
mov esi, str.StarLan
jmp 0x405fb6
mov esi, str.Proteon_10Mbit
jmp 0x405fb6
mov esi, str.Proteon_80Mbit
jmp 0x405fb6
mov esi, str.HyperChannel
jmp 0x405fb6
mov esi, str.FDDI
jmp 0x405fb6
mov esi, str.LAPB
jmp 0x405fb6
mov esi, str.SDLC
jmp 0x405fb6
mov esi, str.ds1__T_1_
jmp 0x405fb6
mov esi, str.e1__T_1
jmp 0x405fb6
mov esi, str.BasicISDN
jmp 0x405fb6
mov esi, str.PrimaryISDN
jmp 0x405fb6
mov esi, str.PropPointToPointSerial
jmp 0x405fb6
mov esi, 0x487d3c
jmp 0x405fb6
mov esi, str.Loopback
jmp 0x405fb6
mov esi, str.EON__CLNP_over_IP_
jmp 0x405fb6
mov esi, str.Ethernet_3Mbit
jmp 0x405fb6
mov esi, str.NSIP__XNS_over_IP_
jmp 0x405fb6
mov esi, str.SLIP
jmp 0x405fb6
mov esi, str.ULTRA
jmp 0x405fb6
mov esi, str.ds3__T_3_
jmp 0x405fb6
mov esi, str.sip__SMDS_
jmp 0x405fb6
mov esi, str.Frame_Relay
jmp 0x405fb6
mov esi, str._unknown_
cmp dword [ebp - 0x34], ebx
je 0x405fca
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
push esi
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403b0b
add dword [ebp - 0x20], 0x1618
add esp, 0xc
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 0x9e00]
jb 0x405e91
mov esi, 0x4ab520
push str.DHCP_Server
mov ecx, esi
call fcn.00403c45
mov ecx, eax
push 0x485d1c
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x406066
mov eax, dword [ebp - 0x14]
add eax, 0xe6d
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x34], ebx
je 0x40603e
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
push dword [ebp - 0x20]
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403b0b
add dword [ebp - 0x20], 0x1618
add esp, 0xc
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 0x9e00]
jb 0x40602a
push str.DNS_Server
mov ecx, esi
call fcn.00403c45
mov ecx, eax
push 0x485d1c
mov dword [ebp - 0x10], ecx
call fcn.0040395a
mov dword [ebp - 0x34], ebx
cmp dword [ebp + 0x9e00], ebx
jbe 0x4060d3
mov eax, dword [ebp - 0x14]
add eax, 0xf71
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x34], ebx
je 0x4060ab
mov ecx, dword [ebp - 0x10]
push ebx
push edi
push 0x486544
call fcn.004039b3
push dword [ebp - 0x20]
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403b0b
add dword [ebp - 0x20], 0x1618
add esp, 0xc
inc dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp + 0x9e00]
jb 0x406097
push dword [ebp - 0x14]
call fcn.004191bf
mov ecx, esi
mov dword [esp], 0x487c9c
call fcn.00403c45
mov esi, eax
lea eax, [ebp + 0x9bac]
push eax
lea eax, [ebp + 0x87e4]
push eax
mov dword [ebp - 0x10], esi
call fcn.00404074
pop ecx
mov dword [ebp - 0x30], eax
dec eax
pop ecx
je 0x406131
dec eax
je 0x40612a
dec eax
dec eax
je 0x406123
push dword [ebp - 0x30]
push str._d_Core
push esi
call fcn.00403aac
add esp, 0xc
jmp 0x40613d
push str.Quad
jmp 0x406136
push str.Dual
jmp 0x406136
push 0x485d1c
mov ecx, esi
call fcn.0040395a
cmp byte [ebp + 0x9bac], bl
je 0x406168
push ebx
push edi
lea eax, [ebp + 0x9bac]
push eax
mov ecx, esi
call fcn.004039b3
push ebx
push edi
push 0x4881fc
mov ecx, esi
call fcn.004039b3
jmp 0x406276
lea eax, [ebp - 0x2c]
push eax
push 0x20019
push ebx
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x406276
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x14]
push eax
push ebx
push ebx
push 0x487c48
push dword [ebp - 0x2c]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x40626d
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x3de
jb 0x4061ed
mov dword [ebp - 0x44], ecx
fild dword [ebp - 0x44]
test ecx, ecx
jge 0x4061cf
fadd qword [0x487a10]
fdiv qword [0x487c40]
push ecx
push ecx
fstp qword [esp]
push str._.1f_GHz
push esi
call fcn.00403b0b
add esp, 0x10
jmp 0x40626d
push 0xa
xor edx, edx
pop esi
mov eax, ecx
div esi
mov edi, ecx
push 0x64
xor edx, edx
imul eax, eax, 0xa
sub edi, eax
mov eax, ecx
pop ecx
div ecx
push 0x21
pop ecx
mov eax, edx
xor edx, edx
div ecx
cmp edi, 5
mov dword [ebp - 0x44], edx
jl 0x406219
sub edi, esi
cmp edx, 0x10
jl 0x406224
sub edx, 0x21
mov dword [ebp - 0x44], edx
push edx
call fcn.00454364
push edi
mov esi, eax
call fcn.00454364
cmp eax, esi
pop ecx
pop ecx
jl 0x406251
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x44]
push 0x64
xor edx, edx
mov eax, ecx
pop esi
div esi
cmp edx, 0x63
je 0x406251
mov dword [ebp - 0x14], ecx
jmp 0x406254
sub dword [ebp - 0x14], edi
push dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
push str._d_MHz
push esi
call fcn.00403b0b
add esp, 0xc
mov edi, SysReAllocString
push dword [ebp - 0x2c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push edi
lea eax, [ebp + 0x87e4]
push eax
mov ecx, esi
call fcn.004039b3
push str.Memory
mov ecx, 0x4ab520
call fcn.00403c45
push str.GlobalMemoryStatusEx
push 0x487bfc
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov edi, eax
cmp edi, ebx
je 0x40630a
push 0x3c
lea eax, [ebp + 0x9db8]
push ebx
push eax
call fcn.0044f370
add esp, 0xc
lea eax, [ebp + 0x9db4]
push eax
mov dword [ebp + 0x9db4], 0x40
call edi
mov eax, dword [ebp + 0x9dbc]
mov ecx, dword [ebp + 0x9dc0]
add eax, 0xffc00
adc ecx, ebx
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push str._I64d_MB
push dword [ebp - 0x10]
call fcn.00403aac
add esp, 0x10
jmp 0x406341
push 7
pop ecx
xor eax, eax
lea edi, [ebp - 0x78]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x7c], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x74]
add eax, 0xffc00
shr eax, 0x14
push eax
push str._d_MB
push dword [ebp - 0x10]
call fcn.00403aac
add esp, 0xc
push str.Boot_Time
mov ecx, 0x4ab520
call fcn.00403c45
push str.OpenEventLogA
mov edi, str.ADVAPI32.DLL
push edi
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
push str.ReadEventLogA
push edi
mov dword [ebp - 0x44], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
push str.CloseEventLog
push edi
mov dword [ebp - 0x4c], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dword [ebp - 0x1c], eax
mov byte [ebp + 0x87e4], bl
cmp dword [ebp - 0x44], ebx
je 0x4064ae
cmp dword [ebp - 0x4c], ebx
je 0x4064ae
cmp eax, ebx
je 0x4064ae
push str.System
push ebx
call dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x20]
push ecx
push 0x8000
lea ecx, [ebp + 0x140]
push ecx
push ebx
push 9
mov dword [ebp - 0x44], eax
push eax
jmp 0x40643f
mov eax, dword [ebp - 0x20]
lea esi, [ebp + 0x140]
lea eax, [ebp + eax + 0x140]
mov ecx, esi
cmp ecx, eax
jae 0x406425
mov ecx, dword [esi + 0x14]
and ecx, 0xfffffff
lea eax, [esi + 0x38]
cmp ecx, 0x1779
jne 0x406415
push str.eventlog
push eax
call fcn.0044f215
pop ecx
pop ecx
test eax, eax
je 0x406448
mov eax, dword [ebp - 0x20]
add esi, dword [esi]
lea eax, [ebp + eax + 0x140]
cmp esi, eax
jb 0x4063f0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x20]
push eax
push 0x8000
lea eax, [ebp + 0x140]
push eax
push ebx
push 9
push dword [ebp - 0x44]
call dword [ebp - 0x4c]
test eax, eax
jne 0x4063da
jmp 0x40649c
mov eax, dword [esi + 0xc]
xor ecx, ecx
push ebx
add eax, 0xb6109100
push 0x989680
adc ecx, 2
push ecx
push eax
call fcn.00454760
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x4c], edx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp + 0x9df4]
push eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp + 0x9df4]
push eax
lea eax, [ebp + 0x87e4]
push eax
call fcn.00404d71
pop ecx
pop ecx
push dword [ebp - 0x44]
call dword [ebp - 0x1c]
cmp byte [ebp + 0x87e4], bl
jne 0x406536
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test eax, eax
je 0x4064dd
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x4064dd
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.004546b0
jmp 0x4064ec
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov esi, eax
lea eax, [ebp - 0x6c]
push eax
call edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push 0xffffffffffffffff
push 0xff676980
push ebx
push esi
call fcn.00454760
add dword [ebp - 0x48], eax
lea eax, [ebp - 0x6c]
push eax
adc dword [ebp - 0x44], edx
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x87e4]
push eax
call fcn.00404d71
pop ecx
pop ecx
lea eax, [ebp + 0x87e4]
push eax
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403aac
add esp, 0xc
push str.Snapshot_Time
mov ecx, 0x4ab520
call fcn.00403c45
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x8c]
push eax
call edi
mov edi, 0x104
push edi
lea eax, [ebp + 0x87e4]
push eax
push ebx
lea eax, [ebp - 0x8c]
push eax
push 1
mov esi, 0x400
push esi
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push edi
mov dword [ebp - 0x30], eax
lea eax, [ebp + eax + 0x87e4]
push eax
push ebx
mov byte [eax - 1], 0x20
lea eax, [ebp - 0x8c]
push eax
push 2
push esi
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
add dword [ebp - 0x30], eax
lea eax, [ebp + 0x87e4]
push eax
push 0x487ebc
push dword [ebp - 0x10]
call fcn.00403aac
add esp, 0xc
push str.IE_Version
mov ecx, 0x4ab520
call fcn.00403c45
mov dword [ebp - 0x10], eax
push 0x1000
lea eax, [ebp + 0x87e4]
push eax
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet_Explorer_svcVersion
call fcn.004048ec
add esp, 0xc
test al, al
jne 0x40661f
push 0x1000
lea eax, [ebp + 0x87e4]
push eax
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet_ExplorerVersion
call fcn.004048ec
add esp, 0xc
test al, al
jne 0x40661f
push str._none_
lea eax, [ebp + 0x87e4]
jmp 0x406676
lea eax, [ebp + 0x87e4]
push eax
call fcn.0044fc30
mov ecx, 0x1000
sub ecx, eax
mov dword [ebp - 0x44], eax
push ecx
lea eax, [ebp + 0x9bac]
push eax
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet_SettingsMinorVersion
call fcn.004048ec
lea eax, [ebp + 0x9bac]
push 0x487a80
push eax
call fcn.004543a0
add esp, 0x18
test eax, eax
jne 0x406665
mov byte [ebp + 0x9bac], bl
lea eax, [ebp + 0x9bac]
push eax
mov eax, dword [ebp - 0x44]
lea eax, [ebp + eax + 0x87e4]
push eax
call fcn.0044fb30
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
lea eax, [ebp + 0x87e4]
push eax
call fcn.0040395a
push str.Volumes
mov ecx, 0x4ab520
call fcn.00403c45
push str.Free_Space
mov ecx, 0x4ab520
mov dword [ebp - 0x10], eax
call fcn.00403c45
lea eax, [ebp + 0x9bac]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
cmp byte [ebp + 0x9bac], bl
lea eax, [ebp + 0x9bac]
jmp 0x40690b
push dword [ebp - 0x14]
call fcn.00454642
pop ecx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x4068fd
push 0x103
lea eax, [ebp + 0x3d]
push ebx
push eax
mov byte [ebp + 0x3c], bl
call fcn.0044f370
add esp, 0xc
push 1
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push edi
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0x44]
push eax
push eax
push eax
push ebx
push ebx
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push str.GetDiskFreeSpaceExA
push 0x487bfc
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
cmp ecx, ebx
je 0x40678b
xor eax, eax
mov dword [ebp - 0x64], ebx
lea edi, [ebp - 0x60]
stosd dword es:[edi], eax
mov dword [ebp + 0x9dfc], ebx
lea edi, [ebp + 0x9e00]
stosd dword es:[edi], eax
mov dword [ebp - 0x38], ebx
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x9dfc]
push eax
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x14]
call ecx
fild qword [ebp + 0x9dfc]
mov dword [ebp - 0x18], eax
mov edi, 0x104
fstp qword [ebp - 0x50]
fild qword [ebp - 0x38]
jmp 0x4067fc
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
fild dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jge 0x4067c3
fadd qword [0x487a10]
mov eax, dword [ebp - 0x4c]
fild dword [ebp - 0x4c]
test eax, eax
jge 0x4067d3
fadd qword [0x487a10]
mov eax, dword [ebp - 0x28]
fmulp st(1)
fild dword [ebp - 0x28]
test eax, eax
jge 0x4067e5
fadd qword [0x487a10]
mov eax, dword [ebp - 0x1c]
fmul st(1)
fstp qword [ebp - 0x50]
fild dword [ebp - 0x1c]
test eax, eax
jge 0x4067fa
fadd qword [0x487a10]
fmulp st(1)
mov eax, dword [ebp - 0x10]
fstp qword [ebp - 0x24]
push dword [eax]
call fcn.0044fc30
pop ecx
test eax, eax
je 0x406837
mov ecx, dword [ebp - 0x10]
push ebx
push SysReAllocString
push 0x486544
call fcn.004039b3
mov ecx, dword [ebp - 0x10]
push ebx
push SysReAllocString
push 0x486544
add ecx, 8
call fcn.004039b3
cmp dword [ebp - 0x18], ebx
je 0x4068d6
fld qword [ebp - 0x50]
push esi
push 2
push ecx
push ecx
lea eax, [ebp + 0x9dd4]
fstp qword [esp]
push eax
call fcn.00404c7f
add esp, 0x14
mov ecx, 0x487a54
cmp byte [eax], bl
jne 0x406868
mov ecx, str.bytes
lea edx, [ebp + 0x3c]
push edx
push ecx
push eax
lea eax, [ebp + 0x9dd4]
push eax
push dword [ebp - 0x14]
push str._s__s__s_s__s
push dword [ebp - 0x10]
call fcn.00403b0b
fld qword [ebp - 0x24]
add esp, 0x1c
push esi
push 2
push ecx
push ecx
lea eax, [ebp + 0x9dd4]
fstp qword [esp]
push eax
call fcn.00404c7f
add esp, 0x14
mov ecx, 0x487a54
cmp byte [eax], bl
jne 0x4068b0
mov ecx, str.bytes
lea edx, [ebp + 0x3c]
push edx
push ecx
push eax
lea eax, [ebp + 0x9dd4]
push eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
add eax, 8
push str._s__s__s_s__s
push eax
call fcn.00403b0b
add esp, 0x1c
jmp 0x4068fd
push dword [ebp - 0x14]
push str._s__unrecognized_
push dword [ebp - 0x10]
call fcn.00403b0b
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
add eax, 8
push str._s__unrecognized_
push eax
call fcn.00403b0b
add esp, 0x18
push ebx
push dword [ebp - 0x14]
call fcn.0044ed90
pop ecx
inc eax
cmp byte [eax], bl
pop ecx
mov dword [ebp - 0x14], eax
jne 0x4066cd
mov dword [ebp - 0x14], ebx
push ebx
jmp 0x406c8c
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
movsx ecx, byte [eax]
sub ecx, 0x30
sub ecx, ebx
je 0x406c3c
dec ecx
je 0x406bda
dec ecx
je 0x406b56
dec ecx
je 0x406b24
dec ecx
je 0x406a68
dec ecx
je 0x4069c1
dec ecx
jne 0x406c86
lea ecx, [ebp - 0x51]
push ecx
push 0x486544
inc eax
push eax
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x4ad760
mov byte [ebp - 0x51], bl
call fcn.00417626
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], 1
cmp ecx, ebx
je 0x406988
call fcn.0040109f
jmp 0x40698a
xor eax, eax
push 0xfff
push eax
lea eax, [ebp + 0x87e4]
push eax
call fcn.00454240
mov ecx, dword [ebp - 0x4c]
or dword [ebp - 4], 0xffffffff
add esp, 0xc
mov byte [ebp + 0x97e3], bl
cmp ecx, ebx
je 0x406c69
call fcn.00401e2b
mov dword [ebp - 0x4c], ebx
jmp 0x406c69
push edi
lea ecx, [ebp + 0x9cb0]
push ecx
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push 0x13c
lea eax, [ebp + 4]
push ebx
push eax
mov dword [ebp], ebx
call fcn.0044f370
add esp, 0xc
lea eax, [ebp]
push eax
lea eax, [ebp + 0x9cb0]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x406c56
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push edi
lea eax, [ebp + 0x87e4]
push eax
push ebx
lea eax, [ebp - 0x40]
push eax
push 1
push esi
call dword [sym.imp.KERNEL32.dll_GetDateFormatA]
push edi
mov dword [ebp - 0x30], eax
mov byte [ebp + eax + 0x87e3], 0x20
lea eax, [ebp + eax + 0x87e4]
push eax
push ebx
lea eax, [ebp - 0x40]
push eax
push 2
push esi
call dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
push dword [ebp - 0x28]
add dword [ebp - 0x30], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x406c69
push edi
lea ecx, [ebp + 0x9cb0]
push ecx
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
lea eax, [ebp + 0x9cb0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x28], eax
cmp eax, 0xffffffff
je 0x406c56
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x20], eax
inc eax
push eax
call fcn.00419190
pop ecx
push ebx
lea ecx, [ebp - 0x20]
push ecx
push dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
push eax
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
push dword [ebp - 0x28]
mov byte [ecx + eax], bl
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
push dword [eax]
lea eax, [ebp - 0x44]
push dword [ebp - 0x5c]
push eax
call fcn.00416b04
push dword [ebp - 0x18]
mov dword [ebp - 4], ebx
call fcn.004191bf
push 0xfff
push dword [ebp - 0x44]
lea eax, [ebp + 0x87e4]
push eax
call fcn.00454240
push dword [ebp - 0x44]
or dword [ebp - 4], 0xffffffff
mov byte [ebp + 0x97e3], bl
call fcn.00450445
add esp, 0x24
jmp 0x406c69
lea eax, [ebp + 0x87e4]
push str._none_
push eax
call fcn.0044fb30
pop ecx
pop ecx
push 0x1000
lea eax, [ebp + 0x87e4]
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
jmp 0x406c69
push edi
lea ecx, [ebp + 0x9cb0]
push ecx
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
lea eax, [ebp + 0x9cb0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x18], eax
cmp eax, 0xffffffff
je 0x406c56
push ebx
lea eax, [ebp - 0x28]
push eax
push 0xfff
lea eax, [ebp + 0x87e4]
push eax
push dword [ebp - 0x18]
mov dword [ebp - 0x28], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax + 0x87e4], bl
cmp eax, 0xfff
jne 0x406bcc
lea eax, [ebp + 0x97e0]
push 0x487a24
push eax
call fcn.0044fb30
pop ecx
pop ecx
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x406c69
push edi
lea ecx, [ebp + 0x9cb0]
push ecx
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
push ebx
push ebx
lea eax, [ebp + 0x9dfc]
push eax
lea eax, [ebp + 0x9cb0]
push eax
call fcn.00403cc0
add esp, 0x10
test al, al
je 0x406c56
movzx eax, word [ebp + 0x9e02]
push eax
movzx eax, word [ebp + 0x9e00]
push eax
movzx eax, word [ebp + 0x9dfe]
push eax
movzx eax, word [ebp + 0x9dfc]
push eax
lea eax, [ebp + 0x87e4]
push 0x487a18
push eax
call fcn.0044f3ea
add esp, 0x18
jmp 0x406c69
push 0x1000
lea ecx, [ebp + 0x87e4]
push ecx
inc eax
push eax
call fcn.004048ec
add esp, 0xc
test al, al
jne 0x406c69
lea eax, [ebp + 0x87e4]
push str._none_
push eax
call fcn.0044fb30
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov ecx, 0x4ab520
call fcn.00403c45
lea ecx, [ebp + 0x87e4]
push ecx
mov ecx, eax
call fcn.0040395a
inc dword [ebp - 0x14]
push dword [ebp - 0x14]
mov ecx, dword [0x4ad774]
add ecx, 0x354
call fcn.00403c93
mov dword [ebp - 0x1c], eax
cmp eax, ebx
jne 0x40691d
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x9e04]
xor ecx, ebp
call fcn.0044f35b
add ebp, 0x9e08
leave
ret