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

Disassembly:
push 0x22c
mov eax, 0x44f783
call fcn.00435c39
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
mov edi, eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
xor ebx, ebx
mov dword [ebp - 4], ebx
push edi
push ecx
lea eax, [ebp - 0x238]
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 2
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x357
push 2
call fcn.004109b9
lea ecx, [ebp - 0x80]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 2
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 1
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00407e53
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
push 0x4563d5
push 0x400
push 0x465cc8
mov dword [ebp - 0x19c], ebx
call fcn.00432a86
add esp, 0xc
push 0x114
lea eax, [ebp - 0x198]
push ebx
push eax
call fcn.004317b0
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 0x428025
call esi
mov dword [ebp - 0x19c], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 4
push dword [ebp - 0x19c]
lea eax, [ebp - 0x238]
push ecx
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 6
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x80]
push eax
push 0x362
push 2
call fcn.004109b9
lea ecx, [ebp - 0x2c]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 6
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 5
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
mov byte [ebp - 4], 4
push ebx
push 1
lea ecx, [ebp - 0x80]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
call fcn.00427131
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 8
push dword [ebp - 0x1a0]
push ecx
lea eax, [ebp - 0x238]
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x48]
push eax
push 0x364
push 2
call fcn.004109b9
lea ecx, [ebp - 0x2c]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0xa
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 9
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
mov byte [ebp - 4], 8
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
cmp dword [ebp - 0x19c], ebx
jne 0x427d33
call fcn.00427899
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 0xc
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x367
push 2
call fcn.004109b9
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0xe
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 0xd
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 0xc
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
cmp dword [ebp - 0x19c], ebx
jne 0x427e35
call fcn.0042752d
mov dword [ebp - 0x19c], eax
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 0x10
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0x13
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x36a
push 2
call fcn.004109b9
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0x12
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 0x11
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 0x10
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
cmp dword [ebp - 0x19c], ebx
jne 0x427f31
call fcn.004272b8
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 0x14
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0x16
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x36d
push 2
call fcn.004109b9
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0x16
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 0x15
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 0x14
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
jmp 0x428139
call esi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 0x18
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x238]
push ecx
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x371
push 2
call fcn.004109b9
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0x1a
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 0x19
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 0x18
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
cmp dword [ebp - 0x19c], 0
jne 0x428137
cmp byte [0x465cc8], 0
jne 0x428137
call fcn.00427783
inc ebx
mov dword [ebp - 0x19c], eax
cmp ebx, 0xa
jl 0x428114
xor ebx, ebx
call esi
mov esi, eax
lea eax, [ebp - 0x238]
push eax
call fcn.00404d15
mov dword [ebp - 4], 0x1c
push esi
push ecx
lea eax, [ebp - 0x238]
push 0x45665c
push eax
call fcn.0040616a
add esp, 0xc
push eax
call fcn.004096fb
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.00407efb
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.00407efb
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x238]
call fcn.00404dc4
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x378
push 2
call fcn.004109b9
lea ecx, [ebp - 0x48]
mov ebx, eax
call fcn.004109f8
mov byte [ebp - 4], 0x1e
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x64]
call fcn.00407e53
mov byte [ebp - 4], 0x1d
push esi
push 1
lea ecx, [ebp - 0x48]
call fcn.00407e53
mov byte [ebp - 4], 0x1c
push esi
push 1
lea ecx, [ebp - 0x2c]
call fcn.00407e53
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e8]
call fcn.00404d81
lea ecx, [ebp - 0x1e8]
call fcn.00407b8a
mov eax, 0x465cc8
call fcn.00435cbc
ret