Function at 0x410600
Capabilities:
Get disk information
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x778
mov eax, dword [0x448004]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
push 0x104
lea eax, [ebp - 0x114]
mov dword [ebp - 0x758], edx
mov ebx, ecx
mov dword [ebp - 0x730], 0
push 0
push eax
mov dword [ebp - 0x774], ebx
mov dword [ebp - 0x72c], 0x5c3a3f
call fcn.00420f90
add esp, 0xc
mov dword [ebp - 0x76c], 0
mov dword [ebp - 0x770], 0
mov byte [ebp - 0x725], 7
push 0x4416b0
call fcn.00414ac0
mov edi, dword [ebx + 0x10]
add esp, 4
mov edx, dword [ebx + 0x14]
mov ecx, edi
mov esi, 1
call fcn.00434810
movsd xmm1, qword [0x4455a0]
movaps xmm2, xmm0
divsd xmm2, xmm1
mov eax, edi
and eax, 0x3fffffff
or eax, 0
divsd xmm2, xmm1
divsd xmm2, xmm1
jne 0x4106b4
mov eax, dword [ebx + 0x14]
shrd edi, eax, 0x1e
jmp 0x4106f8
movsd xmm3, qword [0x445588]
xor eax, eax
nop
movd xmm1, esi
cvtdq2pd xmm1, xmm1
comisd xmm1, xmm2
jbe 0x4106d7
movaps xmm0, xmm1
subsd xmm0, xmm2
jmp 0x4106de
movaps xmm0, xmm2
subsd xmm0, xmm1
divsd xmm0, xmm1
comisd xmm3, xmm0
ja 0x4106f6
inc eax
add esi, esi
cmp eax, 0xc
jl 0x4106c0
cvttsd2si edi, xmm2
jmp 0x4106f8
mov edi, esi
mov esi, dword [ebp - 0x758]
lea eax, [ebx + 0xa0]
push edi
push eax
lea eax, [ebx + 0x20]
mov ecx, 0x43f9d0
push eax
push dword [ebx + 4]
test esi, esi
mov eax, 0x43f9d4
cmove eax, ecx
push eax
push dword [ebp + 8]
push str.InstallVentoy2PhyDrive_try_d__s_PhyDrive_d____s__s__dGB__
call fcn.00414ac0
add esp, 0x1c
push 0x4416b0
call fcn.00414ac0
add esp, 4
mov edi, 0xc
test esi, esi
je 0x4107dd
push 0x4400
call fcn.0042442e
add esp, 4
mov esi, eax
mov dword [ebp - 0x738], esi
push 0x4400
push 0
push esi
call fcn.00420f90
add esp, 0xc
lea ecx, [edi - 4]
call fcn.00418700
push dword [ebx + 0x14]
mov ecx, esi
push dword [ebx + 0x10]
call fcn.00415e80
mov eax, dword [esi + 0x420]
add esp, 8
mov edi, dword [esi + 0x428]
mov ecx, dword [esi + 0x424]
sub edi, eax
mov dword [ebp - 0x768], eax
mov eax, dword [esi + 0x42c]
sbb eax, ecx
mov dword [ebp - 0x764], ecx
add edi, 1
mov dword [ebp - 0x75c], edi
mov edi, esi
adc eax, 0
mov dword [ebp - 0x74c], eax
mov eax, dword [esi + 0x4a0]
mov dword [ebp - 0x748], eax
mov eax, dword [esi + 0x4a4]
mov dword [ebp - 0x760], eax
jmp 0x410864
mov ecx, 8
call fcn.00418700
cmp dword [0x44ae08], 2
lea ecx, [ebp - 0x724]
movzx eax, byte [ebp - 0x725]
cmove eax, edi
xor edx, edx
mov byte [ebp - 0x750], al
push dword [ebp - 0x750]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
call fcn.00415c50
mov eax, dword [ebp - 0x55e]
add esp, 0xc
mov dword [ebp - 0x768], eax
xor edi, edi
mov eax, dword [ebp - 0x55a]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp - 0x54e]
mov dword [ebp - 0x764], 0
mov dword [ebp - 0x74c], 0
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x760], 0
mov dword [ebp - 0x738], edi
push str.Lock_disk_for_clean_.............................
call fcn.00414ac0
mov ecx, dword [ebx + 4]
mov dl, 1
push 0
call fcn.0040cd60
mov esi, eax
add esp, 8
mov dword [ebp - 0x750], esi
cmp esi, 0xffffffff
jne 0x4108b6
push str.Failed_to_open_physical_disk
call fcn.00414ac0
add esp, 4
push edi
call fcn.0042422d
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0041fa5e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x114]
push 0x104
call fcn.0040ccb0
add esp, 4
cmp byte [ebp - 0x114], 0
jne 0x410921
push str.No_drive_letter_was_assigned...
call fcn.00414ac0
add esp, 4
mov byte [ebp - 0x725], 0x44
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov cl, byte [ebp - 0x725]
shr eax, 3
test al, 1
je 0x410908
nop dword [eax]
shr eax, 1
inc cl
test al, 1
jne 0x410900
movsx eax, cl
push eax
push str.GetFirstUnusedDriveLetter__C:_...
mov byte [ebp - 0x72c], cl
call fcn.00414ac0
add esp, 8
jmp 0x410997
lea edi, [ebp - 0x114]
lea ecx, [edi + 1]
nop word [eax + eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x410930
sub edi, ecx
test edi, edi
jle 0x410997
lea ebx, [ebp + edi - 0x115]
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebx]
mov byte [ebp - 0x72c], al
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x72c]
push eax
push str.Delete_mountpoint__s_ret:_u_code:_u
call fcn.00414ac0
dec edi
lea ebx, [ebx - 1]
add esp, 0x10
test edi, edi
jg 0x410950
mov ebx, dword [ebp - 0x774]
mov esi, dword [ebp - 0x750]
mov al, byte [ebp - 0x72c]
mov byte [ebp - 0x725], al
movsx eax, al
push eax
push str.Will_use__C:_as_volume_mountpoint
call fcn.00414ac0
add esp, 8
lea eax, [ebp - 0x734]
push 0
push eax
push 0
push 0
push 0
push 0
push 0x9001c
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 9
call fcn.00418700
mov edi, dword [ebx + 4]
mov ecx, 1
push 0
push 0
push 0x4043f0
mov edx, edi
call fcn.00403e30
add esp, 0xc
mov esi, eax
mov eax, str.FAIL
test esi, esi
mov ecx, str.SUCCESS
cmove ecx, eax
push ecx
push esi
push edi
push str.VDS_DeleteAllPartitions__d_ret:_d___s_
call fcn.00414ac0
add esp, 0x10
test esi, esi
jne 0x410a36
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Notice:_Could_not_delete_partitions:_0x_x__but_we_continue.
call fcn.00414ac0
add esp, 8
push str.Deleting_all_partitions_........................._OK
call fcn.00414ac0
add esp, 4
mov ecx, 0xa
call fcn.00418700
push str.Lock_disk_for_write_.............................
call fcn.00414ac0
mov ecx, dword [ebx + 4]
mov dl, 1
push 1
call fcn.0040cd60
mov esi, eax
add esp, 8
mov dword [ebp - 0x750], esi
cmp esi, 0xffffffff
jne 0x410a7d
push str.Failed_to_GetPhysicalHandle_for_write.
jmp 0x41154c
push 0
lea eax, [ebp - 0x734]
push eax
push 0
push 0
push 0
push 0
push 0x70140
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x74c]
adc eax, dword [ebp - 0x764]
mov dword [0x44b720], ecx
mov ecx, 0xb
mov dword [0x44b728], esi
mov dword [0x44b724], eax
call fcn.00418700
cmp dword [ebp - 0x758], 1
jne 0x410af4
cmp dword [ebx + 8], 0
jne 0x410af4
push str.Wait_for_format_part1_...
call fcn.00414ac0
add esp, 4
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x44ae08]
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 2
jne 0x410d46
mov ecx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x74c]
shld eax, ecx, 9
shl ecx, 9
cmp eax, 8
jb 0x410d90
ja 0x410b2e
test ecx, ecx
jb 0x410d90
push str.Formatting_part1_large_FAT32_...
call fcn.00414ac0
mov eax, dword [0x44abf8]
add esp, 4
mov dword [ebp - 0x76c], 1
mov word [ebp - 0x524], 0x102
mov dword [ebp - 0x520], 8
mov ecx, dword [eax*4 + 0x43bc90]
mov dword [ebp - 0x51c], 1
test ecx, ecx
jne 0x410b9e
mov eax, dword [ebx + 0x10]
and eax, 0xc0000000
cmp dword [ebx + 0x14], 8
ja 0x410b92
jb 0x410b86
test eax, eax
jne 0x410b92
mov dword [ebp - 0x518], 0x8000
jmp 0x410ba4
mov dword [ebp - 0x518], 0x20000
jmp 0x410ba4
mov dword [ebp - 0x518], ecx
mov eax, ecx
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push ecx
push str.Formatting_Part1_large_FAT32_ClusterSize:_u__uKB__...
call fcn.00414ac0
add esp, 0xc
mov dword [0x4493e0], 0
lea edx, [ebp - 0x524]
mov dword [0x4493f4], 0
mov ecx, 0x440d0c
push 0x800000
push 0
call fcn.0040aad0
add esp, 8
test eax, eax
jne 0x410d2e
cmp dword [0x4493e0], eax
je 0x410c17
mov eax, str.Formatting_Part1_large_FAT32_failed__write_error.
push eax
call fcn.00414ac0
add esp, 4
push str.FormatPart1LargeFAT32_failed.
jmp 0x41154c
push str.Formatting_Part1_large_FAT32_success__now_set_label
call fcn.00414ac0
add esp, 4
mov dword [ebp - 0x754], 0x440d0c
lea ecx, [ebp - 0x740]
mov dword [ebp - 0x740], 0x440d0c
call fcn.00409010
test eax, eax
jns 0x410c5f
mov eax, 0xb
push eax
push str.f_mount_failed__d
call fcn.00414ac0
add esp, 8
jmp 0x410ed4
mov ecx, dword [eax*4 + 0x44abd8]
test ecx, ecx
je 0x410c6d
mov byte [ecx], 0
lea ecx, [ebp - 0x36c]
mov byte [ebp - 0x36c], 0
mov dword [eax*4 + 0x44abd8], ecx
lea edx, [ebp - 0x740]
push ecx
lea ecx, [ebp - 0x754]
call fcn.004096f0
add esp, 4
test eax, eax
jne 0x410c4c
push str.f_mount_SUCCESS
call fcn.00414ac0
add esp, 4
call fcn.00409f40
test eax, eax
jne 0x410d1b
push str.f_setlabel_SUCCESS
call fcn.00414ac0
add esp, 4
mov dword [ebp - 0x740], 0x440d0c
lea ecx, [ebp - 0x740]
call fcn.00409010
test eax, eax
jns 0x410cdd
mov eax, 0xb
jmp 0x410cf8
mov ecx, dword [eax*4 + 0x44abd8]
test ecx, ecx
je 0x410ceb
mov byte [ecx], 0
mov dword [eax*4 + 0x44abd8], 0
xor eax, eax
test eax, eax
mov edx, str.FAILED
mov ecx, str.SUCCESS
cmovne ecx, edx
push ecx
push eax
push str.f_unmount__d__s
call fcn.00414ac0
add esp, 0xc
jmp 0x410ed4
push eax
push str.f_setlabel_failed__d
call fcn.00414ac0
add esp, 8
jmp 0x410ed4
mov eax, str.Formatting_Part1_large_FAT32_failed
push eax
call fcn.00414ac0
add esp, 4
push str.FormatPart1LargeFAT32_failed.
jmp 0x41154c
test eax, eax
jne 0x410d90
mov eax, dword [0x44abf8]
cmp dword [eax*4 + 0x43bc90], 0
jne 0x410d90
push str.Formatting_part1_exFAT_...
call fcn.00414ac0
add esp, 4
mov dword [ebp - 0x770], 1
push dword [ebx + 0x14]
push dword [ebx + 0x10]
call fcn.0040f120
add esp, 8
test eax, eax
je 0x410ed4
push str.FormatPart1exFAT_failed.
jmp 0x41154c
push str.Zero_part1_file_system_...
call fcn.00414ac0
add esp, 4
mov dword [ebp - 0x740], 0
lea eax, [ebp - 0x514]
push 0x400
push 0
push eax
call fcn.00420f90
add esp, 0xc
lea eax, [ebp - 0x51c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x51c], xmm0
push 0
push eax
push 0
push 0x100000
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov ecx, dword [ebp - 0x51c]
test eax, eax
mov eax, dword [ebp - 0x518]
je 0x41152a
cmp ecx, 0x100000
jne 0x41152a
test eax, eax
jne 0x41152a
mov edi, 0x400
nop dword [eax]
push 0
lea eax, [ebp - 0x740]
push eax
push 0x400
lea eax, [ebp - 0x514]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
sub edi, 1
jne 0x410e10
mov edi, dword [ebp - 0x748]
lea ecx, [ebp - 0x51c]
mov eax, dword [ebp - 0x760]
sub edi, 0x800
push 0
sbb eax, 0
xorps xmm0, xmm0
shld eax, edi, 9
push ecx
push eax
shl edi, 9
push edi
push esi
mov dword [ebp - 0x754], eax
movlpd qword [ebp - 0x51c], xmm0
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov ecx, dword [ebp - 0x518]
test eax, eax
mov edx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x754]
je 0x411524
cmp edx, edi
jne 0x411524
cmp ecx, eax
jne 0x411524
mov edi, 0x400
nop
push 0
lea eax, [ebp - 0x740]
push eax
push 0x400
lea eax, [ebp - 0x514]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
sub edi, 1
jne 0x410ea0
push str.Zero_Part1_SUCCESS
call fcn.00414ac0
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
add esp, 4
mov ecx, 0xc
call fcn.00418700
push str.Writing_part2_FAT_img_...
call fcn.00414ac0
add esp, 4
mov ecx, esi
push dword [ebp - 0x760]
push dword [ebp - 0x748]
call fcn.0040eb50
add esp, 8
test eax, eax
je 0x410f0f
push str.FormatPart2Fat_failed.
jmp 0x41154c
mov ecx, 0x2e
call fcn.00418700
push str.Writing_Boot_Image_.............................
call fcn.00414ac0
mov edx, dword [ebp - 0x758]
add esp, 4
mov ecx, esi
call fcn.0040eff0
test eax, eax
je 0x410f41
push str.WriteGrubStage1ToPhyDrive_failed.
jmp 0x41154c
mov ecx, 0x2f
call fcn.00418700
push str.Writing_Partition_Table_........................
call fcn.00414ac0
add esp, 4
push 0
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp dword [ebp - 0x758], 0
push 0
je 0x4110f8
mov ecx, dword [ebx + 0x10]
lea edx, [ebp - 0x744]
mov eax, dword [ebx + 0x14]
sub ecx, 0x200
push edx
sbb eax, 0
mov dword [ebp - 0x744], ecx
push eax
push ecx
push esi
mov dword [ebp - 0x740], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov ecx, dword [ebp - 0x738]
lea edx, [ebp - 0x314]
call fcn.004161e0
push 0
lea eax, [ebp - 0x734]
push eax
push 0x200
lea eax, [ebp - 0x314]
push eax
push esi
call edi
test eax, eax
jne 0x410ffa
mov dword [ebp - 0x730], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4400
push dword [ebp - 0x734]
push str.Write_GPT_Backup_Head_Failed__dwSize:_u___u__ErrCode:_u
call fcn.00414ac0
add esp, 0x10
jmp 0x41155e
mov ecx, dword [ebx + 0x10]
lea edx, [ebp - 0x744]
mov eax, dword [ebx + 0x14]
sub ecx, 0x4200
push 0
push edx
sbb eax, 0
mov dword [ebp - 0x744], ecx
push eax
push ecx
push esi
mov dword [ebp - 0x740], eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0
lea eax, [ebp - 0x734]
push eax
mov eax, dword [ebp - 0x738]
push 0x4000
add eax, 0x400
push eax
push esi
call edi
test eax, eax
jne 0x411076
mov dword [ebp - 0x730], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4400
push dword [ebp - 0x734]
push str.Write_GPT_Backup_Part_Table_Failed__dwSize:_u___u__ErrCode:_u
call fcn.00414ac0
add esp, 0x10
jmp 0x41155e
push 0
lea eax, [ebp - 0x744]
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x744], xmm0
push dword [ebp - 0x740]
push dword [ebp - 0x744]
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0
lea eax, [ebp - 0x734]
push eax
push 0x4400
push dword [ebp - 0x738]
push esi
call edi
test eax, eax
jne 0x4110e6
mov dword [ebp - 0x730], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x4400
push dword [ebp - 0x734]
push str.Write_GPT_Info_Failed__dwSize:_u___u__ErrCode:_u
call fcn.00414ac0
add esp, 0x10
jmp 0x41155e
push str.Write_GPT_Info_OK_...
call fcn.00414ac0
mov esi, dword [ebp - 0x738]
jmp 0x41114b
lea eax, [ebp - 0x734]
push eax
push 0x200
lea eax, [ebp - 0x724]
push eax
push esi
call edi
test eax, eax
jne 0x41113b
mov dword [ebp - 0x730], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x734]
push str.Write_MBR_Failed__dwSize:_u_ErrCode:_u
call fcn.00414ac0
add esp, 0xc
jmp 0x41155e
push str.Write_MBR_OK_...
call fcn.00414ac0
lea esi, [ebp - 0x724]
add esp, 4
lea eax, [ebp - 0x734]
mov ecx, 0x80
lea edi, [ebx + 0x2a4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x750]
push 0
push eax
push 0
push 0
push 0
push 0
push 0x70140
push edi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov ecx, 0x30
call fcn.00418700
push str.Mounting_Ventoy_Partition_.......................
call fcn.00414ac0
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x104
xor edi, edi
lea eax, [ebp - 0x114]
push edi
push eax
call fcn.00420f90
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x114]
add esp, 0xc
push 0x104
call fcn.0040ccb0
add esp, 4
lea eax, [ebp - 0x114]
push eax
push str.Logical_drive_letter_after_write_ventoy:___s_
call fcn.00414ac0
mov eax, dword [ebp - 0x738]
add esp, 8
xor esi, esi
mov dword [ebp - 0x738], eax
nop
mov cl, byte [ebp + esi - 0x114]
test cl, cl
je 0x411254
mov byte [ebp - 0x72c], cl
call fcn.00415aa0
test eax, eax
lea eax, [ebp - 0x72c]
push eax
je 0x41122d
push str._s_is_ventoy_part2__delete_mountpoint
call fcn.00414ac0
add esp, 8
lea eax, [ebp - 0x72c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteVolumeMountPointA]
jmp 0x41124b
push str._s_is_ventoy_part1__already_mounted
call fcn.00414ac0
mov al, byte [ebp - 0x72c]
add esp, 8
mov byte [ebp - 0x725], al
mov edi, 1
inc esi
cmp esi, 0x104
jb 0x4111f0
mov dword [ebp - 0x748], edi
cmp edi, 1
je 0x4112f8
push str.need_to_mount_ventoy_part1...
call fcn.00414ac0
add esp, 4
lea edx, [ebp - 0x114]
push 0
push ecx
push dword [ebp - 0x764]
mov ecx, dword [ebx + 4]
push dword [ebp - 0x768]
call fcn.0040ca50
add esp, 0x10
test eax, eax
jne 0x4112eb
mov cl, byte [ebp - 0x725]
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x72c]
mov byte [ebp - 0x72c], cl
push eax
call dword [sym.imp.KERNEL32.dll_SetVolumeMountPointA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x72c]
push eax
push str.SetVolumeMountPoint___s____s__bRet:_u_code:_u
call fcn.00414ac0
add esp, 0x14
mov eax, 1
test esi, esi
cmovne edi, eax
mov dword [ebp - 0x748], edi
jmp 0x4112f8
push str.Failed_to_find_ventoy_volume
call fcn.00414ac0
add esp, 4
push str.Close_handle_...
call fcn.00414ac0
mov edi, dword [ebp - 0x750]
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x748], 0
je 0x4114f2
cmp dword [ebp - 0x76c], 0
je 0x411358
push str.No_need_to_reformat_for_large_FAT32
call fcn.00414ac0
mov cl, byte [ebp - 0x725]
add esp, 4
call fcn.00416af0
push 0x44132c
mov dword [ebx + 0x26c], eax
call fcn.00414ac0
add esp, 4
jmp 0x4115cf
cmp dword [ebp - 0x770], 0
je 0x411368
push str.No_need_to_reformat_for_default_exfat
jmp 0x41132d
mov eax, dword [ebp - 0x74c]
mov edi, dword [ebp - 0x75c]
mov edx, dword [0x44ae08]
mov cl, byte [ebp - 0x725]
shld eax, edi, 9
push eax
shl edi, 9
push edi
mov dword [ebp - 0x74c], eax
call fcn.00402280
add esp, 8
xor esi, esi
test eax, eax
jne 0x4113e2
mov bl, byte [ebp - 0x725]
cmp esi, 2
jge 0x4113dc
push str.Wait_and_retry_reformat_...
call fcn.00414ac0
add esp, 4
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [ebp - 0x74c]
mov edx, dword [0x44ae08]
mov cl, bl
push edi
call fcn.00402280
add esp, 8
inc esi
test eax, eax
je 0x4113a3
mov ebx, dword [ebp - 0x774]
movsx ecx, byte [ebp - 0x725]
test eax, eax
mov eax, dword [0x44ae08]
push dword [eax*4 + 0x43bc7c]
push ecx
je 0x41146a
push str.Reformat__C:_to__s_SUCCESS
call fcn.00414ac0
mov cl, byte [ebp - 0x725]
add esp, 0xc
call fcn.00416af0
cmp dword [0x44ae08], 3
mov dword [ebx + 0x26c], eax
je 0x411512
cmp eax, 0x800
jge 0x411512
mov esi, 0xa
nop word [eax + eax]
push dword [ebx + 0x26c]
push str._Invalid_cluster_size__d_
call fcn.00414ac0
add esp, 8
sub esi, 1
jne 0x411440
push 0x44132c
call fcn.00414ac0
add esp, 4
jmp 0x4115cf
push str.Reformat__C:_to__s_FAILED
call fcn.00414ac0
add esp, 0xc
push str.Format_to_exfat_with_built_in_algorithm
call fcn.00414ac0
mov ecx, dword [ebx + 4]
mov dl, 1
push 1
call fcn.0040cd60
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
jne 0x4114b6
push str.Failed_to_GetPhysicalHandle_for_write.
call fcn.00414ac0
add esp, 4
push 0x44132c
call fcn.00414ac0
add esp, 4
jmp 0x4115cf
push dword [ebx + 0x14]
push dword [ebx + 0x10]
call fcn.0040f120
test eax, eax
mov edx, str.FormatPart1exFAT_FAILED.
mov ecx, str.FormatPart1exFAT_SUCCESS.
cmove ecx, edx
push ecx
call fcn.00414ac0
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x44132c
call fcn.00414ac0
add esp, 4
jmp 0x4115cf
mov eax, dword [0x44ae08]
push dword [eax*4 + 0x43bc7c]
lea eax, [ebp - 0x72c]
push eax
push str.Can_not_reformat__s_to__s
call fcn.00414ac0
add esp, 0xc
push 0x44132c
call fcn.00414ac0
add esp, 4
jmp 0x4115cf
push ecx
push edx
push eax
push edi
jmp 0x411533
push eax
push ecx
push 0
push 0x100000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetFilePointerEx_Failed__u__llu__llu
call fcn.00414ac0
add esp, 0x18
push str.ZeroPart1FileSystem_failed.
call fcn.00414ac0
mov dword [ebp - 0x730], 1
add esp, 4
mov ecx, 0x30
call fcn.00418700
mov ecx, 8
call fcn.00418700
mov edx, ebx
call fcn.00413e20
cmp dword [0x4488c0], 0
jne 0x4115c3
push str.__Error:__Virtual_Disk_Service__VDS__Unavailable_
call fcn.00414ac0
add esp, 4
push str.__Error:__Virtual_Disk_Service__VDS__Unavailable_
call fcn.00414ac0
add esp, 4
push str.__Error:__Virtual_Disk_Service__VDS__Unavailable_
call fcn.00414ac0
add esp, 4
push str.__Error:__Virtual_Disk_Service__VDS__Unavailable_
call fcn.00414ac0
add esp, 4
push str.__Error:__Virtual_Disk_Service__VDS__Unavailable_
call fcn.00414ac0
add esp, 4
cmp esi, 0xffffffff
je 0x4115cf
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x738]
test eax, eax
je 0x4115e2
push eax
call fcn.0042422d
add esp, 4
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x730]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0041fa5e
mov esp, ebp
pop ebp
ret