Function at 0x5a1d80
Capabilities:
Get common file path
Get disk size
Get hostname

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e08e8
mov eax, dword fs:[0]
push eax
sub esp, 0x740
mov eax, dword [0x676580]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x264]
call fcn.00403290
mov dword [ebp - 4], 0
push 0
call fcn.005a1d10
add esp, 4
push eax
call fcn.005275a1
add esp, 4
call fcn.005275ae
push eax
push str._05ld
lea eax, [ebp - 0x264]
push eax
call fcn.0042ac70
add esp, 0xc
lea ecx, [ebp - 0x250]
push ecx
call dword [sym.imp.ole32.dll_CoCreateGuid]
mov byte [ebp - 0x47c], 0
push 0x103
push 0
lea edx, [ebp - 0x47b]
push edx
call fcn.00524800
add esp, 0xc
lea eax, [ebp - 0x250]
push eax
push 0x5fbdfc
call fcn.0049c6a0
add esp, 8
test eax, eax
je 0x5a1e97
movzx ecx, byte [ebp - 0x241]
push ecx
movzx edx, byte [ebp - 0x242]
push edx
movzx eax, byte [ebp - 0x243]
push eax
movzx ecx, byte [ebp - 0x244]
push ecx
movzx edx, byte [ebp - 0x245]
push edx
movzx eax, byte [ebp - 0x246]
push eax
movzx ecx, byte [ebp - 0x247]
push ecx
movzx edx, byte [ebp - 0x248]
push edx
movzx eax, word [ebp - 0x24a]
push eax
movzx ecx, word [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0x250]
push edx
push str._08lX_04X_04x_02X_02X_02X_02X_02X_02X_02X_02X
lea eax, [ebp - 0x47c]
push eax
call fcn.0049c670
add esp, 0x34
lea ecx, [ebp - 0x47c]
push ecx
lea ecx, [ebp - 0x6b8]
call fcn.0046fc70
mov dword [ebp - 0x744], eax
mov edx, dword [ebp - 0x744]
mov dword [ebp - 0x748], edx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x748]
call fcn.00493020
push eax
lea ecx, [ebp - 0x264]
call fcn.004972f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x6b8]
call fcn.0040e6c0
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea ecx, [ebp - 0x10]
call fcn.00403290
mov byte [ebp - 4], 2
movzx ecx, word [ebp - 0x25e]
push ecx
movzx edx, word [ebp - 0x254]
push edx
movzx eax, word [ebp - 0x258]
push eax
movzx ecx, word [ebp - 0x260]
push ecx
movzx edx, word [ebp - 0x25a]
push edx
movzx eax, word [ebp - 0x256]
push eax
movzx ecx, word [ebp - 0x252]
push ecx
push str._03d_02d_02d_04d_02d_02d_02d
lea edx, [ebp - 0x10]
push edx
call fcn.00403240
add esp, 0x24
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x264]
call fcn.00454f00
mov byte [ebp - 0x5ac], 0
push 0x103
push 0
lea ecx, [ebp - 0x5ab]
push ecx
call fcn.00524800
add esp, 0xc
mov dword [ebp - 0x240], 0x104
lea edx, [ebp - 0x240]
push edx
lea eax, [ebp - 0x5ac]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov byte [ebp - 0x23c], 0
xor ecx, ecx
mov dword [ebp - 0x23b], ecx
mov dword [ebp - 0x237], ecx
mov dword [ebp - 0x233], ecx
mov dword [ebp - 0x22f], ecx
mov dword [ebp - 0x22b], ecx
mov dword [ebp - 0x227], ecx
mov dword [ebp - 0x223], ecx
mov word [ebp - 0x21f], cx
mov byte [ebp - 0x21d], cl
lea edx, [ebp - 0x5ac]
push edx
call fcn.005235f0
add esp, 4
push eax
lea eax, [ebp - 0x5ac]
push eax
lea ecx, [ebp - 0x23c]
push ecx
call fcn.005a10a0
add esp, 0xc
lea ecx, [ebp - 0x4a0]
call fcn.00403290
mov byte [ebp - 4], 3
mov dword [ebp - 0x5b0], 0
jmp 0x5a2021
mov edx, dword [ebp - 0x5b0]
add edx, 1
mov dword [ebp - 0x5b0], edx
cmp dword [ebp - 0x5b0], 0x10
jge 0x5a204f
mov eax, dword [ebp - 0x5b0]
movzx ecx, byte [ebp + eax - 0x23c]
push ecx
push 0x6274f4
lea edx, [ebp - 0x4a0]
push edx
call fcn.0042ac70
add esp, 0xc
jmp 0x5a2012
lea eax, [ebp - 0x4a0]
push eax
lea ecx, [ebp - 0x264]
call fcn.00454f00
mov word [ebp - 0x21c], 0
push 0x206
push 0
lea ecx, [ebp - 0x21a]
push ecx
call fcn.00524800
add esp, 0xc
push 0x104
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x26c], 0
xor eax, eax
mov dword [ebp - 0x268], eax
lea ecx, [ebp - 0x26c]
push ecx
push 0
push 0
lea edx, [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
mov eax, dword [ebp - 0x26c]
push eax
push str._010lu
lea ecx, [ebp - 0x264]
push ecx
call fcn.0042ac70
add esp, 0xc
mov byte [ebp - 0x374], 0
push 0x103
push 0
lea edx, [ebp - 0x373]
push edx
call fcn.00524800
add esp, 0xc
lea ecx, [ebp - 0x264]
call fcn.00493020
push eax
lea ecx, [ebp - 0x73c]
call fcn.00478a90
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x74c]
call fcn.00493020
push eax
push 0x104
lea eax, [ebp - 0x374]
push eax
call fcn.00529f4f
add esp, 0xc
lea ecx, [ebp - 0x73c]
call fcn.0040e6c0
mov byte [ebp - 0x49c], 0
xor ecx, ecx
mov dword [ebp - 0x49b], ecx
mov dword [ebp - 0x497], ecx
mov dword [ebp - 0x493], ecx
mov dword [ebp - 0x48f], ecx
mov dword [ebp - 0x48b], ecx
mov dword [ebp - 0x487], ecx
mov dword [ebp - 0x483], ecx
mov word [ebp - 0x47f], cx
mov byte [ebp - 0x47d], cl
lea edx, [ebp - 0x374]
push edx
call fcn.005235f0
add esp, 4
push eax
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x23c]
push ecx
call fcn.005a10a0
add esp, 0xc
lea ecx, [ebp - 0x4a0]
call fcn.0040b2e0
mov dword [ebp - 0x5b4], 0
jmp 0x5a21c8
mov edx, dword [ebp - 0x5b4]
add edx, 1
mov dword [ebp - 0x5b4], edx
cmp dword [ebp - 0x5b4], 0x10
jge 0x5a21f6
mov eax, dword [ebp - 0x5b4]
movzx ecx, byte [ebp + eax - 0x23c]
push ecx
push 0x627510
lea edx, [ebp - 0x4a0]
push edx
call fcn.0042ac70
add esp, 0xc
jmp 0x5a21b9
lea eax, [ebp - 0x4a0]
push eax
mov ecx, dword [ebp + 8]
call fcn.0040ca60
mov dword [ebp - 0x740], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4a0]
call fcn.00403270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00403270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x264]
call fcn.00403270
mov eax, dword [ebp - 0x740]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005236f2
mov esp, ebp
pop ebp
ret