Function at 0x56e119
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov eax, dword [ebp + 8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xf0], eax
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0x75ec37
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xd0], 0
call fcn.0056d094
call fcn.0056da55
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jne 0x56e1b1
mov eax, 0xffffffff
jmp 0x56e5b1
lea eax, [ebp - 0xd0]
mov dword [esp], eax
call fcn.0056deab
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
test eax, eax
jne 0x56e1f8
mov dword [esp], str.Unable_to_build_service_command_line.
call sub.msvcrt.dll_puts
mov eax, dword [0x7cc448]
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call eax
sub esp, 4
mov eax, 0xffffffff
jmp 0x56e5b1
mov dword [ebp - 0xc4], 1
jmp 0x56e2d4
mov eax, dword [ebp - 0xc4]
lea edx, [eax*4]
mov eax, dword [ebp - 0xf0]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__user
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x56e26a
mov eax, dword [ebp - 0xc4]
add eax, 1
cmp dword [ebp - 0xec], eax
jle 0x56e26a
mov eax, dword [ebp - 0xc4]
add eax, 1
lea edx, [eax*4]
mov eax, dword [ebp - 0xf0]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
add dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xc4]
lea edx, [eax*4]
mov eax, dword [ebp - 0xf0]
add eax, edx
mov eax, dword [eax]
mov dword [esp + 4], str.__password
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x56e2cd
mov eax, dword [ebp - 0xc4]
add eax, 1
cmp dword [ebp - 0xec], eax
jle 0x56e2cd
mov eax, dword [ebp - 0xc4]
add eax, 1
lea edx, [eax*4]
mov eax, dword [ebp - 0xf0]
add eax, edx
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
add dword [ebp - 0xc4], 1
add dword [ebp - 0xc4], 1
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0xec]
jl 0x56e207
mov dword [esp + 8], 0x9c
mov dword [esp + 4], 0
lea eax, [ebp - 0xa8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [ebp - 0xa8], 0x9c
lea eax, [ebp - 0xa8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExA]
call eax
sub esp, 4
test eax, eax
jne 0x56e33d
mov dword [esp], str.Call_to_GetVersionEx_failed.
call sub.msvcrt.dll_puts
mov dword [ebp - 0xc0], 1
jmp 0x56e367
mov eax, dword [ebp - 0xa4]
cmp eax, 4
jbe 0x56e35d
mov eax, dword [ebp - 0xa4]
cmp eax, 5
jne 0x56e367
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x56e367
mov dword [ebp - 0xc0], 1
cmp dword [ebp - 0xcc], 0
jne 0x56e39f
cmp dword [ebp - 0xc0], 0
je 0x56e387
mov dword [esp], str.Running_on_Win2K_or_earlier__so_the_LocalService_account_doesnt_exist.__Falling_back_to_SYSTEM_account.
call sub.msvcrt.dll_puts
jmp 0x56e3b5
mov dword [esp], str.Running_on_a_Post_Win2K_OS__so_well_assume_that_the_LocalService_account_exists.
call sub.msvcrt.dll_puts
mov dword [ebp - 0xcc], str.NT_AUTHORITYLocalService
jmp 0x56e3b5
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], eax
mov dword [esp], str.Will_try_to_install_service_as_user___s_._n
call sub.msvcrt.dll_printf
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x56e3e5
cmp dword [ebp - 0xcc], 0
je 0x56e3d0
mov eax, dword [ebp - 0xcc]
jmp 0x56e3d5
mov eax, str._local_system_
mov dword [esp + 4], eax
mov dword [esp], str.IMPORTANT_NOTE:_n____The_Tor_service_will_run_under_the_account___s_.__This_means_n____that_Tor_will_look_for_its_configuration_file_under_that_n____accounts_Application_Data_directory__which_is_probably_not_n____the_same_as_yours._n
call sub.msvcrt.dll_printf
mov eax, dword [0x7cc450]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xc8]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 0xf01ff
mov dword [esp + 8], str.Tor_Win32_Service
mov dword [esp + 4], 0x75e9d2
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call eax
sub esp, 0x34
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
jne 0x56e509
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov dword [esp], eax
call fcn.006c1578
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp + 4], eax
mov dword [esp], str.CreateService___failed_:__s_n
call sub.msvcrt.dll_printf
mov eax, dword [0x7cc448]
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call eax
sub esp, 4
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0xac]
mov dword [eax], 0
mov eax, 0xffffffff
jmp 0x56e5b1
mov dword [esp], str.Done_with_CreateService.
call sub.msvcrt.dll_puts
mov dword [ebp - 0xdc], str.Provides_an_anonymous_Internet_communication_system
mov eax, dword [0x7cc444]
lea edx, [ebp - 0xdc]
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov edx, dword [ebp - 0xb8]
mov dword [esp], edx
call eax
sub esp, 0xc
mov dword [esp], str.Service_installed_successfully
call sub.msvcrt.dll_puts
mov eax, dword [ebp - 0xb8]
mov dword [esp], eax
call fcn.0056db92
mov eax, dword [0x7cc448]
mov edx, dword [ebp - 0xb8]
mov dword [esp], edx
call eax
sub esp, 4
mov eax, dword [0x7cc448]
mov edx, dword [ebp - 0xbc]
mov dword [esp], edx
call eax
sub esp, 4
lea eax, [ebp - 0xe0]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0xb4]
mov dword [eax], 0
mov eax, 0
mov ecx, dword [ebp - 0xc]
xor ecx, dword [sym.imp.libssp_0.dll___stack_chk_guard]
je 0x56e5c1
call sub.libssp_0.dll___stack_chk_fail
leave
ret