Function at 0x4015e0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x421839
mov eax, dword fs:[0]
push eax
sub esp, 0x6bc
mov eax, dword [0x4300b8]
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
xor ebx, ebx
mov dword [ebp - 0x6ac], ebx
mov dword [ebp - 0x6ac], ebp
mov eax, dword [ebp - 0x6ac]
push ebx
push eax
push 0x423240
call fcn.00417080
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne 0x40163c
mov edi, str.void___thiscall_CBugReporter::Start_void_
push 0x432b5c
push edi
mov edx, str.void___thiscall_CBugReporter::Start_void_
mov ecx, 0x4232c4
lea esi, [ebp - 0x6c8]
call fcn.0040c280
mov dword [ebp - 4], ebx
cmp edi, ebx
jne 0x401660
push ebp
pop ebp
push 0x206
lea edx, [ebp - 0x49e]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x4a0], cx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea eax, [ebp - 0x4a0]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea ecx, [ebp - 0x4a0]
push ecx
call esi
push 0x206
lea eax, [ebp - 0x296]
xor edx, edx
push ebx
push eax
mov word [ebp - 0x298], dx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x206
lea edx, [ebp - 0x6a6]
xor ecx, ecx
push ebx
push edx
mov word [ebp - 0x6a8], cx
call sub.MSVCR90.dll_memset
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
add esp, 0xc
push 0x104
lea eax, [ebp - 0x298]
push eax
push ebx
call edi
push 0x104
lea ecx, [ebp - 0x298]
push ecx
lea edx, [ebp - 0x6a8]
push edx
call dword [sym.imp.MSVCR90.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x298]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebp - 0x298]
push ecx
call ebx
push eax
lea edx, [ebp - 0x4a0]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x4a0]
push eax
call esi
lea ecx, [ebp - 0x4a0]
push ecx
call fcn.00401870
mov esi, 1
push esi
call fcn.00401b60
push 0x7e
mov al, 0x30
lea edx, [ebp - 0x8e]
push 0
push edx
mov byte [ebp - 0x90], al
mov byte [ebp - 0x8f], al
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x800
lea eax, [ebp - 0x6b0]
push eax
lea ecx, [ebp - 0x90]
push ecx
mov dword [ebp - 0x6b0], 0x80
call fcn.00418bce
lea edx, [ebp - 0x90]
push edx
call fcn.00401a00
test byte [0x432bfc], 1
jne 0x4017da
or dword [0x432bfc], esi
mov byte [ebp - 4], 1
call fcn.004014a0
push eax
mov ecx, 0x432be0
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
push 0x421d80
call fcn.0041e5df
add esp, 4
mov byte [ebp - 4], 0
push 0x104
lea eax, [ebp - 0x298]
push eax
push 0
call edi
lea ecx, [ebp - 0x298]
push ecx
call ebx
cmp dword [0x432bf8], 8
mov ecx, dword [0x432be4]
jae 0x401807
mov ecx, 0x432be4
push ecx
lea edx, [ebp - 0x298]
push edx
push eax
call fcn.00401920
mov eax, dword [0x430e50]
cmp dword [eax + 0x30], esi
jg 0x40182f
cmp dword [eax + 0x28], 0
jne 0x40182b
cmp dword [eax + 0x2c], 0
je 0x40182f
push 0
jmp 0x401830
push esi
call fcn.00401ab0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6c8]
call fcn.0040bfc0
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.0041e4d2
mov esp, ebp
pop ebp
ret