Function at 0x403d0a
Capabilities:
Check if file exists

Disassembly:
push 0x10c
mov eax, 0x421548
call fcn.0041fc5d
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0xf
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd8], ebx
mov edi, ecx
pop esi
mov dword [ebp - 0xdc], edi
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 0x5c], bl
mov dword [ebp - 4], ebx
mov eax, dword [edi]
push dword [eax + 0x558]
mov ecx, str.bugreport
push str.GetLogInfo__dwGetLogInfoOff_d
call fcn.00416d9e
mov eax, dword [edi]
pop ecx
pop ecx
cmp dword [eax + 0x558], ebx
je 0x403d86
add eax, 0x350
cmp word [eax], bx
je 0x403d86
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xf4], eax
jmp 0x403d8c
mov dword [ebp - 0xf4], ebx
cmp dword [ebp - 0xf4], ebx
je 0x403eb2
mov eax, dword [edi]
mov eax, dword [eax + 0x558]
add eax, dword [ebp - 0xf4]
mov dword [ebp - 0x104], eax
je 0x403e8b
lea eax, [ebp - 0xd8]
push 1
push eax
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xdc], ebx
call fcn.004010c5
mov ebx, eax
call fcn.0040471c
mov ebx, eax
lea eax, [ebp - 0xe4]
push 0x20
push eax
mov byte [ebp - 4], 1
call fcn.004010c5
call fcn.004046b5
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 2
call fcn.004010c5
lea esi, [ebp - 0xe8]
call fcn.004017bc
mov ecx, dword [ebp - 0x108]
push 0
lea edx, [ebp - 0xdc]
push edx
mov byte [ebp - 4], 3
mov ebx, dword [ebx]
mov ecx, dword [ecx]
mov eax, dword [eax]
lea edx, [ebp - 0xf0]
push edx
push ebx
push ecx
push 0x42832a
push eax
push dword [edi]
call dword [ebp - 0x104]
mov esi, eax
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
call fcn.00401613
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffff0
call fcn.00401613
test esi, esi
je 0x403e86
mov ecx, dword [ebp - 0xf0]
test ecx, ecx
je 0x403e86
mov eax, dword [ebp - 0xdc]
test eax, eax
je 0x403e86
lea esi, [ebp - 0x5c]
call fcn.00406bd6
push 0xf
xor ebx, ebx
pop esi
push dword [ebp - 0xf4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, dword [ebp - 0x100]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], esi
mov byte [eax], bl
lea ebx, [ebp - 0x5c]
call fcn.00406b6f
jmp 0x4045e3
call fcn.004017d8
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], ebx
mov byte [ebp - 0xd4], bl
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa8], ebx
mov byte [ebp - 0xb8], bl
mov dword [ebp - 0x9c], ebx
mov byte [ebp - 4], 4
mov eax, dword [edi]
lea ecx, [ebp - 0xfc]
push ecx
mov ecx, dword [eax + 0x5d4]
call fcn.00405495
mov byte [ebp - 4], 5
cmp dword [ebp - 0xf0], 0x60
mov eax, str.MidDump.dmp
je 0x403f16
mov eax, str..dmp
push eax
lea eax, [ebp - 0xe8]
push eax
lea ebx, [ebp - 0xfc]
call fcn.00405748
mov byte [ebp - 4], 6
push dword [eax]
lea eax, [ebp - 0xe4]
push eax
call fcn.00416869
add esp, 0x10
mov ebx, eax
mov byte [ebp - 4], 7
push dword [ebp - 0xf0]
lea eax, [ebp - 0xd8]
push eax
mov eax, edi
call fcn.004046b5
push ebx
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 8
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0xc
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
call fcn.00401613
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
call fcn.00401613
lea eax, [ebp - 0xe8]
push str..txt
push eax
lea ebx, [ebp - 0xfc]
call fcn.00405748
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0xe4]
push eax
call fcn.00416869
add esp, 0x10
mov esi, eax
push 1
lea eax, [ebp - 0xd8]
push eax
mov ebx, edi
mov byte [ebp - 4], 0xa
call fcn.0040471c
push esi
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0xb
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0xc
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
call fcn.00401613
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
call fcn.00401613
xor ebx, ebx
cmp dword [0x432f50], ebx
je 0x40406d
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x1d4c0
push dword [edi + 0x30]
call esi
cmp dword [0x432f50], ebx
je 0x40405c
push 0x7d0
push dword [edi + 0x30]
mov dword [0x432f50], ebx
mov dword [0x432f58], 1
call esi
mov eax, dword [edi + 0x30]
cmp eax, ebx
je 0x40406d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [edi + 0x30], ebx
push 2
lea eax, [ebp - 0xd8]
push eax
mov ebx, edi
call fcn.0040471c
push dword [eax]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
mov eax, dword [ebp - 0xd8]
add eax, 0xfffffff0
call fcn.00401613
test esi, esi
je 0x404122
lea eax, [ebp - 0xe8]
push str.FMD5.txt
push eax
lea ebx, [ebp - 0xfc]
call fcn.00405748
mov byte [ebp - 4], 0xc
push dword [eax]
lea eax, [ebp - 0xe4]
push eax
call fcn.00416869
add esp, 0x10
mov esi, eax
push 2
lea eax, [ebp - 0xd8]
push eax
mov ebx, edi
mov byte [ebp - 4], 0xd
call fcn.0040471c
push esi
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0xe
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0xc
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
call fcn.00401613
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xe8]
add eax, 0xfffffff0
call fcn.00401613
push edi
call fcn.004050bc
test eax, eax
je 0x4041c7
mov eax, dword [ebp - 0x104]
test byte [eax + 4], 1
je 0x4041c7
mov esi, dword [eax + 8]
mov ebx, dword [esi]
jmp 0x4041c3
lea eax, [ebp - 0x40]
lea ecx, [ebx + 8]
push eax
call fcn.00404617
lea eax, [ebp - 0x40]
push eax
push edi
mov byte [ebp - 4], 0xf
call fcn.004047c6
test eax, eax
je 0x40417b
mov eax, dword [edi]
lea ecx, [ebp - 0xd4]
push ecx
mov ecx, dword [eax + 0x24]
lea edx, [ebp - 0x40]
call fcn.00404a88
jmp 0x4041af
push dword [ebp - 0x40]
lea eax, [ebp - 0xd8]
push eax
call fcn.004167bc
push dword [ebp - 0x3c]
mov ecx, 0x42712c
push dword [eax]
push str.GetDetail2:_invalid_filter._FilterName__s__LogCount__d_
call fcn.00416d9e
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
lea edi, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.0040467a
mov ebx, dword [ebx]
mov edi, dword [ebp - 0xdc]
cmp ebx, esi
jne 0x404147
xor eax, eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 0x10
mov eax, dword [edi]
push dword [eax + 0x5d4]
lea eax, [ebp - 0x118]
push eax
call fcn.00414394
pop ecx
pop ecx
test eax, eax
je 0x4042bb
mov esi, dword [ebp - 0x118]
jmp 0x4042af
mov eax, dword [esi]
sub eax, 0x10
call fcn.00405f8b
lea ebx, [eax + 0x10]
mov dword [ebp - 0xdc], ebx
push ebx
mov byte [ebp - 4], 0x11
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4042a0
push 0x5c
push ebx
call dword [sym.imp.MSVCR100.dll_wcsrchr]
pop ecx
pop ecx
test eax, eax
jne 0x40423e
or eax, 0xffffffff
jmp 0x404242
sub eax, ebx
sar eax, 1
lea edx, [eax + 1]
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
call fcn.00405631
mov byte [ebp - 4], 0x12
push dword [eax]
lea eax, [ebp - 0xd8]
push eax
call fcn.00416869
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x13
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xe4]
add eax, 0xfffffff0
call fcn.00401613
lea eax, [ebx - 0x10]
mov byte [ebp - 4], 0x10
call fcn.00401613
add esi, 4
cmp esi, dword [ebp - 0x114]
jne 0x404208
lea eax, [ebp - 0xf8]
push eax
mov eax, edi
call fcn.004046fb
lea eax, [ebp - 0xec]
push eax
mov eax, edi
mov byte [ebp - 4], 0x14
call fcn.004046da
push 0
lea ecx, [ebp - 0x5c]
lea ebx, [ebp - 0xd4]
mov byte [ebp - 4], 0x15
call fcn.00415e77
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xdc], eax
cmp eax, 0xaf000
jb 0x40431d
push dword [ebp - 0xf0]
mov ecx, 0x42712c
push eax
push str.detail2_over_FILE_MAX_SIZE__lu__08X
call fcn.00416d9e
add esp, 0xc
jmp 0x40454a
mov edi, 0x64000
cmp eax, edi
jae 0x40454a
push dword [ebp - 0xf8]
xor ebx, ebx
mov byte [ebp - 0xdd], bl
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40444c
push 0xf
pop eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
mov dword [ebp - 0x60], ebx
mov esi, str.heapwalk_full.txt
lea eax, [ebp - 0xd8]
push esi
push eax
mov byte [ebp - 4], 0x16
call fcn.00416869
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x17
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
push 1
lea ecx, [ebp - 0x30]
lea ebx, [ebp - 0x98]
mov byte [ebp - 4], 0x18
call fcn.00415e77
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x20]
cmp ecx, edi
ja 0x404411
lea eax, [ebp - 0xd8]
push esi
push eax
call fcn.00416869
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x19
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
mov byte [ebp - 0xdd], 1
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.0040709b
push 1
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 0x15
call fcn.0040709b
push 1
lea esi, [ebp - 0x98]
call fcn.0040709b
cmp byte [ebp - 0xdd], 0
jne 0x40454a
mov edi, 0x64000
xor ebx, ebx
push dword [ebp - 0xec]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x40454a
push 0xf
pop esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x6c], ebx
mov byte [ebp - 0x7c], bl
mov dword [ebp - 0x60], ebx
lea eax, [ebp - 0xd8]
push str.heapwalk_above30.txt
push eax
mov byte [ebp - 4], 0x1a
call fcn.00416869
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x98]
push eax
mov byte [ebp - 4], 0x1b
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
push 1
lea ecx, [ebp - 0x30]
lea ebx, [ebp - 0x98]
mov byte [ebp - 4], 0x1c
call fcn.00415e77
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x20]
cmp ecx, edi
ja 0x404523
lea eax, [ebp - 0xd8]
push str.heapwalk_above30.txt
push eax
call fcn.00416869
push eax
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd4]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00413ce9
mov eax, dword [ebp - 0xd8]
add esp, 0x14
add eax, 0xfffffff0
call fcn.00401613
push 1
xor edi, edi
lea esi, [ebp - 0x30]
call fcn.0040709b
push 1
lea esi, [ebp - 0x7c]
mov byte [ebp - 4], 0x15
call fcn.0040709b
push 1
lea esi, [ebp - 0x98]
call fcn.0040709b
push dword [ebp - 0xec]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x404566
push dword [ebp - 0xec]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 1
lea ecx, [ebp - 0x5c]
lea ebx, [ebp - 0xd4]
call fcn.00415e77
mov eax, dword [ebp - 0x100]
and dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
lea ebx, [ebp - 0x5c]
mov byte [eax], 0
call fcn.00406b6f
mov eax, dword [ebp - 0xec]
add eax, 0xfffffff0
call fcn.00401613
mov eax, dword [ebp - 0xf8]
add eax, 0xfffffff0
call fcn.00401613
lea esi, [ebp - 0x118]
call fcn.00405aa5
mov eax, dword [ebp - 0xfc]
add eax, 0xfffffff0
call fcn.00401613
push 1
xor edi, edi
lea esi, [ebp - 0xb8]
call fcn.0040709b
push 1
lea esi, [ebp - 0xd4]
call fcn.0040709b
push 1
xor edi, edi
lea esi, [ebp - 0x5c]
call fcn.0040709b
mov eax, dword [ebp - 0x100]
call fcn.0041fce0
ret 8