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

Disassembly:
jmp 0x1000ad60
sub esp, 0x40c
mov eax, dword [0x10061404]
xor eax, esp
mov dword [esp + 0x408], eax
push ebx
lea eax, [esp + 4]
xor ebx, ebx
push eax
mov dword [0x100700b8], ebx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx ecx, word [esp + 0x10]
movzx edx, word [esp + 0xe]
movzx eax, word [esp + 0xc]
push ecx
movzx ecx, word [esp + 8]
push edx
movzx edx, word [esp + 0x12]
push eax
movzx eax, word [esp + 0x12]
push ecx
mov ecx, dword [eax*4 + 0x10061324]
push edx
movzx edx, word [esp + 0x1c]
mov eax, dword [edx*4 + 0x10061308]
push ecx
push eax
push str.Log_started_on__s__s__u___u_at__u:_02u:_02u_n
push ebx
call fcn.10001433
push str.Operating_System:_Unknown_OS_Version_Info_
lea ecx, [esp + 0x330]
push 0x104
push ecx
call fcn.10013fad
push 0x9c
lea edx, [esp + 0x48]
push ebx
push edx
call fcn.10015170
add esp, 0x3c
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x18], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x1000af65
push str.Operating_System:_Windows
lea ecx, [esp + 0x30c]
push 0x104
push ecx
call fcn.10013fad
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, 3
jne 0x1000ae4c
mov edx, dword [str.NT_3.51]
push edx
push 0x104
lea eax, [esp + 0x310]
push eax
jmp 0x1000af31
cmp eax, 4
jne 0x1000aea3
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x1000ae64
mov ecx, dword [str.95_NT4]
jmp 0x1000af23
cmp eax, 0xa
jne 0x1000ae81
mov eax, dword [0x10061360]
push eax
push 0x104
lea ecx, [esp + 0x310]
push ecx
jmp 0x1000af31
cmp eax, 0x5a
jne 0x1000af1d
mov edx, dword [0x10061364]
push edx
push 0x104
lea eax, [esp + 0x310]
push eax
jmp 0x1000af31
cmp eax, 5
jne 0x1000af02
mov eax, dword [esp + 0x1c]
cmp eax, ebx
jne 0x1000aec5
mov eax, dword [str.2000]
push eax
push 0x104
lea ecx, [esp + 0x310]
push ecx
jmp 0x1000af31
cmp eax, 1
jne 0x1000aee0
mov edx, dword [0x10061374]
push edx
push 0x104
lea eax, [esp + 0x310]
push eax
jmp 0x1000af31
cmp eax, 2
jne 0x1000aeed
mov ecx, dword [str.Server_2003_Family]
jmp 0x1000af23
mov eax, dword [str.UNKNOWN]
push eax
push 0x104
lea ecx, [esp + 0x310]
push ecx
jmp 0x1000af31
cmp eax, 6
jne 0x1000af1d
mov edx, dword [str.Vista]
push edx
push 0x104
lea eax, [esp + 0x310]
push eax
jmp 0x1000af31
mov ecx, dword [str.UNKNOWN]
push ecx
push 0x104
lea edx, [esp + 0x310]
push edx
call fcn.10014dfa
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
add esp, 0xc
push eax
push ecx
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x318]
push ecx
mov edx, ecx
push str._s__s_version__d._d._d_n
push edx
call fcn.10001348
add esp, 0x1c
push esi
lea eax, [esp + 0x30c]
push eax
push ebx
call fcn.10001433
push 0x10070748
push str.Directory:___s_
push ebx
call fcn.10001433
push 0x10070850
push str._Log_File:___s_
push ebx
call fcn.10001433
push str.SoftwareAnalog_DevicesSMWDMIF
push str._Sys_Base:___s_
push 2
call fcn.10001433
mov esi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
add esp, 0x2c
lea ecx, [esp + 0xb4]
push ecx
push 0x10070538
call esi
cmp eax, 0xffffffff
jne 0x1000afd3
push str._CFG_File:___WARNING____not_found__n
push 3
call fcn.10001433
add esp, 8
jmp 0x1000afe6
push 0x10070538
push str._CFG_File:___s__n
push ebx
call fcn.10001433
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
push 0x10070640
call esi
cmp eax, 0xffffffff
pop esi
jne 0x1000b00f
push str._DTAG_File:___WARNING____not_found__n
push 3
call fcn.10001433
add esp, 8
jmp 0x1000b090
push 0x104
lea eax, [esp + 0x30c]
push eax
push str.InstallerVersion
call fcn.100010d2
lea ecx, [esp + 0x314]
push ecx
push str.Installer_Version:__s
push ebx
call fcn.10001433
push 0x104
lea edx, [esp + 0x324]
push edx
push str.PackageVersion
call fcn.100010d2
lea eax, [esp + 0x32c]
push eax
push str.__Release_Version:__s
push ebx
call fcn.10001433
push 0x104
lea ecx, [esp + 0x33c]
push ecx
push str.PackageType
call fcn.100010d2
lea edx, [esp + 0x344]
push edx
push str._____Package_Type:__s_n
push ebx
call fcn.10001433
add esp, 0x48
push 0x104
lea eax, [esp + 0x30c]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.ADIHDAud.Sys
push str.System32Drivers
lea ecx, [esp + 0x310]
push ecx
lea edx, [esp + 0x210]
push str._s_s_s
push edx
call fcn.10001348
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x21c]
push ecx
mov byte [esp + 0x20c], bl
call fcn.10001460
add esp, 0x1c
cmp eax, 1
jne 0x1000b10b
lea edx, [esp + 0x1f0]
push edx
lea eax, [esp + 0x208]
push eax
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b121
lea ecx, [esp + 0x204]
push ecx
push str._s___not_loaded______ERROR_
push ebx
call fcn.10001433
add esp, 0xc
push str.SenFilt.Sys
push str.System32Drivers
lea edx, [esp + 0x310]
push edx
lea eax, [esp + 0x210]
push str._s_s_s
push eax
call fcn.10001348
lea ecx, [esp + 0x204]
push ecx
lea edx, [esp + 0x21c]
push edx
mov byte [esp + 0x20c], bl
call fcn.10001460
add esp, 0x1c
cmp eax, 1
jne 0x1000b189
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x208]
push ecx
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b1a0
lea edx, [esp + 0x204]
push edx
push str._s___not_loaded______WARNING_
push 3
call fcn.10001433
add esp, 0xc
push str.AEAudio.Sys
push str.System32Drivers
lea eax, [esp + 0x310]
push eax
lea ecx, [esp + 0x210]
push str._s_s_s
push ecx
call fcn.10001348
lea edx, [esp + 0x204]
push edx
lea eax, [esp + 0x21c]
push eax
mov byte [esp + 0x20c], bl
call fcn.10001460
add esp, 0x1c
cmp eax, 1
jne 0x1000b208
lea ecx, [esp + 0x1f0]
push ecx
lea edx, [esp + 0x208]
push edx
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b21f
lea eax, [esp + 0x204]
push eax
push str._s___not_loaded______WARNING_
push 3
call fcn.10001433
add esp, 0xc
push str.SF.Sys
push str.System32Drivers
lea ecx, [esp + 0x310]
push ecx
lea edx, [esp + 0x210]
push str._s_s_s
push edx
call fcn.10001348
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x21c]
push ecx
mov byte [esp + 0x20c], bl
call fcn.10001460
add esp, 0x1c
cmp eax, 1
jne 0x1000b287
lea edx, [esp + 0x1f0]
push edx
lea eax, [esp + 0x208]
push eax
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b29e
lea ecx, [esp + 0x204]
push ecx
push str._s___not_loaded______WARNING_
push 3
call fcn.10001433
add esp, 0xc
lea edx, [esp + 0x204]
push edx
push 0x10051c0c
call fcn.10001492
add esp, 8
push 0x104
lea eax, [esp + 0x30c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x308]
push 0x5c
push ecx
call fcn.10015350
push 0x10051c0c
lea edx, [esp + 0x314]
push 0x104
push edx
mov byte [eax + 1], bl
call fcn.10014dfa
lea eax, [esp + 0x31c]
push eax
lea ecx, [esp + 0x21c]
push ecx
call fcn.1001511d
add esp, 0x1c
test eax, eax
jne 0x1000b342
mov edx, dword [0x1006f16c]
mov eax, dword [0x1006f168]
mov ecx, dword [0x1006f164]
push edx
mov edx, dword [0x1006f160]
push eax
push ecx
push edx
lea eax, [esp + 0x214]
push eax
push str._s____d._02d._02d._d
push ebx
call fcn.10001433
add esp, 0x1c
jmp 0x1000b3d7
lea ecx, [esp + 0x1f0]
push ecx
lea edx, [esp + 0x208]
push edx
mov byte [esp + 0x1f8], bl
call fcn.10001460
add esp, 8
cmp eax, 1
jne 0x1000b386
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x208]
push ecx
push str._n_s____TARGET___s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b39c
lea edx, [esp + 0x204]
push edx
push str._n_s___target_module_NOT_found_
push ebx
call fcn.10001433
add esp, 0xc
mov eax, dword [0x1006f16c]
mov ecx, dword [0x1006f168]
mov edx, dword [0x1006f164]
push eax
mov eax, dword [0x1006f160]
push ecx
push edx
push eax
lea ecx, [esp + 0x318]
push ecx
push str._s____LOADED___d._02d._02d._d
push ebx
call fcn.10001433
push str.____WARNING__loaded_version_differs_from_target_directory_version__n
push ebx
call fcn.10001433
add esp, 0x24
lea edx, [esp + 0x204]
push edx
push str.SMax4.Exe
call fcn.10001492
add esp, 8
cmp eax, 1
jne 0x1000b44b
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x208]
push ecx
mov byte [esp + 0x1f8], bl
call fcn.10001460
add esp, 8
cmp eax, 1
jne 0x1000b435
lea edx, [esp + 0x1f0]
push edx
lea eax, [esp + 0x208]
push eax
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b44b
lea ecx, [esp + 0x204]
push ecx
push str._s___missing______WARNING_
push ebx
call fcn.10001433
add esp, 0xc
lea edx, [esp + 0x204]
push edx
push str.SMAX4Pnp.Exe
call fcn.10001492
lea eax, [esp + 0x1f8]
push eax
lea ecx, [esp + 0x210]
push ecx
mov byte [esp + 0x200], bl
call fcn.10001460
add esp, 0x10
cmp eax, 1
jne 0x1000b4a1
lea edx, [esp + 0x1f0]
push edx
lea eax, [esp + 0x208]
push eax
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b4b7
lea ecx, [esp + 0x204]
push ecx
push str._s___missing______ERROR_
push ebx
call fcn.10001433
add esp, 0xc
lea edx, [esp + 0x204]
push edx
push str.SMax4Wiz.Exe
call fcn.10001492
add esp, 8
cmp eax, 1
jne 0x1000b52b
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x208]
push ecx
mov byte [esp + 0x1f8], bl
call fcn.10001460
add esp, 8
cmp eax, 1
jne 0x1000b515
lea edx, [esp + 0x1f0]
push edx
lea eax, [esp + 0x208]
push eax
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b52b
lea ecx, [esp + 0x204]
push ecx
push str._s___missing_____ERROR_
push ebx
call fcn.10001433
add esp, 0xc
lea edx, [esp + 0x204]
push edx
push str.SMWizard.Exe
call fcn.10001492
add esp, 8
cmp eax, 1
jne 0x1000b5b1
lea eax, [esp + 0x204]
push eax
push str.SMWizard.Exe
call fcn.10001492
lea ecx, [esp + 0x1f8]
push ecx
lea edx, [esp + 0x210]
push edx
mov byte [esp + 0x200], bl
call fcn.10001460
add esp, 0x10
cmp eax, 1
jne 0x1000b59b
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x208]
push ecx
push str._s____s
push ebx
call fcn.10001433
add esp, 0x10
jmp 0x1000b5b1
lea edx, [esp + 0x204]
push edx
push str._s___missing_____ERROR_
push ebx
call fcn.10001433
add esp, 0xc
mov eax, dword [0x1006fda0]
mov ecx, dword [0x100700c4]
push eax
push ecx
push str._nLog_Level:__d._04X_n
push ebx
call fcn.10001433
push 0x10070430
push 0x10070328
push 0x10070220
push str.keys:_HKLM_s_n______HKLM_s_n______HKLM_s_n
push 3
call fcn.10001433
mov ecx, dword [esp + 0x430]
add esp, 0x24
pop ebx
xor ecx, esp
mov dword [0x100700b8], 1
call fcn.100140fa
add esp, 0x40c
ret