Function at 0x40c480
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x459074]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
push 0
lea eax, [ebp - 0x108]
push eax
call fcn.00423990
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0x44ec14
call dword [sym.imp.libnac_base.dll_dirutils_path_transform]
add esp, 0xc
lea edx, [ebp - 0x108]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp dword [0x45ae64], 0
jne 0x40c5ab
cmp dword [0x45ae60], 0
jne 0x40c5ab
mov dword [0x45ae6c], 4
push 0x419dc0
push str.byod_monitor
call dword [sym.imp.ADVAPI32.dll_RegisterServiceCtrlHandlerA]
mov dword [0x45ae84], eax
cmp dword [0x45ae84], 0
jne 0x40c57b
mov dword [ebp - 0x110], 0x44ec18
push 0x5c
mov eax, dword [ebp - 0x110]
push eax
call fcn.00423220
add esp, 8
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x40c54d
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x114], ecx
jmp 0x40c559
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edx
push str.monitor_service_Handler_not_installed_n
push 0x63
mov eax, dword [ebp - 0x114]
push eax
push 1
call dword [sym.imp.libnac_base.dll_error_output]
add esp, 0x10
xor ecx, ecx
jne 0x40c512
jmp 0x40c7fe
push 0x45ae68
mov edx, dword [0x45ae84]
push edx
call dword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov dword [0x45ae74], 0
mov dword [0x45ae7c], 0
mov dword [0x45ae80], 0
push 0x104
push 0x45ae90
push str._.._services
call dword [sym.imp.libnac_base.dll_dirutils_path_transform]
add esp, 0xc
call fcn.00415ab0
test eax, eax
jne 0x40c668
call fcn.004141c0
test eax, eax
jne 0x40c5e6
call fcn.00414150
test eax, eax
je 0x40c668
call fcn.0040fda0
mov dword [ebp - 0x148], eax
call fcn.00415900
mov dword [ebp - 0x11c], 0x44ecb8
push 0x5c
mov eax, dword [ebp - 0x11c]
push eax
call fcn.00423220
add esp, 8
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x40c631
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x120], ecx
jmp 0x40c63d
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], edx
push str.Install_ByodRobot_Normal_n
push 0x74
mov eax, dword [ebp - 0x120]
push eax
push 2
call dword [sym.imp.libnac_base.dll_error_output]
add esp, 0x10
xor ecx, ecx
jne 0x40c5f6
cmp dword [ebp - 0x148], 0
je 0x40c668
call fcn.0040fcd0
push 0x44ed3c
call fcn.0041ef10
add esp, 4
test eax, eax
jne 0x40c6f4
call fcn.004141c0
test eax, eax
jne 0x40c68b
call fcn.00414150
test eax, eax
je 0x40c6f4
call fcn.0040f870
mov dword [ebp - 0x128], 0x44ed48
push 0x5c
mov edx, dword [ebp - 0x128]
push edx
call fcn.00423220
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x40c6cb
mov eax, dword [ebp - 0x124]
add eax, 1
mov dword [ebp - 0x12c], eax
jmp 0x40c6d7
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x12c], ecx
push str.Install_ByodGuard_Normal_n
push 0x7f
mov edx, dword [ebp - 0x12c]
push edx
push 2
call dword [sym.imp.libnac_base.dll_error_output]
add esp, 0x10
xor eax, eax
jne 0x40c690
mov dword [ebp - 0x134], 0x44edf8
push 0x5c
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00423220
add esp, 8
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x40c72f
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x138], edx
jmp 0x40c73b
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x138], eax
push str.monitor_startup_now____n
push 0x83
mov ecx, dword [ebp - 0x138]
push ecx
push 2
call dword [sym.imp.libnac_base.dll_error_output]
add esp, 0x10
xor edx, edx
jne 0x40c6f4
call fcn.0040f0f0
cmp dword [0x45ae64], 0
jne 0x40c797
cmp dword [0x45ae60], 0
jne 0x40c797
mov dword [0x45ae6c], 1
mov dword [0x45ae70], 1
push 0x45ae68
mov eax, dword [0x45ae84]
push eax
call dword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov dword [ebp - 0x140], 0x44ee60
push 0x5c
mov ecx, dword [ebp - 0x140]
push ecx
call fcn.00423220
add esp, 8
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
je 0x40c7d2
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x144], edx
jmp 0x40c7de
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
push str.monitor_exited._n
push 0x8c
mov ecx, dword [ebp - 0x144]
push ecx
push 2
call dword [sym.imp.libnac_base.dll_error_output]
add esp, 0x10
xor edx, edx
jne 0x40c797
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00421720
mov esp, ebp
pop ebp
ret