Function at 0x4729f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55d135
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x18], edi
mov esi, 1
mov dword [ebp - 0x30], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x2c], edi
mov eax, dword [0x5d2a60]
mov ecx, 0x5d2a60
mov byte [ebp - 4], 3
mov dword [ebp - 0x38], ecx
call dword [eax + 4]
mov eax, dword [0x5cb0cc]
mov bl, 4
cmp eax, edi
mov byte [ebp - 4], bl
jne 0x472a95
cmp dword [0x5cb0c8], edi
jne 0x472a95
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x34], eax
cmp eax, edi
mov byte [ebp - 4], 5
je 0x472a6f
mov ecx, eax
call fcn.0045e9d0
jmp 0x472a71
xor eax, eax
mov ecx, dword [0x5b5c48]
mov byte [ebp - 4], bl
push ecx
push 0x41ebd0
mov ecx, 0x5d0190
mov dword [0x5cb0c8], eax
call fcn.00406500
mov dword [0x5cb0cc], esi
mov edx, dword [0x5d2a60]
mov esi, dword [0x5cb0c8]
mov ecx, 0x5d2a60
mov byte [ebp - 4], 3
call dword [edx + 8]
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
push esi
call dword [eax + 8]
test eax, eax
jl 0x472b18
mov eax, dword [ebp - 0x30]
cmp eax, edi
je 0x472b18
push 0x5b7138
lea edx, [ebp - 0x2c]
push eax
push edx
call fcn.00423a70
mov eax, dword [ebp - 0x2c]
cmp eax, edi
je 0x472ae2
mov ecx, dword [eax]
lea edx, [ebp - 0x18]
push edx
push eax
call dword [ecx + 0xc]
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x1c]
push eax
call sub.MFC42.DLL_CString::CString_1
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 6
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x472b0c
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push edx
call fcn.00472e70
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString_3
lea edx, [ebp - 0x38]
push 1
push edx
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::Right
mov eax, dword [eax]
push 0x5b4864
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [ebp - 0x38]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x472b9c
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x38]
mov eax, dword [eax - 8]
dec eax
push eax
push edi
push ecx
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::operator_1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x20]
call fcn.00478020
test al, al
je 0x472da9
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString_3
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x1c], edi
mov edx, dword [0x5d2aa0]
mov ecx, 0x5d2aa0
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x40], ecx
call dword [edx + 4]
mov eax, dword [0x5cb0b4]
mov bl, 0xe
cmp eax, edi
mov byte [ebp - 4], bl
jne 0x472c60
cmp dword [0x5cb0b0], edi
jne 0x472c60
push 0x448
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x44], esi
cmp esi, edi
mov byte [ebp - 4], 0xf
je 0x472c36
mov ecx, esi
call fcn.00407150
mov dword [esi], vtable.CComObjectNoRef_class_CKMPP2PMngr_.1.0
mov dword [esi + 4], vtable.CComObjectNoRef_class_CKMPP2PMngr_.0
jmp 0x472c38
xor esi, esi
mov eax, dword [0x5b4fac]
mov ecx, 0x5d0190
push eax
push 0x414170
mov byte [ebp - 4], bl
mov dword [0x5cb0b0], esi
call fcn.00406500
mov dword [0x5cb0b4], 1
mov edx, dword [0x5d2aa0]
mov esi, dword [0x5cb0b0]
mov ecx, 0x5d2aa0
mov byte [ebp - 4], 0xd
call dword [edx + 8]
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x38]
push eax
push ecx
mov ecx, esi
call fcn.0040cc50
mov eax, dword [ebp - 0x1c]
cmp eax, edi
mov ebx, eax
jne 0x472c94
xor esi, esi
jmp 0x472cc5
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
mov eax, edi
add eax, 3
and al, 0xfc
call fcn.00550140
mov esi, esp
push 0
push 0
push edi
push esi
push 0xffffffffffffffff
push ebx
push 0
push 0
mov byte [esi], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor edi, edi
push esi
lea ecx, [ebp - 0x24]
call sub.MFC42.DLL_CString::operator_2
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + 0x14]
cmp eax, edi
je 0x472ce2
mov edx, dword [eax]
lea ecx, [ebp - 0x4c]
push ecx
push eax
call dword [edx + 0x4c]
mov edx, dword [esi]
lea eax, [ebp - 0x34]
push eax
push esi
call dword [edx + 0xc8]
mov eax, dword [ebp - 0x34]
cmp eax, 0xffffffff
je 0x472d60
cmp eax, 1
jne 0x472d60
fld qword [ebp - 0x4c]
fmul qword [0x576c68]
call sub.MSVCRT.dll__ftol
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
add edx, ecx
mov esi, 0xe10
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebx, edx
cdq
idiv esi
mov eax, 0x88888889
mov esi, edx
imul esi
add edx, esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov esi, edx
mov ecx, 0x3c
cdq
idiv ecx
push edx
push esi
push ebx
lea edx, [ebp - 0x28]
push str._02d_02d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
push eax
push ecx
push edx
lea eax, [ebp - 0x14]
push str._s_s__s
push eax
call sub.MFC42.DLL_CString::Format
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0x14
push ecx
call ebx
mov edx, dword [ebp - 0x38]
push edx
call ebx
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::CString
jmp 0x472dfe
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x52]
mov edx, dword [ebp - 0x54]
and eax, 0xffff
and ecx, 0xffff
push eax
mov eax, dword [ebp - 0x56]
and edx, 0xffff
push ecx
mov ecx, dword [ebp - 0x5a]
push edx
mov edx, dword [ebp - 0x5c]
and eax, 0xffff
and ecx, 0xffff
push eax
mov eax, dword [ebp - 0x10]
and edx, 0xffff
push ecx
push edx
push eax
lea ecx, [ebp - 0x14]
push 0x5be36c
push ecx
call sub.MFC42.DLL_CString::Format
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0x24
mov esi, dword [ebp + 8]
lea edx, [ebp - 0x14]
push edx
mov ecx, esi
call fcn.0054f83e
mov dword [ebp - 0x3c], 1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
cmp eax, edi
je 0x472e3c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 1
cmp eax, edi
je 0x472e4d
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x18]
push eax
call ebx
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x68]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4