Function at 0x44c3eb
Capabilities:
Check if file exists
Check os version

Disassembly:
push 0x22c
mov eax, 0x46cc74
call fcn.00462d75
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
xor ebx, ebx
mov dword [ebp - 4], ebx
push edi
push ecx
lea eax, [ebp - 0x238]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0xf
pop edi
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 1
mov dword [ebp - 0x6c], edi
push 0xc
mov edi, str.diskid32.cpp
push edi
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x80], bl
call fcn.00403e19
mov byte [ebp - 4], 2
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x357
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x80]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 1
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00403eaf
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
push 0x4768d8
push 0x400
push 0x48ec08
mov dword [ebp - 0x19c], ebx
call fcn.004512b6
add esp, 0xc
push 0x114
lea eax, [ebp - 0x198]
push ebx
push eax
call fcn.004556a0
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
mov dword [ebp - 0x198], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x188], 2
jne 0x44ca27
call esi
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 4
push dword [ebp - 0x19c]
lea eax, [ebp - 0x238]
push ecx
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x80], bl
call fcn.00403e19
mov byte [ebp - 4], 5
push 0xc
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 6
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x80]
push eax
push 0x362
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x2c]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 6
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 5
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
mov byte [ebp - 4], 4
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
call fcn.0044bb33
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 8
push dword [ebp - 0x1a0]
push ecx
lea eax, [ebp - 0x238]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 9
push 0xc
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x48]
push eax
push 0x364
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x2c]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xa
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 9
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
mov byte [ebp - 4], 8
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
cmp dword [ebp - 0x19c], ebx
jne 0x44c735
call fcn.0044c29b
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 0xc
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0xd
push 0xc
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x367
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0xe
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 0xd
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 0xc
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
cmp dword [ebp - 0x19c], ebx
jne 0x44c837
call fcn.0044bf2f
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 0x10
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0x11
push 0xc
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x36a
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0x12
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 0x11
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 0x10
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
cmp dword [ebp - 0x19c], ebx
jne 0x44c933
call fcn.0044bcba
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 0x14
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0x15
push 0xc
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x36d
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0x16
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 0x15
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 0x14
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
jmp 0x44cb3b
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 0x18
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0x19
push 0xc
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x371
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0x1a
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 0x19
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 0x18
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
cmp dword [ebp - 0x19c], 0
jne 0x44cb39
cmp byte [0x48ec08], 0
jne 0x44cb39
call fcn.0044c185
inc ebx
mov dword [ebp - 0x19c], eax
cmp ebx, 0xa
jl 0x44cb16
xor ebx, ebx
call esi
mov esi, eax
lea eax, [ebp - 0x238]
push eax
call fcn.00403575
mov dword [ebp - 4], 0x1c
push esi
push ecx
lea eax, [ebp - 0x238]
push 0x4768dc
push eax
call fcn.0040667a
add esp, 0xc
push eax
call fcn.004027f8
push 0xf
pop esi
push 0x16
push str.GetHardDriveComputerID
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
call fcn.00403e19
mov byte [ebp - 4], 0x1d
push 0xc
push edi
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.00403e19
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00403624
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x378
push 2
call fcn.00439dc3
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.00439e02
mov byte [ebp - 4], 0x1e
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x64]
call fcn.00403eaf
mov byte [ebp - 4], 0x1d
push esi
push 1
lea ecx, [ebp - 0x48]
call fcn.00403eaf
mov byte [ebp - 4], 0x1c
push esi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00403eaf
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.004035e1
lea ecx, [ebp - 0x1e8]
call fcn.00402925
mov eax, 0x48ec08
call fcn.00462df8
ret