Function at 0x408c15
Capabilities:
Check if file exists
Create thread
Resume thread

Disassembly:
push ebp
sub esp, 0x64
lea ebp, [esp - 4]
mov eax, dword [0x571268]
xor eax, ebp
mov dword [ebp + 0x64], eax
push 0x108
mov eax, 0x507147
call fcn.004ec730
mov ebx, ecx
lea eax, [ebx + 0xc]
push eax
push 4
push ebx
xor esi, esi
push 0x467e83
push esi
mov edi, edx
push esi
mov dword [ebp], ebx
mov dword [ebp + 4], edi
mov dword [ebx], vtable.ActiveObject.0
mov dword [ebx + 4], esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 8], eax
push 1
push esi
mov dword [ebp - 4], esi
push edi
mov dword [ebx], vtable.FolderWatcher.0
call dword [sym.imp.KERNEL32.dll_FindFirstChangeNotificationA]
mov dword [ebx + 0x10], eax
mov byte [ebp - 4], 1
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x20], 0x4076c9
call fcn.00411dd9
cmp byte [eax], 0
jne 0x408cec
lea eax, [ebp - 0x98]
push eax
call fcn.004071c6
lea eax, [ebp - 0x90]
push str.FolderWatcher::FolderWatcher____starts
push eax
mov byte [ebp - 4], 2
call fcn.004058d5
pop ecx
pop ecx
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040574e
lea edi, [ebp + 0x48]
mov byte [ebp - 4], 3
call fcn.00405549
push esi
push 1
mov esi, edi
call fcn.0040754f
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 1
call fcn.00405a60
jmp 0x408e07
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 4
call fcn.00405430
mov byte [ebp - 4], 5
call fcn.00411dd9
lea ecx, [ebp + 0x48]
call fcn.00405346
mov byte [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x408d1c
mov edi, dword [eax + 4]
jmp 0x408d1f
lea edi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push edi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.FolderWatcher::FolderWatcher____starts
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push 1
lea esi, [ebp + 0x48]
mov byte [ebp - 4], 5
call fcn.0040754f
lea eax, [ebp + 8]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov edi, 0x2710
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 7
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x408db4
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040532c
push 0x4e
push str.d:devcommoninclude..FolderWatcher.h
push eax
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 8
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
push 0
push 1
lea esi, [ebp + 0x48]
call fcn.0040754f
lea ecx, [ebp + 8]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 4
call fcn.0040539b
mov dword [ebp - 4], 1
jmp 0x408e0c
mov edi, 0x2710
and dword [ebp + 0x24], 0
push 7
pop eax
xor ecx, ecx
mov dword [ebp + 0x28], eax
mov word [ebp + 0x14], cx
and dword [ebp + 0x40], ecx
mov dword [ebp + 0x44], eax
xor eax, eax
mov word [ebp + 0x30], ax
push 3
push dword [ebp + 4]
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x114]
push eax
call fcn.00408b5f
mov byte [ebp - 4], 0xd
push dword [ebp - 0x114]
lea eax, [ebp + 0x2c]
push eax
call fcn.00407685
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x114], eax
je 0x408e7a
push dword [ebp - 0x114]
call fcn.004e735e
pop ecx
cmp dword [ebp + 0x44], 8
mov eax, dword [ebp + 0x30]
jae 0x408e86
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.004653be
cmp dword [ebp + 0x28], 8
mov eax, dword [ebp + 0x14]
jae 0x408e9c
lea eax, [ebp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne al
test al, al
jne 0x409054
call fcn.00411dd9
cmp byte [eax], 0
jne 0x408f30
lea eax, [ebp - 0x98]
push eax
call fcn.004071c6
lea eax, [ebp + 0x2c]
push eax
push 0x525218
lea eax, [ebp - 0x90]
push str.FolderWatcher::FolderWatcher____folder_not_exists:
push eax
mov byte [ebp - 4], 0xe
call fcn.004058d5
pop ecx
pop ecx
push eax
call fcn.004058d5
pop ecx
pop ecx
push eax
call fcn.00405173
pop ecx
pop ecx
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x98]
call fcn.0040574e
lea edi, [ebp + 0x48]
mov byte [ebp - 4], 0xf
call fcn.00405549
push 0
push 1
mov esi, edi
call fcn.0040754f
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0xc
call fcn.00405a60
jmp 0x409054
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x10
call fcn.00405430
mov byte [ebp - 4], 0x11
call fcn.00411dd9
lea ecx, [ebp + 0x48]
call fcn.00405346
mov byte [ebp - 4], 0x12
cmp dword [eax + 0x18], 8
jb 0x408f60
mov esi, dword [eax + 4]
jmp 0x408f63
lea esi, [eax + 4]
lea eax, [ebp - 0x90]
push 0x5251c8
push eax
call fcn.004058d5
pop ecx
pop ecx
push esi
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x5251c0
push eax
call fcn.004058d5
pop ecx
pop ecx
push str.FolderWatcher::FolderWatcher____folder_not_exists:
push eax
call fcn.004058d5
pop ecx
pop ecx
push 0x525218
push eax
call fcn.004058d5
pop ecx
pop ecx
lea ecx, [ebp + 0x2c]
push ecx
push eax
call fcn.00405173
pop ecx
pop ecx
push 0
push 1
lea esi, [ebp + 0x48]
mov byte [ebp - 4], 0x11
call fcn.0040754f
lea eax, [ebp + 8]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x13
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x40900d
lea eax, [ebp + 0x48]
push eax
lea ecx, [ebp - 0x90]
call fcn.0040532c
push 0x58
push str.d:devcommoninclude..FolderWatcher.h
push eax
push edi
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x14
call sub.log4cplusU.dll_public:_void___thiscall_log4cplus::Logger::forcedLog_int__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___char_const___int_const
push 0
push 1
lea esi, [ebp + 0x48]
call fcn.0040754f
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x11
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.0040539b
jmp 0x409054
mov eax, dword [ebp + 4]
lea esi, [ebx + 0x24]
mov byte [ebx + 0x1c], 1
sub esi, eax
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x409060
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0
push 1
lea esi, [ebp + 0x2c]
call fcn.0040754f
push 0
push 1
lea esi, [ebp + 0x10]
call fcn.0040754f
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x64]
xor ecx, ebp
call fcn.004e6e1c
add ebp, 0x68
leave
ret