Function at 0x40c4e0
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x45a074]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
push 0
lea eax, [ebp - 0x108]
push eax
call fcn.00423e70
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x108]
push ecx
push 0x44fc84
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 [0x45be6c], 0
jne 0x40c60b
cmp dword [0x45be68], 0
jne 0x40c60b
mov dword [0x45be74], 4
push 0x41a2a0
push str.byod_monitor
call dword [sym.imp.ADVAPI32.dll_RegisterServiceCtrlHandlerA]
mov dword [0x45be8c], eax
cmp dword [0x45be8c], 0
jne 0x40c5db
mov dword [ebp - 0x110], 0x44fc88
push 0x5c
mov eax, dword [ebp - 0x110]
push eax
call fcn.00423700
add esp, 8
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x40c5ad
mov ecx, dword [ebp - 0x10c]
add ecx, 1
mov dword [ebp - 0x114], ecx
jmp 0x40c5b9
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x114], edx
push str.monitor_service_Handler_not_installed_n
push 0x66
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 0x40c572
jmp 0x40c861
push 0x45be70
mov edx, dword [0x45be8c]
push edx
call dword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov dword [0x45be7c], 0
mov dword [0x45be84], 0
mov dword [0x45be88], 0
push 0x104
push 0x45be98
push str._.._services
call dword [sym.imp.libnac_base.dll_dirutils_path_transform]
add esp, 0xc
call fcn.00415e60
test eax, eax
jne 0x40c6c8
call fcn.00414560
test eax, eax
jne 0x40c646
call fcn.004144f0
test eax, eax
je 0x40c6c8
call fcn.00410120
mov dword [ebp - 0x148], eax
call fcn.00415cb0
mov dword [ebp - 0x11c], 0x44fd40
push 0x5c
mov eax, dword [ebp - 0x11c]
push eax
call fcn.00423700
add esp, 8
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x40c691
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x120], ecx
jmp 0x40c69d
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x120], edx
push str.Install_ByodRobot_Normal_n
push 0x77
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 0x40c656
cmp dword [ebp - 0x148], 0
je 0x40c6c8
call fcn.00410050
push 0x44fda4
call fcn.0041f3f0
add esp, 4
test eax, eax
jne 0x40c757
call fcn.00414560
test eax, eax
jne 0x40c6eb
call fcn.004144f0
test eax, eax
je 0x40c757
call fcn.0040fbf0
mov dword [ebp - 0x128], 0x44fdb0
push 0x5c
mov edx, dword [ebp - 0x128]
push edx
call fcn.00423700
add esp, 8
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x40c72b
mov eax, dword [ebp - 0x124]
add eax, 1
mov dword [ebp - 0x12c], eax
jmp 0x40c737
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x12c], ecx
push str.Install_ByodGuard_Normal_n
push 0x82
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 0x40c6f0
mov dword [ebp - 0x134], 0x44fe30
push 0x5c
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00423700
add esp, 8
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
je 0x40c792
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x138], edx
jmp 0x40c79e
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x138], eax
push str.monitor_startup_now____n
push 0x86
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 0x40c757
call fcn.0040f410
cmp dword [0x45be6c], 0
jne 0x40c7fa
cmp dword [0x45be68], 0
jne 0x40c7fa
mov dword [0x45be74], 1
mov dword [0x45be78], 1
push 0x45be70
mov eax, dword [0x45be8c]
push eax
call dword [sym.imp.ADVAPI32.dll_SetServiceStatus]
mov dword [ebp - 0x140], 0x44fec0
push 0x5c
mov ecx, dword [ebp - 0x140]
push ecx
call fcn.00423700
add esp, 8
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
je 0x40c835
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x144], edx
jmp 0x40c841
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x144], eax
push str.monitor_exited._n
push 0x8f
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 0x40c7fa
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00421c00
mov esp, ebp
pop ebp
ret