Function at 0x441199
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x42c
mov eax, dword [0x4c143c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push 0x208
xor ebx, ebx
mov esi, ecx
push ebx
push eax
call fcn.0045b1d0
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push 0x208
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x441207
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esi + 0x110]
test edx, edx
je 0x441249
cmp dword [0x4c12e0], ebx
je 0x441249
mov ecx, dword [edx]
push eax
push str...Could_not_get_temp_path._Error:__u__use_the_passed_in_path
push edx
call dword [ecx + 0x14]
jmp 0x441246
mov ecx, dword [esi + 0x110]
test ecx, ecx
je 0x441236
cmp dword [0x4c12e0], ebx
je 0x441236
cmp dword [0x4c3630], ebx
je 0x441236
mov eax, dword [ecx]
lea edx, [ebp - 0x20c]
push edx
push str...Successfully_got_temporary_file_path:__s
push ecx
call dword [eax + 0x10]
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
push dword [ebp + 0xc]
push edi
call fcn.00465df5
add esp, 0xc
push edi
call fcn.00461890
pop ecx
test eax, eax
je 0x44126d
push edi
call fcn.00461890
pop ecx
cmp byte [eax + edi - 1], 0x5c
jne 0x44126d
push edi
call fcn.00461890
pop ecx
mov byte [eax + edi - 1], bl
push 1
push edi
call fcn.0044261e
pop ecx
pop ecx
mov ecx, dword [esi + 0x110]
test eax, eax
je 0x4412a5
test ecx, ecx
je 0x44129c
cmp dword [0x4c12e0], ebx
je 0x44129c
mov eax, dword [ecx]
push edi
push str...The_folder__s_does_not_exist._Creating_it
push ecx
call dword [eax + 0x18]
add esp, 0xc
push edi
call fcn.004447fc
pop ecx
jmp 0x4412c8
test ecx, ecx
je 0x4412c8
cmp dword [0x4c12e0], ebx
je 0x4412c8
cmp dword [0x4c3630], ebx
je 0x4412c8
mov eax, dword [ecx]
push edi
push str...Successfully_verified_that_folder__s_exists
push ecx
call dword [eax + 0x10]
add esp, 0xc
push str.cleanup.ini
lea eax, [ebp - 0x414]
push 0x208
push eax
call fcn.00465df5
add esp, 0xc
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
mov ebx, eax
test ebx, ebx
je 0x441322
cmp ebx, 1
je 0x441322
mov ecx, dword [esi + 0x110]
test ecx, ecx
je 0x4413b5
cmp dword [0x4c12e0], 0
je 0x4413b5
mov eax, dword [ecx]
push ebx
push str...CoInitialize___failed_in_CMcInstModule::_GetTempIniFile__._Error:_0x_x
push ecx
call dword [eax + 0x14]
add esp, 0xc
jmp 0x4413b5
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x4413ab
lea eax, [ebp - 0x428]
push eax
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.ole32.dll_StringFromCLSID]
test eax, eax
jne 0x4413ab
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x42c], eax
test eax, eax
je 0x4413ab
push eax
call fcn.0045ef01
inc eax
pop ecx
cmp eax, 0x3fffffff
jle 0x44136e
xor eax, eax
jmp 0x441389
lea esi, [eax + eax]
mov eax, esi
call fcn.00459690
mov eax, esp
push 3
push esi
push dword [ebp - 0x42c]
push eax
call fcn.0043dea8
push eax
lea eax, [ebp - 0x414]
push str._s.ini
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [ebp - 0x428]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
test ebx, ebx
jne 0x4413b5
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0x494bbc
push dword [ebp + 0xc]
push edi
call fcn.00465e4f
lea eax, [ebp - 0x414]
push eax
push dword [ebp + 0xc]
push edi
call fcn.00465e4f
add esp, 0x18
lea esp, [ebp - 0x438]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00458eeb
leave
ret 8