Function at 0x10005351
Capabilities:
Check os version
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ac
push ebx
push esi
push edi
and byte [ebp - 0x10], 0
xor eax, eax
lea edi, [ebp - 0xf]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and dword [ebp - 0x14], 0
mov eax, 0
cpuid
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, 1
cpuid
mov dword [ebp - 0x14], edx
mov byte [ebp - 0x2ac], 0x61
mov byte [ebp - 0xb4], 0x1a
cmp dword [ebp - 0x14], 0
je 0x1000558c
movzx ecx, byte [ebp - 0xb4]
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
add edx, eax
push edx
mov ecx, 0x100119e8
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
dec ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 1]
push eax
mov ecx, 0x100119e8
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
dec ecx
dec ecx
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 2]
push eax
mov ecx, 0x100119e8
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 3
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 3]
push eax
mov ecx, 0x100119e8
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 4
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 4]
push eax
mov ecx, 0x100119e8
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 5
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 5]
push eax
mov ecx, 0x100119e8
call fcn.10001811
push 0x10010af8
mov ecx, 0x100119e8
call fcn.100017f8
movzx ecx, byte [ebp - 0xb4]
sub ecx, 6
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 5]
push eax
mov ecx, 0x100119e0
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 7
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 6]
push eax
mov ecx, 0x100119e0
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 8
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 7]
push eax
mov ecx, 0x100119e0
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 9
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 8]
push eax
mov ecx, 0x100119e0
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 0xa
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 9]
push eax
mov ecx, 0x100119e0
call fcn.10001811
movzx ecx, byte [ebp - 0xb4]
sub ecx, 0xb
mov eax, dword [ebp - 0x14]
xor edx, edx
div ecx
movzx eax, byte [ebp - 0x2ac]
lea eax, [edx + eax + 0xa]
push eax
mov ecx, 0x100119e0
call fcn.10001811
push 0x10010b00
mov ecx, 0x100119e0
call fcn.100017f8
push 0x10010b08
mov ecx, 0x100119f0
call fcn.10001581
push 0x10010b0c
mov ecx, 0x100119f0
call fcn.100017f8
push 0x10010b10
mov ecx, 0x100119f0
call fcn.100017f8
push 0x10010b18
mov ecx, 0x100119d8
call fcn.10001581
push 0x10010b1c
mov ecx, 0x100119d8
call fcn.100017f8
push str..dll
mov ecx, 0x100119d8
call fcn.100017f8
push 0x1f4
lea eax, [ebp - 0x2a8]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [ebp - 0x2a8]
push eax
mov ecx, 0x10011a20
call fcn.10001581
push 0x5c
mov ecx, 0x10011a20
call fcn.10001811
push str.c:RE
mov ecx, 0x100119c0
call fcn.10001581
push 0x10010b30
mov ecx, 0x100119c0
call fcn.100017f8
push str.led_
mov ecx, 0x100119c0
call fcn.100017f8
push 0x9c
push 0
lea eax, [ebp - 0xb0]
push eax
call fcn.10006f60
add esp, 0xc
mov dword [ebp - 0xb0], 0x9c
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x1000568a
mov dword [ebp - 0xb0], 0x94
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0xac], 6
jb 0x100056c0
push str.c:_Re
mov ecx, 0x100119c0
call fcn.10001581
push 0x10010b44
mov ecx, 0x100119c0
call fcn.100017f8
push str.le.bin_
mov ecx, 0x100119c0
call fcn.100017f8
pop edi
pop esi
pop ebx
leave
ret