Function at 0x417ad3
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x15bc
call fcn.00453130
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0x50
lea eax, [ebp - 0x15b8]
push ebx
push eax
mov dword [ebp - 0x1568], edi
mov dword [ebp - 0x1564], esi
mov dword [ebp - 0x15bc], ebx
call fcn.00450230
add esp, 0xc
lea eax, [ebp - 0x1524]
mov dword [ebp - 0x1558], eax
push 1
lea eax, [ebp - 0x15bc]
push eax
push edi
call fcn.00421aa2
test eax, eax
je 0x417b5c
push edi
push str._ncant_read_extended_volume_information_for__s
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x7d6
push str.HashFileUtils
call fcn.0044dc85
add esp, 0x14
jmp 0x418060
mov eax, dword [0x4cd544]
cmp eax, ebx
je 0x417d8e
mov ebx, eax
jmp 0x417cf9
cmp byte [ebx], 0x2c
jne 0x417b76
inc ebx
push 0x2c
push ebx
call fcn.00452670
pop ecx
pop ecx
test eax, eax
je 0x417b88
sub eax, ebx
jmp 0x417b96
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b8d
sub eax, edx
push ebx
push eax
push eax
push str._.s
mov dword [ebp - 0x1560], eax
lea eax, [ebp - 0x224]
push 0x10e
push eax
call fcn.00450d91
add esp, 0x18
test eax, eax
js 0x417cf3
lea eax, [ebp - 0x224]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417bc9
sub eax, edx
cmp eax, 1
jbe 0x417c00
lea esi, [ebp - 0x224]
cmp byte [eax + esi - 1], 0x5c
jne 0x417c00
mov byte [eax + esi - 1], 0
lea eax, [ebp - 0x224]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417bf2
sub eax, ecx
cmp eax, 1
ja 0x417bdd
lea eax, [ebp - 0x224]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417c09
sub eax, edx
cmp byte [ebp + eax - 0x225], 0x3a
jne 0x417c38
lea edi, [ebp - 0x224]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417c23
mov esi, 0x469ef8
movsw word es:[edi], word [esi]
mov edi, dword [ebp - 0x1568]
mov esi, dword [sym.imp.___total_physical_size__lu_MB_GetFileAttributesA]
lea eax, [ebp - 0x224]
push eax
call esi
cmp eax, 0xffffffff
je 0x417c96
test al, 0x10
je 0x417c7c
mov eax, dword [ebp - 0x15b8]
add eax, 0x104
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x10c]
push 0x4696e0
push eax
call fcn.00450c76
add esp, 0x10
jmp 0x417d1c
xor eax, eax
mov cl, byte [ebp + eax - 0x224]
mov byte [ebp + eax - 0x10c], cl
inc eax
test cl, cl
jne 0x417c7e
jmp 0x417d1c
push 0x46c02c
lea eax, [ebp - 0x224]
push eax
call fcn.00442cad
lea edx, [ebp - 0x224]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x417caf
lea eax, [ebp - 0x224]
push eax
call esi
cmp eax, 0xffffffff
jne 0x417d07
lea eax, [ebp - 0x224]
push eax
push str._s_not_found_n
push 0xfff
push dword [ebp - 0x1558]
lea eax, [ebp - 0x1524]
push eax
call fcn.00417a5d
add esp, 0x14
add dword [ebp - 0x1558], eax
add ebx, dword [ebp - 0x1560]
cmp byte [ebx], 0
jne 0x417b70
jmp 0x417fdb
xor eax, eax
mov cl, byte [ebp + eax - 0x224]
mov byte [ebp + eax - 0x10c], cl
inc eax
test cl, cl
jne 0x417d09
push 0x30
lea eax, [ebp - 0x1554]
push 0
push eax
call fcn.00450230
lea eax, [ebp - 0x1554]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0045496b
add esp, 0x14
test dword [ebp - 0x154e], 0x8000
lea eax, [ebp - 0x10c]
je 0x417ccd
push edi
push eax
call fcn.0041786c
test eax, eax
lea eax, [ebp - 0x10c]
jne 0x417d74
push eax
push str._s_found__but_not_valid_n
jmp 0x417cd3
push dword [ebp + 0x10]
push eax
push dword [ebp - 0x1564]
call fcn.00451260
xor eax, eax
add esp, 0xc
inc eax
jmp 0x418062
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x155c]
push eax
push edi
call fcn.00451211
add esp, 0x14
cmp byte [ebp - 0x155c], bl
jne 0x417e00
cmp byte [ebp - 0x324], bl
jne 0x417e00
push 0x104
lea eax, [ebp - 0x210]
push edi
push eax
call fcn.0045320a
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x155c]
push eax
lea eax, [ebp - 0x210]
push eax
call fcn.00451211
add esp, 0x20
mov eax, dword [ebp - 0x15b8]
add eax, 0x104
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x155c]
push eax
lea eax, [ebp - 0x10c]
push 0x46c710
push eax
call fcn.00450c76
add esp, 0x14
cmp dword [0x4cd334], 1
jne 0x417e7d
push edi
lea eax, [ebp - 0x10c]
push eax
call fcn.0041786c
test eax, eax
je 0x417e7d
push dword [ebp + 0x10]
push ebx
push esi
call fcn.00450230
lea eax, [ebp - 0x10c]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417e5e
sub eax, ecx
cmp eax, dword [ebp + 0x10]
jb 0x417e6f
mov eax, dword [ebp + 0x10]
push eax
lea eax, [ebp - 0x10c]
push eax
push esi
jmp 0x417d7e
push 0x30
lea eax, [ebp - 0x1554]
push ebx
push eax
call fcn.00450230
lea eax, [ebp - 0x1554]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0045496b
add esp, 0x14
test dword [ebp - 0x154e], 0x8000
mov ebx, str._s_found_but_not_valid_n
lea eax, [ebp - 0x10c]
je 0x417eee
push edi
push eax
call fcn.0041786c
test eax, eax
je 0x417ee4
push dword [ebp + 0x10]
push 0
push esi
call fcn.00450230
lea eax, [ebp - 0x10c]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x417edb
jmp 0x417e65
lea eax, [ebp - 0x10c]
push eax
push ebx
jmp 0x417ef4
push eax
push str._s_not_found_n
lea eax, [ebp - 0x1524]
push 0xfff
push eax
push eax
call fcn.00417a5d
lea edi, [ebp + eax - 0x1524]
add esp, 0x14
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x15b8]
lea ecx, [eax + 0x104]
push ecx
push eax
mov esi, 0x46aaa0
push esi
call fcn.0042f614
add esp, 0xc
push eax
call fcn.00450597
pop ecx
pop ecx
test eax, eax
je 0x417fdb
mov eax, dword [ebp - 0x15b8]
lea ecx, [eax + 0x104]
push ecx
push eax
lea eax, [ebp - 0x10c]
push esi
push eax
call fcn.00450c76
add esp, 0x10
cmp byte [ebp - 0x10c], 0
je 0x417fdb
push 0x30
lea eax, [ebp - 0x1554]
push 0
push eax
call fcn.00450230
lea eax, [ebp - 0x1554]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.0045496b
add esp, 0x14
test dword [ebp - 0x154e], 0x8000
lea eax, [ebp - 0x10c]
je 0x417fc0
push dword [ebp - 0x1568]
push eax
call fcn.0041786c
test eax, eax
lea eax, [ebp - 0x10c]
jne 0x417d74
push eax
push ebx
jmp 0x417fc6
push eax
push str._s_not_found_n
push 0xfff
lea eax, [ebp - 0x1524]
push edi
push eax
call fcn.00417a5d
add esp, 0x14
mov eax, dword [ebp - 0x15b8]
add eax, 0x104
push eax
push dword [ebp - 0x1564]
call fcn.00450c76
pop ecx
pop ecx
push 0
push 0x20000030
push str.Cant_find_full_image
lea eax, [ebp - 0x1524]
push eax
mov eax, dword [ebp - 0x15b8]
movzx ecx, word [eax + 0x214]
push ecx
movzx ecx, word [eax + 0x212]
push ecx
movzx ecx, word [eax + 0x210]
push ecx
movzx ecx, word [eax + 0x208]
push ecx
movzx ecx, word [eax + 0x20a]
push ecx
movzx ecx, word [eax + 0x20e]
push ecx
lea ecx, [eax + 0x104]
push ecx
push eax
push str.Cant_find_the_original_full_image._nThe_original_full_image_was__s_s_saved_at__d._d._d__d:_02d:_02d_nPlease_select_the_correct_file._n_nAdditional_information:_n_s
call fcn.0042f614
add esp, 0x28
push eax
push 2
push dword [0x4d617c]
call fcn.0041ee88
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450b32
leave
ret 0xc