Function at 0x479540
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x573145
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 [0x5ed8c0]
mov ecx, 0x5ed8c0
mov byte [ebp - 4], 3
mov dword [ebp - 0x38], ecx
call dword [eax + 4]
mov eax, dword [0x5e5d30]
mov bl, 4
cmp eax, edi
mov byte [ebp - 4], bl
jne 0x4795e5
cmp dword [0x5e5d2c], edi
jne 0x4795e5
push 0xc
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x34], eax
cmp eax, edi
mov byte [ebp - 4], 5
je 0x4795bf
mov ecx, eax
call fcn.00464f50
jmp 0x4795c1
xor eax, eax
mov ecx, dword [0x5cf938]
mov byte [ebp - 4], bl
push ecx
push 0x41dab0
mov ecx, 0x5eafa0
mov dword [0x5e5d2c], eax
call fcn.00406600
mov dword [0x5e5d30], esi
mov edx, dword [0x5ed8c0]
mov esi, dword [0x5e5d2c]
mov ecx, 0x5ed8c0
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 0x479668
mov eax, dword [ebp - 0x30]
cmp eax, edi
je 0x479668
push 0x5d1498
lea edx, [ebp - 0x2c]
push eax
push edx
call fcn.00427500
mov eax, dword [ebp - 0x2c]
cmp eax, edi
je 0x479632
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 0x47965c
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
push edx
call fcn.004799c0
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 0x5ce884
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 0x4796ec
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.0047ec20
test al, al
je 0x4798f9
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 [0x5ed900]
mov ecx, 0x5ed900
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 [0x5e5d24]
mov bl, 0xe
cmp eax, edi
mov byte [ebp - 4], bl
jne 0x4797b0
cmp dword [0x5e5d20], edi
jne 0x4797b0
push 0x450
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 0x479786
mov ecx, esi
call fcn.004072c0
mov dword [esi], vtable.CComObjectNoRef_class_CKMPP2PMngr_.1.0
mov dword [esi + 4], vtable.CComObjectNoRef_class_CKMPP2PMngr_.0
jmp 0x479788
xor esi, esi
mov eax, dword [0x5cefcc]
mov ecx, 0x5eafa0
push eax
push 0x414670
mov byte [ebp - 4], bl
mov dword [0x5e5d20], esi
call fcn.00406600
mov dword [0x5e5d24], 1
mov edx, dword [0x5ed900]
mov esi, dword [0x5e5d20]
mov ecx, 0x5ed900
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.0040cd90
mov eax, dword [ebp - 0x1c]
cmp eax, edi
mov ebx, eax
jne 0x4797e4
xor esi, esi
jmp 0x479815
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.005655c0
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 0x479832
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 0x4798b0
cmp eax, 1
jne 0x4798b0
fld qword [ebp - 0x4c]
fmul qword [0x58d8f0]
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 0x47994e
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 0x5d8a80
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.00564cce
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 0x47998c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 1
cmp eax, edi
je 0x47999d
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