Function at 0x4373e1
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x450
mov eax, dword [0x49f2a0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0xc0000000
push eax
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], esi
call fcn.00438ad2
mov edi, eax
mov dword [ebp - 0x410], edi
test edi, edi
jne 0x437425
inc eax
jmp 0x437806
push ebx
push esi
call fcn.00455611
mov ebx, 0x200
pop ecx
cmp eax, ebx
jae 0x437448
push str._n_nNo_Partition_table_information_found_in_image__Operation_aborted._n
call fcn.00450f5c
xor eax, eax
inc eax
jmp 0x437804
lea eax, [ebp - 0x450]
push eax
push edi
call fcn.00437049
cmp dword [ebp + 0x10], 0
je 0x437553
mov eax, dword [esi + 0x2c]
shr eax, 9
push eax
push dword [esi + 0x24]
push str._writing_at__lu__lu_sectors_n
call fcn.00450f5c
add esp, 0xc
push 1
push dword [esi + 0x24]
lea eax, [ebp - 0x204]
push eax
push 0x4200
push edi
call fcn.00438bbf
test eax, eax
jne 0x43749c
push dword [esi + 0x28]
push dword [esi + 0x24]
jmp 0x43781b
mov ebx, dword [ebp - 0x40c]
add esi, 0x30
mov ecx, 0x80
lea edi, [ebp - 0x204]
xor eax, eax
mov dword [ebp - 0x408], esi
repe cmpsd dword [esi], dword es:[edi]
je 0x4374d8
xor edi, edi
cmp dword [ebp + 0x14], edi
je 0x4374df
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push str._partition_data_changed_at__I64u_n
call fcn.00450f5c
add esp, 0xc
jmp 0x4374da
xor edi, edi
cmp dword [ebp + 0x14], edi
jne 0x4374ef
push 0x10
lea edi, [ebx + 0x1ee]
pop ecx
lea esi, [ebp - 0x46]
rep movsd dword es:[edi], dword [esi]
xor edi, edi
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebp - 0x410]
shr eax, 9
push eax
push dword [ebx + 0x24]
push dword [ebp - 0x408]
push 0x4300
push esi
call fcn.00438bbf
test eax, eax
jne 0x437527
push dword [ebx + 0x24]
push str._cant_write_new_data_at__lu_sectors__unable_to_continue_n
call fcn.00450f5c
pop ecx
jmp 0x437440
push edi
push 5
call fcn.0044dfdf
test eax, eax
je 0x43754c
push edi
lea eax, [ebp - 0x420]
push eax
push edi
push edi
push edi
push edi
push 0x70140
push dword [esi]
call dword [sym.imp.___total_physical_size__lu_MB_DeviceIoControl]
xor eax, eax
jmp 0x437805
lea ecx, [ebp - 0x418]
push ecx
push dword [esi + 0x20]
lea eax, [esi + 0x24]
push eax
call fcn.00436f15
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x434]
jl 0x437686
jg 0x43758c
mov eax, dword [ebp - 0x418]
cmp eax, dword [ebp - 0x438]
jbe 0x437686
mov eax, dword [ebp - 0x418]
shld ecx, eax, 9
push 0
mov dword [ebp - 0x424], ecx
lea ecx, [ebp - 0x424]
shl eax, 9
push ecx
push eax
push dword [edi]
mov dword [ebp - 0x428], eax
call dword [sym.imp.___total_physical_size__lu_MB_SetFilePointer]
push 0
lea eax, [ebp - 0x420]
push eax
push ebx
lea eax, [ebp - 0x404]
push eax
push dword [edi]
call dword [sym.imp.___total_physical_size__lu_MB_ReadFile]
test eax, eax
jne 0x437667
cmp dword [0x4cddcc], eax
je 0x437635
push eax
push 0x10
push 0x469ec0
push str._s___Restore_Partition_Structure
call fcn.0042f614
pop ecx
pop ecx
push eax
mov eax, dword [ebp - 0x438]
shr eax, 0xb
push eax
push dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
shr eax, 0xb
push eax
push dword [ebp - 0x418]
push str.highest_used_sector_in_image_is__lu___luMB___drive_has_only__lu__luMB__n
call fcn.0042f614
add esp, 0x14
push eax
push 0xf
push dword [0x4d617c]
call fcn.0041ee88
jmp 0x437828
mov eax, dword [ebp - 0x438]
shr eax, 0xb
push eax
push dword [ebp - 0x438]
mov eax, dword [ebp - 0x418]
shr eax, 0xb
push eax
push dword [ebp - 0x418]
push str.highest_used_sector_in_image_is__lu___luMB___drive_has_only__lu__luMB__n
call fcn.00450f5c
add esp, 0x14
jmp 0x437828
push dword [ebp - 0x434]
push dword [ebp - 0x438]
push dword [ebp - 0x418]
push str.highest_used_sector_is__lu__drive_has__I64u_but_highest_used_sector_is_readable__n
call fcn.00450f5c
add esp, 0x10
or dword [ebp - 0x41c], 0xffffffff
lea eax, [ebp - 0x41c]
push eax
push 0x46a3e0
push dword [ebp - 0x408]
lea ebx, [esi + 0x24]
call fcn.00451ad6
add esp, 0xc
cmp eax, 1
jne 0x437828
push dword [ebp - 0x41c]
call fcn.0040f885
push dword [ebp - 0x41c]
push 0
call fcn.0043916a
push dword [ebx + 8]
lea eax, [ebx + 0xc]
push eax
call fcn.00415c31
test eax, eax
je 0x4376f3
mov eax, dword [ebx + 8]
shr eax, 9
push eax
push dword [ebx]
lea eax, [ebx + 0xc]
push eax
push 0x4300
push edi
call fcn.00438bbf
mov eax, dword [esi + 0x20]
lea eax, [eax + esi + 0x24]
jmp 0x4377c3
mov eax, dword [ebx + 8]
shr eax, 9
push eax
push dword [ebx]
push str._writing_at__lu__lu_sectors_n
call fcn.00450f5c
add esp, 0xc
push 1
push dword [ebx]
lea eax, [ebp - 0x204]
push eax
push 0x4200
push edi
call fcn.00438bbf
test eax, eax
je 0x437816
lea esi, [ebx + 0xc]
mov ecx, 0x80
lea edi, [ebp - 0x204]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x437759
push dword [ebx + 4]
push dword [ebx]
push str._partition_data_changed_at__I64u_n
call fcn.00450f5c
add esp, 0xc
mov eax, dword [ebp - 0x40c]
add eax, 0x24
cmp ebx, eax
jne 0x43778c
mov esi, dword [ebx + 0x1c4]
jmp 0x437775
inc esi
mov dword [ebx + 0x1c4], esi
push dword [ebp - 0x408]
call fcn.004544a7
pop ecx
push eax
push esi
call fcn.00437319
test eax, eax
jne 0x43776e
mov eax, dword [ebx + 8]
shr eax, 9
push eax
push dword [ebx]
lea eax, [ebx + 0xc]
push eax
push 0x4300
push dword [ebp - 0x410]
call fcn.00438bbf
mov eax, dword [ebx + 8]
mov edi, dword [ebp - 0x410]
lea ebx, [ebx + eax + 0xc]
mov eax, dword [ebp - 0x40c]
mov ecx, dword [eax + 0x20]
lea eax, [ecx + eax + 0x24]
cmp ebx, eax
jb 0x4376ff
xor esi, esi
push esi
push 5
call fcn.0044dfdf
test eax, eax
je 0x4377f2
push esi
lea eax, [ebp - 0x42c]
push eax
push esi
push esi
push esi
push esi
push 0x70140
push dword [edi]
call dword [sym.imp.___total_physical_size__lu_MB_DeviceIoControl]
push edi
call fcn.00438b96
push str.partition_structure_successfully_restored__n
call fcn.00450f5c
xor eax, eax
pop ecx
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00450b32
leave
ret 0x10
push dword [ebx + 4]
push dword [ebx]
push str._cant_read_old_data_at__I64u_sectors__unable_to_continue_n
call fcn.00450f5c
add esp, 0xc
xor eax, eax
inc eax
jmp 0x437805