Function at 0x43e850
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x448c5b
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x467a74]
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
mov esi, ecx
mov dword [esi], vtable.CUpdateFiles.0
xor ebx, ebx
push 0xc
mov dword [ebp - 0x224], esi
mov dword [esi + 8], ebx
call sub.mfc100u.dll_new_1
add esp, 4
cmp eax, ebx
je 0x43ea14
mov dword [esi + 4], eax
mov dword [eax], eax
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
push 0xc
mov dword [ebp - 4], ebx
mov dword [esi + 0x14], ebx
call sub.mfc100u.dll_new_1
add esp, 4
cmp eax, ebx
je 0x43e9e0
mov dword [esi + 0x10], eax
mov dword [eax], eax
mov eax, dword [esi + 0x10]
mov dword [eax + 4], eax
lea eax, [esi + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ecx, [esi + 0x34]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
lea ecx, [esi + 0x650]
call dword [sym.imp.mfc100u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_clas]
push 0x208
lea eax, [ebp - 0x218]
push eax
push ebx
mov byte [ebp - 4], 4
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
lea eax, [ebp + edi*2 - 0x21a]
lea edx, [ebp - 0x218]
xor ecx, ecx
cmp eax, edx
je 0x43e951
lea esp, [esp]
sub eax, 2
mov edx, 0x5c
inc ecx
cmp dx, word [eax]
je 0x43e94a
lea edx, [ebp - 0x218]
cmp eax, edx
jne 0x43e930
jmp 0x43e951
or eax, 0xffffffff
sub eax, ecx
add edi, eax
xor ecx, ecx
lea eax, [edi + 0x20]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.mfc100u.dll_new__
push 0x104
mov ebx, eax
lea eax, [esi + 0x38]
push 0
push eax
call sub.MSVCR100.dll_memset
add edi, edi
push edi
lea eax, [ebp - 0x218]
push eax
lea eax, [esi + 0x38]
push eax
call sub.MSVCR100.dll_memcpy
xor ecx, ecx
push ebx
mov word [edi + ebx], cx
call sub.mfc100u.dll_delete__
add esp, 0x20
push 0x208
lea edx, [esi + 0x240]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
push 0x208
lea eax, [esi + 0x448]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov eax, esi
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.00442c00
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x220], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x45c0a4
lea edx, [ebp - 0x23c]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x45c0a4
lea ecx, [ebp - 0x230]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3