Function at 0x402c37
Capabilities:
Check if file exists

Disassembly:
push 0x7c
mov eax, 0x41c5f1
call fcn.00417909
mov edi, ecx
xor esi, esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x34], esi
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], esi
call fcn.00409ff8
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], esi
lea ebx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0040a0c8
test eax, eax
je 0x402e55
cmp dword [ebp - 0x18], esi
je 0x402e55
push 0x4221f4
mov ecx, ebx
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::append_wchar_t_const__]
push str.TSBSFixBakFileList.xml
mov ecx, ebx
call dword [sym.imp.MSVCP80.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::append_wchar_t_const__]
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x402caa
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, esi
jne 0x402ce6
call fcn.0041ab80
test al, al
je 0x402cdf
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x402cca
lea eax, [ebp - 0x28]
push eax
push str._GetBackupKBList___s_file_not_exist
push 0xb
push str.D:jenkins_Trunkworkspace10.6Patch_SourceJobqqpcmgr_projBlueRayFTSafeAppQMBlueScreenFixerDataReport.cpp
call fcn.0041ad40
add esp, 0x10
xor ebx, ebx
jmp 0x402e86
push 0x88
call fcn.00416f0a
pop ecx
mov dword [ebp - 0x30], eax
cmp eax, esi
mov byte [ebp - 4], 2
je 0x402d2b
cmp dword [ebp - 0x14], 8
mov eax, dword [ebp - 0x28]
jae 0x402d08
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 3
push eax
push dword [ebp - 0x30]
mov dword [ebp - 0x34], 1
call fcn.0040896f
mov esi, eax
mov dword [ebp - 4], 1
test byte [ebp - 0x34], 1
mov dword [ebp - 0x30], esi
je 0x402d44
lea ecx, [ebp - 0x6c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
test esi, esi
je 0x402e72
mov eax, esi
call fcn.004089a7
movzx ebx, al
test ebx, ebx
jne 0x402d80
call fcn.0041ab80
test al, al
je 0x402e74
push str._GetBackupKBList__pBSFixBakFileList__Init_failed
push 0xb
push str.D:jenkins_Trunkworkspace10.6Patch_SourceJobqqpcmgr_projBlueRayFTSafeAppQMBlueScreenFixerDataReport.cpp
call fcn.0041ad40
add esp, 0xc
jmp 0x402e74
lea edx, [ebp - 0x44]
mov ecx, esi
call fcn.00408c8e
movzx ebx, al
test ebx, ebx
je 0x402e42
cmp dword [ebp - 0x3c], 0
je 0x402e42
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x40]
je 0x402dbe
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x38], eax
je 0x402dc4
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [ebp - 0x34], esi
je 0x402e11
push 0x422a7c
lea esi, [ebp - 0x38]
call fcn.00402f89
push eax
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.MSVCP80.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_std::operator_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const___wchar_t_const__]
add esp, 0xc
push eax
mov ecx, edi
mov byte [ebp - 4], 5
call dword [0x41d228]
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea edi, [ebp - 0x50]
call fcn.00402fab
mov edi, dword [ebp - 0x48]
jmp 0x402dad
call fcn.0041ab80
test al, al
je 0x402e3d
cmp dword [edi + 0x18], 8
jb 0x402e25
mov eax, dword [edi + 4]
jmp 0x402e28
lea eax, [edi + 4]
push eax
push 0x422a80
push 0xb
push str.D:jenkins_Trunkworkspace10.6Patch_SourceJobqqpcmgr_projBlueRayFTSafeAppQMBlueScreenFixerDataReport.cpp
call fcn.0041ad40
add esp, 0x10
xor ebx, ebx
inc ebx
jmp 0x402e74
call fcn.0041ab80
test al, al
je 0x402e74
push str._GetBackupKBList__pBSFixBakFileList__GetBakFileList_return_fail_or_list_empty
jmp 0x402d6c
call fcn.0041ab80
test al, al
je 0x402e72
push str._GetBackupKBList__QMGetInstallDirEx_return_failed
push 0xb
push str.D:jenkins_Trunkworkspace10.6Patch_SourceJobqqpcmgr_projBlueRayFTSafeAppQMBlueScreenFixerDataReport.cpp
call fcn.0041ad40
add esp, 0xc
xor ebx, ebx
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x402e86
call fcn.004089ed
push esi
call fcn.00402eb4
lea esi, [ebp - 0x44]
mov byte [ebp - 4], 0
call fcn.00402ffb
push dword [ebp - 0x40]
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
and dword [ebp - 0x40], 0
or dword [ebp - 4], 0xffffffff
pop ecx
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, ebx
call fcn.00417953
ret