Function at 0x4021d9
Capabilities:
Create service
Persist via windows service

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
push ebx
push esi
push edi
push 0x45eac4
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eaf8
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eb08
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eb1c
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eb30
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eb40
call fcn.00403869
add esp, 4
cmp eax, 1
je 0x40227f
push 0x45eb54
call fcn.00403869
add esp, 4
cmp eax, 1
jne 0x402296
push 0x45eba0
push 0x45ebc8
call fcn.00452380
add esp, 8
jmp 0x40285f
push 0x200
lea eax, [ebp - 0x408]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x4022dc
push 0x100
push 0xb614a0
call fcn.00403677
add esp, 8
push eax
push 0x45ec08
push 0x45ec30
call fcn.00452380
add esp, 0xc
jmp 0x40285f
cmp dword [0x462284], 0
je 0x402307
push 0x200
lea eax, [ebp - 0x200]
push eax
push 0x45ec4c
call fcn.004280cc
add esp, 0xc
jmp 0x40234b
cmp dword [0x462280], 0
je 0x402332
push 0x200
lea eax, [ebp - 0x200]
push eax
push 0x45ec78
call fcn.004280cc
add esp, 0xc
jmp 0x40234b
push 0x200
lea eax, [ebp - 0x200]
push eax
push 0x45eca4
call fcn.004280cc
add esp, 0xc
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
mov dword [ebp - 0x40c], eax
cmp dword [0x462284], 0
je 0x4023ae
push 0xf01ff
push 0x45ecd0
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x4023a9
push str._n_rThe_STLWA_64_service_already_exists.__Re_installation_will_not_be_performed._n_r
call fcn.00452380
add esp, 4
jmp 0x40285f
jmp 0x402438
cmp dword [0x462280], 0
je 0x4023fc
push 0xf01ff
push 0x45ed38
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x4023f7
push str._n_rThe_STVISTA_service_already_exists.__Re_installation_will_not_be_performed._n_r
call fcn.00452380
add esp, 4
jmp 0x40285f
jmp 0x402438
push 0xf01ff
push 0x45ed98
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenServiceA]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x402438
push str._n_rThe_STLWMON_service_already_exists.__Re_installation_will_not_be_performed._n_r
call fcn.00452380
add esp, 4
jmp 0x40285f
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x408]
push eax
push str._nInstalling_SofTrack_Driver_with_Path:__n___s_n___s_n
call fcn.00452380
add esp, 0xc
cmp dword [ebp - 0x40c], 0
je 0x40283f
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x408]
push eax
push 1
push 2
push 0x10
push 0xf01ff
push 0x45ee2c
push 0x45ee54
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x204], eax
cmp dword [ebp - 0x204], 0
je 0x4026bd
push 0x45ee70
push str._s_installed._n
call fcn.00452380
add esp, 8
mov eax, dword [ebp - 0x204]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
cmp dword [0x462284], 0
je 0x40256d
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x200]
push eax
push 1
push 3
push 1
push 0xf01ff
push 0x45eea8
push 0x45eed8
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402554
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x40253b
push str._n_rSTLWA_64_was_previously_installed
call fcn.00452380
add esp, 4
jmp 0x40254f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._n_rError_Installing_STLWA_64_to_Registry___d_
call fcn.00452380
add esp, 8
jmp 0x402568
lea eax, [ebp - 0x200]
push eax
push str._n_rInstalling_STLWA_64_with_path___s_
call fcn.00452380
add esp, 8
jmp 0x4026ab
cmp dword [0x462280], 0
je 0x402615
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x200]
push eax
push 1
push 3
push 1
push 0xf01ff
push 0x45ef60
push 0x45ef88
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x4025fc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x4025e3
push str._n_rSTVISTA_was_previously_installed
call fcn.00452380
add esp, 4
jmp 0x4025f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._n_rError_Installing_STVISTA_to_Registry___d_
call fcn.00452380
add esp, 8
jmp 0x402610
lea eax, [ebp - 0x200]
push eax
push str._n_rInstalling_STVISTA_with_path___s_
call fcn.00452380
add esp, 8
jmp 0x4026ab
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x200]
push eax
push 1
push 3
push 1
push 0xf01ff
push str.SofTrack_Local_Metering_Kernel_Driver
push 0x45f02c
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402697
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x40267e
push str._n_rSTLWMON_was_previously_installed
call fcn.00452380
add esp, 4
jmp 0x402692
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._n_rError_Installing_STLWMON_to_Registry___d_
call fcn.00452380
add esp, 8
jmp 0x4026ab
lea eax, [ebp - 0x200]
push eax
push str._n_rInstalling_STLWMON_with_path___s_
call fcn.00452380
add esp, 8
mov eax, dword [ebp - 0x208]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x40282d
push 0x100
push 0xb614a0
call fcn.00403677
add esp, 8
push eax
push 0x45f0a8
push str.CreateService___s__failed____s_n
call fcn.00452380
add esp, 0xc
cmp dword [0x462284], 0
je 0x40278a
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x200]
push eax
push 1
push 3
push 1
push 0xf01ff
push str.SofTrack_Local_Metering_Kernel_Driver__64_bit_
push 0x45f114
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402771
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x402758
push str._n_rSTLWA_64_Kernel_Driver_was_previously_installed
call fcn.00452380
add esp, 4
jmp 0x40276c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._n_rError_Installing_STLWA_64_Kernel_Driver_to_Registry___d_
call fcn.00452380
add esp, 8
jmp 0x402785
lea eax, [ebp - 0x200]
push eax
push str._n_rInstalling_STLWA_64_Kernel_Driver_with_path___s_
call fcn.00452380
add esp, 8
jmp 0x40282d
cmp dword [0x462280], 0
je 0x40282d
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x200]
push eax
push 1
push 3
push 1
push 0xf01ff
push str.SofTrack_Local_Metering_Kernel_Driver__32bit_signed_
push 0x45f1fc
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CreateServiceA]
mov dword [ebp - 0x208], eax
cmp dword [ebp - 0x208], 0
jne 0x402819
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x431
jne 0x402800
push str._n_rSTVISTA_Kernel_Driver_was_previously_installed
call fcn.00452380
add esp, 4
jmp 0x402814
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._n_rError_Installing_STVISTA_Kernel_Driver_to_Registry___d_
call fcn.00452380
add esp, 8
jmp 0x40282d
lea eax, [ebp - 0x200]
push eax
push str._n_rInstalling_STVISTA_Kernel_Driver_with_path___s_
call fcn.00452380
add esp, 8
mov eax, dword [ebp - 0x40c]
push eax
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
jmp 0x40285f
push 0x100
push 0xb614a0
call fcn.00403677
add esp, 8
push eax
push 0x45f2a8
call fcn.00452380
add esp, 8
pop edi
pop esi
pop ebx
leave
ret