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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x4eb664]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov esi, 0x4eb630
push esi
lea ecx, [ebp - 0x660]
mov dword [ebp - 0x66c], eax
call fcn.004044ee
xor ebx, ebx
push ebx
call fcn.0049297d
push eax
call fcn.00499a03
call fcn.004999e0
push eax
lea eax, [ebp - 0x660]
push str._05ld
push eax
call fcn.0041e420
add esp, 0x14
lea eax, [ebp - 0x548]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
push 0x103
lea eax, [ebp - 0x32f]
push ebx
push eax
mov byte [ebp - 0x330], bl
call fcn.004921d0
add esp, 0xc
mov edx, 0x4c81c0
lea edi, [ebp - 0x548]
mov ecx, ebx
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x487817
inc ecx
cmp ecx, 4
jne 0x487807
jmp 0x487881
movzx eax, byte [ebp - 0x539]
push eax
movzx eax, byte [ebp - 0x53a]
push eax
movzx eax, byte [ebp - 0x53b]
push eax
movzx eax, byte [ebp - 0x53c]
push eax
movzx eax, byte [ebp - 0x53d]
push eax
movzx eax, byte [ebp - 0x53e]
push eax
movzx eax, byte [ebp - 0x53f]
push eax
movzx eax, byte [ebp - 0x540]
push eax
movzx eax, word [ebp - 0x542]
push eax
movzx eax, word [ebp - 0x544]
push eax
push dword [ebp - 0x548]
lea eax, [ebp - 0x330]
push str._08lX_04X_04x_02X_02X_02X_02X_02X_02X_02X_02X
push eax
call fcn.00493282
add esp, 0x34
lea eax, [ebp - 0x658]
mov dword [ebp - 0x65c], eax
push 3
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x65c]
call fcn.00409303
push dword [ebp - 0x65c]
call fcn.0040481a
pop ecx
push eax
push dword [ebp - 0x65c]
lea ecx, [ebp - 0x660]
call fcn.0041e1c3
lea eax, [ebp - 0x658]
cmp dword [ebp - 0x65c], eax
je 0x4878d9
push dword [ebp - 0x65c]
call fcn.0048f255
pop ecx
lea eax, [ebp - 0x558]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push esi
lea ecx, [ebp - 0x668]
call fcn.004044ee
movzx eax, word [ebp - 0x556]
push eax
movzx eax, word [ebp - 0x54c]
push eax
movzx eax, word [ebp - 0x550]
push eax
movzx eax, word [ebp - 0x558]
push eax
movzx eax, word [ebp - 0x552]
push eax
movzx eax, word [ebp - 0x54e]
push eax
movzx eax, word [ebp - 0x54a]
push eax
lea eax, [ebp - 0x668]
push str._03d_02d_02d_04d_02d_02d_02d
push eax
call fcn.00404994
mov eax, dword [ebp - 0x668]
add esp, 0x24
push dword [eax - 0xc]
lea ecx, [ebp - 0x660]
push eax
call fcn.0041e1c3
lea eax, [ebp - 0x127]
push 0x103
push ebx
push eax
mov byte [ebp - 0x128], bl
call fcn.004921d0
add esp, 0xc
lea eax, [ebp - 0x670]
push eax
lea eax, [ebp - 0x128]
push eax
mov dword [ebp - 0x670], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
push 7
mov byte [ebp - 0x24], bl
xor eax, eax
pop ecx
lea edi, [ebp - 0x23]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x128]
stosb byte es:[edi], al
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4879a5
sub ecx, edx
push ecx
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00401000
add esp, 0xc
lea ecx, [ebp - 0x664]
push esi
call fcn.004044ee
mov esi, ebx
mov edi, 0x4bdb28
movzx eax, byte [ebp + esi - 0x24]
push eax
lea eax, [ebp - 0x664]
push edi
push eax
call fcn.0041e420
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x4879d5
mov eax, dword [ebp - 0x664]
lea ecx, [ebp - 0x660]
push dword [eax - 0xc]
push eax
call fcn.0041e1c3
xor eax, eax
push 0x206
mov word [ebp - 0x538], ax
lea eax, [ebp - 0x536]
push ebx
push eax
call fcn.004921d0
add esp, 0xc
lea eax, [ebp - 0x538]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x678]
push eax
push ebx
push ebx
lea eax, [ebp - 0x538]
push eax
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x674], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
push dword [ebp - 0x678]
lea eax, [ebp - 0x660]
push str._010lu
push eax
call fcn.0041e420
push 0x103
lea eax, [ebp - 0x22b]
push ebx
push eax
mov byte [ebp - 0x22c], bl
call fcn.004921d0
mov esi, dword [ebp - 0x660]
add esp, 0x18
lea eax, [ebp - 0x5d8]
push 3
push esi
lea ecx, [ebp - 0x5dc]
mov dword [ebp - 0x5dc], eax
call fcn.004045ee
push dword [ebp - 0x5dc]
lea eax, [ebp - 0x22c]
push 0x104
push eax
call fcn.00499a13
lea eax, [ebp - 0x5d8]
add esp, 0xc
cmp dword [ebp - 0x5dc], eax
je 0x487ade
push dword [ebp - 0x5dc]
call fcn.0048f255
pop ecx
lea ecx, [ebp - 0x22c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487ae7
sub ecx, edx
push ecx
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00401000
add esp, 0xc
lea ecx, [ebp - 0x664]
call fcn.00404ec4
movzx eax, byte [ebp + ebx - 0x24]
push eax
lea eax, [ebp - 0x664]
push edi
push eax
call fcn.0041e420
add esp, 0xc
inc ebx
cmp ebx, 0x10
jl 0x487b0f
mov edi, dword [ebp - 0x664]
add edi, 0xfffffff0
push edi
call fcn.00406c4d
mov ebx, dword [ebp - 0x66c]
pop ecx
add eax, 0x10
mov ecx, edi
mov dword [ebx], eax
call fcn.00404f8d
mov ecx, dword [ebp - 0x668]
add ecx, 0xfffffff0
call fcn.00404f8d
lea ecx, [esi - 0x10]
call fcn.00404f8d
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0048f059
leave
ret