Function at 0x4243f0
Capabilities:
Create directory
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x542365
mov eax, dword fs:[0]
push eax
sub esp, 0x2ec
mov eax, dword [0x5868f4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x58b4bc], 0
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x2e8], ebx
jne 0x424446
push str.Logging_Diagnostic_system_not_ready_or_was_shutdown
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247f8
cmp edi, dword [0x587300]
jg 0x4247f8
lea eax, [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x58b4a4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x38
lea eax, [ebp - 0x48]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00516d20
add esp, 0xc
lea eax, [ebp - 0xc8]
push 0x80
push 0
push eax
call fcn.00516d20
movzx eax, word [ebp - 0x2d2]
add esp, 0xc
push eax
movzx eax, word [ebp - 0x2d4]
push eax
movzx eax, word [ebp - 0x2d6]
push eax
movzx eax, word [ebp - 0x2d8]
push eax
movzx eax, word [ebp - 0x2e0]
push eax
movzx eax, word [ebp - 0x2da]
push eax
movzx eax, word [ebp - 0x2de]
push eax
lea eax, [ebp - 0x48]
push str._02d__02d__04d__d:_02d:_02d._04d
push eax
call fcn.0042b210
add esp, 0x24
test eax, eax
jg 0x4244f4
push str.Date_Time_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
mov ecx, edi
call fcn.00424370
push eax
push ebx
push dword [esi + 0x10]
lea eax, [ebp - 0xc8]
push str.__lX___s_:__s:
push eax
call fcn.0042b230
add esp, 0x14
test eax, eax
jg 0x424528
push str.Suffix_Log_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
lea eax, [ebp - 0xc8]
push eax
push dword [esi + 0xc]
lea eax, [ebp - 0x48]
push dword [esi + 4]
push eax
push dword [esi + 8]
push dword [esi]
push str._S__d__:__s__S__lX____s
call fcn.00430ce0
mov edi, eax
add esp, 0x1c
test edi, edi
jg 0x424561
push str.Debug_Prefix_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
mov ecx, dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
call fcn.00430ca0
add esp, 4
test eax, eax
jns 0x424584
push str.Trace_Msg_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
add eax, 2
add eax, edi
push eax
call fcn.00424200
test al, al
jne 0x4245a3
push str.Persist_Buffer_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
mov eax, dword [0x58b940]
lea ecx, [ebp + 0x18]
mov edi, dword [0x58b93c]
mov edx, eax
mov ebx, dword [0x58b938]
push ecx
push dword [ebp + 0x14]
mov ecx, edi
mov dword [ebp - 0x2e4], eax
call fcn.00430c30
test eax, eax
jns 0x4245de
push str.Format_Trace_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
cmp byte [esi + 0x14], 0
je 0x424602
push edi
push dword [ebp - 0x2e8]
push dword [esi + 0x10]
call fcn.00430b20
mov ecx, eax
call fcn.00426fe0
test al, al
je 0x4247ed
push edi
lea eax, [ebp - 0xc8]
push eax
push dword [esi + 0xc]
lea eax, [ebp - 0x48]
push dword [esi + 4]
push eax
push dword [esi + 8]
push dword [esi]
mov esi, dword [ebp - 0x2e4]
push str._S__d__:__s__S__lX____s_s_r_n
push esi
push ebx
call fcn.004082b0
add esp, 0x28
test eax, eax
jns 0x424642
push str.Format_Full_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
push ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push edi
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x569f78
push 0x800
push 0
lea eax, [ebp - 0x2f4]
push eax
push esi
push ebx
call fcn.00430710
add esp, 0x24
test eax, eax
jns 0x424686
push str.Format_Log_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x4247ed
sub esp, 8
mov edx, 0x40000000
push 4
push ecx
push 7
mov ecx, 0x58b6d8
call fcn.00430d00
mov esi, eax
cmp esi, 0xffffffff
jne 0x424756
mov ecx, 0xd
lea edi, [ebp - 0x2d0]
mov esi, str._windir_LogsQualysAgent_
lea eax, [ebp - 0x29a]
rep movsd dword es:[edi], dword [esi]
push 0x1d2
push 0
push eax
movsw word es:[edi], word [esi]
call fcn.00516d20
add esp, 0xc
lea ecx, [ebp - 0x2d0]
call fcn.004314d0
test eax, eax
jne 0x4247ed
push eax
lea eax, [ebp - 0x2d0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x2ec]
mov esi, 0x104
push eax
mov edx, esi
lea ecx, [ebp - 0x2d0]
call fcn.00408320
test eax, eax
js 0x424733
mov eax, dword [ebp - 0x2ec]
sub esi, eax
push 0x7fffffff
push str.Log.txt
push ecx
lea ecx, [ebp - 0x2d0]
mov edx, esi
lea ecx, [ecx + eax*2]
call fcn.00408260
sub esp, 8
mov edx, 0x40000000
push 4
push ecx
push 7
lea ecx, [ebp - 0x2d0]
call fcn.00430d00
mov esi, eax
cmp esi, 0xffffffff
je 0x4247ed
push 2
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, eax
call fcn.004243d0
test eax, eax
je 0x424799
test esi, esi
je 0x424779
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.00425160
sub esp, 8
mov edx, 0x40000000
push 2
push ecx
push 7
mov ecx, 0x58b6d8
call fcn.00430d00
mov esi, eax
xor ecx, ecx
cmp esi, 0xffffffff
je 0x4247ed
test ecx, ecx
jne 0x4247c5
mov eax, 0xfeff
lea edx, [ebp - 0x2e4]
push ecx
mov word [ebp - 0x2e4], ax
mov ecx, esi
lea eax, [ebp - 0x2f0]
push eax
push 2
call fcn.00430e20
push ecx
lea eax, [ebp - 0x2f0]
mov edx, ebx
push eax
mov eax, dword [ebp - 0x2f4]
mov ecx, esi
sub eax, ebx
and eax, 0xfffffffe
push eax
call fcn.00430e20
test esi, esi
je 0x4247ed
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x58b4a4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004fdf3d
mov esp, ebp
pop ebp
ret