Function at 0x4168cd
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x2c], eax
xor ebx, ebx
xor eax, eax
mov byte [ebp - 0xc], bl
lea edi, [ebp - 0xb]
stosd dword es:[edi], eax
push ebx
mov byte [ebp - 0x14], bl
lea edi, [ebp - 0x13]
stosd dword es:[edi], eax
lea eax, [ebp - 0x28]
push eax
push 0x486
push 0x4a3d68
push dword [0x482288]
call dword [sym.imp.___total_physical_size__lu_MB_ReadFile]
test eax, eax
jne 0x416948
mov esi, dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push str.cant_read_from_hash_file_n
call esi
push eax
push 0x162
push str.HashFileUtils
call fcn.0044dc85
add esp, 0x10
call esi
cmp eax, 5
jne 0x416a9b
push eax
jmp 0x416a9d
mov eax, dword [0x4a3d68]
mov dword [ebp - 0xc], eax
push 4
pop ecx
lea edi, [ebp - 0x14]
lea esi, [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x14], 0x31302e31
repe cmpsb byte [esi], byte es:[edi]
je 0x41696b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x41699a
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
push str.Incompatible_hash_file._Plase_regenerate_the_file.__s____s__n
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x16f
push str.HashFileUtils
call fcn.0044dc85
add esp, 0x18
jmp 0x416a9b
lea eax, [ebp - 0x24]
push eax
call fcn.0041662a
cmp eax, 0xffffffff
jne 0x4169cb
push str.Corrupted_hash_file__cant_calculate_checksum_due_to_read_errors_nPlease_generate_a_new_hash_file_from_the_original_image.
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x178
push str.HashFileUtils
call fcn.0044dc85
add esp, 0x10
jmp 0x416a9b
push 0x10
mov edx, 0x4a3d6c
pop ecx
mov edi, edx
lea esi, [ebp - 0x24]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4169e3
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4169ff
lea eax, [ebp - 0x24]
push eax
push edx
push str.Corrupted_hash_file__checksum_failure._nPlease_generate_a_new_hash_file_from_the_original_image.
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x180
jmp 0x416988
mov eax, dword [0x4a3f98]
mov ecx, dword [0x4a3f9c]
mov edx, eax
or edx, ecx
je 0x416a7a
mov esi, dword [0x4a3f94]
cmp esi, ebx
je 0x416a7a
push ebx
add eax, 7
push 8
adc ecx, ebx
push ecx
push eax
call fcn.00453160
cmp eax, esi
jne 0x416a7a
cmp edx, ebx
jne 0x416a7a
lea eax, [esi + 0xa]
push 1
push eax
call fcn.00450903
pop ecx
pop ecx
push ebx
lea ecx, [ebp - 0x28]
push ecx
push esi
push eax
push dword [0x482288]
mov dword [0x4a41ee], eax
call dword [sym.imp.___total_physical_size__lu_MB_ReadFile]
test eax, eax
jne 0x416a70
push str.cant_read_from_hash_file_n
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x195
jmp 0x4169b9
call fcn.00416751
xor eax, eax
inc eax
jmp 0x416aa5
push dword [ebp - 0x2c]
push str._s_is_not_a_valid_hash_file_n
call dword [sym.imp.___total_physical_size__lu_MB_GetLastError]
push eax
push 0x18b
push str.HashFileUtils
call fcn.0044dc85
add esp, 0x14
push 0x15
call fcn.0041f0f5
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450b32
leave
ret 4