Function at 0x10044ce0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a0143
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x10112018]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi], vtable.ACE_Event_Handler.0
mov eax, 1
mov dword [esi + 4], eax
xor ebx, ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], vtable.ACE_Event_Handler::Reference_Counting_Policy.0
mov dword [esi + 0x14], eax
mov dword [ebp - 4], ebx
mov dword [esi], vtable.ACE_MMAP_Memory_Pool.0
or eax, 0xffffffff
push 0x105
mov dword [esi + 0x18], eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x12c], eax
lea eax, [esi + 0x1c]
push ebx
push eax
mov dword [esi + 0x124], ebx
mov byte [esi + 0x130], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov byte [ebp - 4], 1
mov ecx, 7
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0x13c], 2
mov byte [esi + 0x140], bl
mov dword [esi + 0x144], ebx
mov dword [esi + 0x250], ebx
mov word [esi + 0x254], cx
mov byte [esi + 0x256], 1
mov byte [esi + 0x24d], bl
cmp edi, ebx
je 0x10044e0d
mov eax, dword [edi + 0x10]
cmp eax, ebx
je 0x10044dbd
mov dword [esi + 0x13c], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x138], eax
cmp eax, 1
jne 0x10044dda
mov edx, dword [edi]
or dword [esi + 0x13c], 4
mov dword [esi + 0x134], edx
mov al, byte [edi + 8]
mov byte [esi + 0x140], al
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x144], ecx
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x10044df9
mov dword [esi + 0x250], eax
mov dx, word [edi + 0x1c]
mov word [esi + 0x254], dx
mov al, byte [edi + 0x1f]
mov byte [esi + 0x256], al
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x148]
cmp ecx, ebx
jne 0x10044f09
push eax
push 0xf3
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp eax, ebx
jne 0x10044e3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x10044e46
jmp 0x10044eb2
cmp eax, 0xf3
jg 0x10044e46
cmp eax, 0xffffffff
jne 0x10044eb2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0xc], eax
call dword [sym.imp.MSVCR100.dll__errno]
mov eax, dword [eax]
cmp eax, ebx
jne 0x10044e63
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
jmp 0x10044e66
mov dword [ebp + 0xc], eax
call sym.ACE.dll_public:_static_class_ACE_Log_Msg____cdecl_ACE_Log_Msg::instance_void_
mov edx, dword [ebp + 0xc]
push str.Temporary_path_too_long__defaulting_to_current_directory_n
push 0x80
push eax
mov byte [eax + 0x13c], 1
mov dword [eax + 0x140], str.MMAP_Memory_Pool.cpp
mov dword [eax + 0x144], 0xad
mov dword [eax + 0x148], 0xffffffff
mov dword [eax + 0x14c], edx
call sym.ACE.dll_public:_int___cdecl_ACE_Log_Msg::log_enum_ACE_Log_Priority__char_const__
add esp, 0xc
mov byte [esi + 0x148], bl
lea eax, [esi + 0x147]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x10044eb8
mov ecx, dword [str.ace_malloc_XXXXXX]
mov dword [eax], ecx
mov edx, dword [0x100a7ef8]
mov dword [eax + 4], edx
mov ecx, dword [0x100a7efc]
mov dword [eax + 8], ecx
mov edx, dword [0x100a7f00]
mov dword [eax + 0xc], edx
mov cx, word [0x100a7f04]
mov word [eax + 0x10], cx
cmp edi, ebx
je 0x10044f27
cmp byte [edi + 0x1e], bl
je 0x10044f27
lea eax, [esi + 0x148]
push eax
call dword [sym.imp.MSVCR100.dll__mktemp]
add esp, 4
jmp 0x10044f27
cmp eax, ecx
je 0x10044f21
push 0x104
push ecx
push eax
mov byte [eax], bl
call dword [sym.imp.MSVCR100.dll_strncat]
add esp, 0xc
jmp 0x10044f27
mov byte [eax + 0x104], bl
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8