Function at 0x46c0f7
Capabilities:
Get common file path

Disassembly:
push 0x4e4
mov eax, 0x570930
call fcn.0054d478
lea eax, [ebp - 0x220]
push eax
mov esi, 0x104
push esi
mov ebx, ecx
mov edi, edx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp eax, esi
jae 0x46c30e
test eax, eax
je 0x46c30e
cmp dword [edi + 0x18], 8
jb 0x46c138
mov edi, dword [edi + 4]
jmp 0x46c13b
add edi, 4
lea eax, [ebp - 0x428]
push eax
push 0
push edi
lea eax, [ebp - 0x220]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x46c2fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.00462c28
cmp byte [eax], 0
jne 0x46c1c4
lea eax, [ebp - 0x4f0]
push eax
call fcn.00409b60
push edi
push ecx
push 0x5967ac
push ecx
lea eax, [ebp - 0x4e8]
push str.CSystemCommands::CreateTempFileName__fail_to_create_a_filename
push eax
mov dword [ebp - 4], 9
call fcn.00407390
add esp, 0xc
push eax
call fcn.00407390
add esp, 0xc
push eax
call fcn.004113b0
lea ecx, [ebp - 0x444]
lea eax, [ebp - 0x4f0]
call fcn.00407170
mov byte [ebp - 4], 0xa
jmp 0x46c370
lea eax, [ebp - 0x4e8]
push eax
mov dword [ebp - 4], 0xb
call fcn.004068d0
mov byte [ebp - 4], 0xc
call fcn.00462c28
lea esi, [ebp - 0x468]
call fcn.00406720
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x18], 8
jb 0x46c1fa
mov esi, dword [eax + 4]
jmp 0x46c1fd
lea esi, [eax + 4]
lea eax, [ebp - 0x4e8]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::CreateTempFileName__fail_to_create_a_filename
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5967ac
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.004113b0
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 0xc
call fcn.00409c40
lea eax, [ebp - 0x44c]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0xe
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x46c2b3
lea ecx, [ebp - 0x468]
lea eax, [ebp - 0x4e8]
call fcn.00406700
push 0x7dc
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0xf
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
lea ecx, [ebp - 0x468]
call fcn.00409c40
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0xc
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 0xb
jmp 0x46c49f
push ebx
lea eax, [ebp - 0x428]
call fcn.00406690
mov al, 1
jmp 0x46c397
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.00462c28
cmp byte [eax], 0
jne 0x46c39d
lea eax, [ebp - 0x4f0]
push eax
call fcn.00409b60
and dword [ebp - 4], 0
push edi
push ecx
push 0x5967ac
push ecx
lea eax, [ebp - 0x4e8]
push str.CSystemCommands::CreateTempFileName__fail_to_get_tmp_folder
push eax
call fcn.00407390
add esp, 0xc
push eax
call fcn.00407390
add esp, 0xc
push eax
call fcn.004113b0
lea ecx, [ebp - 0x444]
lea eax, [ebp - 0x4f0]
call fcn.00407170
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x444]
call fcn.00406a80
lea ecx, [ebp - 0x444]
call fcn.00409c40
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x4f0]
call fcn.00407660
xor al, al
call fcn.0054d4d4
ret
lea eax, [ebp - 0x4e8]
push eax
mov dword [ebp - 4], 2
call fcn.004068d0
mov byte [ebp - 4], 3
call fcn.00462c28
lea esi, [ebp - 0x468]
call fcn.00406720
mov byte [ebp - 4], 4
cmp dword [eax + 0x18], 8
jb 0x46c3d3
mov esi, dword [eax + 4]
jmp 0x46c3d6
lea esi, [eax + 4]
lea eax, [ebp - 0x4e8]
push 0x5950f8
push eax
call fcn.00407390
pop ecx
pop ecx
push esi
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5950f0
push eax
call fcn.00407390
pop ecx
pop ecx
push str.CSystemCommands::CreateTempFileName__fail_to_get_tmp_folder
push eax
call fcn.00407390
pop ecx
pop ecx
push 0x5967ac
push eax
call fcn.00407390
pop ecx
pop ecx
push edi
push eax
call fcn.004113b0
lea ecx, [ebp - 0x468]
mov byte [ebp - 4], 3
call fcn.00409c40
lea eax, [ebp - 0x44c]
push eax
call sub.log4cplusU.dll_public:_static_class_log4cplus::Logger___cdecl_log4cplus::Logger::getRoot_void_
pop ecx
mov esi, 0x2710
push esi
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 5
call sub.log4cplusU.dll_public:_bool___thiscall_log4cplus::Logger::isEnabledFor_int_const
test al, al
je 0x46c48c
lea ecx, [ebp - 0x468]
lea eax, [ebp - 0x4e8]
call fcn.00406700
push 0x7d4
push str..SystemCommands.cpp
push eax
push esi
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 6
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
lea ecx, [ebp - 0x468]
call fcn.00409c40
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 3
call sub.log4cplusU.dll_public_virtual:_void___thiscall_log4cplus::Logger::destructor_void_
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4e8]
call fcn.004067e0
jmp 0x46c395