Function at 0x12540
Capabilities:
Get common file path
Hide graphical window

Disassembly:
sub esp, 0x44
push esi
push edi
cmp dword [esp + 0x54], 0
je 0x12556
sub eax, eax
pop edi
pop esi
add esp, 0x44
ret 0x10
push 0x41
push str.ActM_TEST
push str._Your_hardware_lock_will_now_be_tested._n_This_test_may_take_several_minutes._n
push 0
call sub.USER32.dll_MessageBoxA
cmp eax, 2
jne 0x12578
sub eax, eax
pop edi
pop esi
add esp, 0x44
ret 0x10
call fcn.00012a30
mov dword [0x1fd7c], eax
mov esi, dword [esp + 0x50]
push 0x12910
lea eax, [esp + 0x28]
push esi
push eax
call fcn.000128b0
lea eax, [esp + 0x30]
add esp, 0xc
push eax
call sub.USER32.dll_RegisterClassA
push 0
push esi
push 0
push 0
push 0x64
push 0xdc
push 0x80000000
push 0x80000000
push 0xcf0000
push str.ActM_Testing_Utility
push str.PLAIN_TEST_WINDOW
push 0
call sub.USER32.dll_CreateWindowExA
mov dword [0x18528], eax
mov ecx, dword [esp + 0x5c]
push ecx
push eax
call sub.USER32.dll_ShowWindow
mov eax, dword [0x18528]
push eax
call sub.USER32.dll_UpdateWindow
mov ecx, 1
mov dword [0x1fd74], 0
mov esi, 0x12
mov dword [0x1fd70], ecx
or ecx, ecx
je 0x1265f
push 0
push 0
push 0
lea eax, [esp + 0x14]
push 0
push eax
call sub.USER32.dll_PeekMessageA
or eax, eax
mov eax, dword [0x18528]
mov ecx, dword [0x1fd70]
jne 0x1265f
or ecx, ecx
je 0x1265f
push 0
push 0
push 0x400
push eax
call sub.USER32.dll_SendMessageA
push 0
push 0
push 0
lea eax, [esp + 0x14]
push 0
push eax
call sub.USER32.dll_PeekMessageA
or eax, eax
mov eax, dword [0x18528]
mov ecx, dword [0x1fd70]
je 0x1262b
push 0
push 0
lea eax, [esp + 0x10]
push 0
push eax
call sub.USER32.dll_GetMessageA
lea eax, [esp + 8]
push eax
call sub.USER32.dll_TranslateMessage
lea eax, [esp + 8]
push eax
call sub.USER32.dll_DispatchMessageA
cmp dword [esp + 0xc], esi
mov ecx, dword [0x1fd70]
jne 0x12600
cmp dword [0x1fd78], 0xffffffff
je 0x12890
push 0xff
push 0x18530
call sub.KERNEL32.dll_GetWindowsDirectoryA
mov edi, 0x18530
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
cmp byte [ecx + 0x1852e], 0x5c
je 0x126fb
mov edi, 0x1ffbc
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x18530
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
dec edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x18530
push str._sWNSEEHL.DAT
push 0x18630
call fcn.00012d90
add esp, 0xc
push 0x1ffa8
push 0x18630
call fcn.00013010
add esp, 8
mov esi, eax
mov eax, dword [0x1fd78]
push eax
push str._d_3_n
push esi
call fcn.00012f60
add esp, 0xc
push esi
call fcn.00012e80
add esp, 4
cmp dword [0x1fd7c], 0
jne 0x12760
mov eax, dword [0x1fd78]
push eax
push eax
push eax
push str._Testing_has_been_completed_successfully._n_You_must_add_the_NT_environment_variable:_n_________SSI_ACT_d__d__d_n_Please_refer_to_section_22_of_the_User_Manual._n
jmp 0x12861
push 0x1fefc
push str.C:AUTOEXEC.BAT
call fcn.00013010
add esp, 8
mov esi, eax
or esi, esi
je 0x12854
push 0x1ffa8
push str.C:AUTOEXEC.TMP
call fcn.00013010
add esp, 8
mov edi, eax
mov eax, dword [0x1fd78]
push eax
push eax
push eax
push str.SET_SSI_ACT_d__d__d_n
push edi
call fcn.00012f60
add esp, 0x14
push esi
push 0x3e8
push 0x18630
call fcn.00012ef0
add esp, 0xc
or eax, eax
je 0x12802
lea ecx, [ecx]
push 0xb
push str.SET_SSI_ACT
push 0x18630
call fcn.00012fa0
add esp, 0xc
or eax, eax
je 0x127eb
push 0x18630
push 0x1feb4
push edi
call fcn.00012f60
add esp, 0xc
push esi
push 0x3e8
push 0x18630
call fcn.00012ef0
add esp, 0xc
or eax, eax
jne 0x127c0
push esi
call fcn.00012e80
add esp, 4
push edi
call fcn.00012e80
add esp, 4
push str.C:AUTOEXEC.BAK
call fcn.00012e70
add esp, 4
push str.C:AUTOEXEC.BAK
push str.C:AUTOEXEC.BAT
call fcn.00012e00
add esp, 8
push str.C:AUTOEXEC.BAT
push str.C:AUTOEXEC.TMP
call fcn.00012e00
add esp, 8
mov eax, dword [0x1fd78]
push eax
push eax
push eax
push str._Testing_has_been_completed_successfully._n_The_Hardware_Lock_delay_is__d__d__d_n_This_information_has_been_added_to_you_AUTOEXEC.BAT_file._n
jmp 0x12861
mov eax, dword [0x1fd78]
push eax
push eax
push eax
push str._Testing_has_been_completed_successfully._n_You_must_add_to_your_environment:_n_SET_SSI_ACT_d__d__d_n
push 0x18630
call fcn.00012d90
add esp, 0x14
push 0x40
push str.ActM_TEST
push 0x18630
push 0
call sub.USER32.dll_MessageBoxA
sub eax, eax
pop edi
pop esi
add esp, 0x44
ret 0x10
push 0x30
push str.ActM_TEST
push str._Your_hardware_lock_could_not_be_found__n
push 0
call sub.USER32.dll_MessageBoxA
sub eax, eax
pop edi
pop esi
add esp, 0x44
ret 0x10