Function at 0x45ced0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
xor ebp, ebp
push edi
xor edi, edi
push esi
xor esi, esi
push ebx
sub esp, 0x62c
mov eax, dword [esp + 0x688]
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x128], 0
mov word [esp + 0x11e], si
mov dword [esp + 0x12c], 0
mov byte [esp + 0x11d], 0
mov word [esp + 0x120], di
mov word [esp + 0x122], bp
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
test eax, eax
je 0x45cfbf
cmp dword [esp + 0x68c], 0xb
ja 0x45db25
mov eax, dword [esp + 0x68c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x688]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x684]
mov dword [esp], eax
call fcn.00468520
test eax, eax
je 0x45dc10
mov edx, dword [esp + 0x678]
test edx, edx
je 0x45cfd9
mov eax, dword [esp + 0x674]
test eax, eax
jne 0x45db80
mov eax, dword [esp + 0x698]
test eax, eax
jne 0x45cff3
mov eax, dword [esp + 0x6a0]
test eax, eax
jne 0x45dbc0
mov eax, dword [esp + 0x698]
or eax, dword [esp + 0x694]
mov dword [esp + 0x50], eax
mov eax, 1
cmove eax, dword [esp + 0x644]
mov esi, eax
lea eax, [esp + 0x220]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.004159d0
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
je 0x45dd20
mov eax, dword [esp + 0x66c]
test eax, eax
je 0x45dc40
mov eax, dword [esp + 0x66c]
movzx eax, word [eax]
mov dword [esp + 0x220], eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
lea edi, [esp + 0x420]
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.00415640
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x45dd30
mov edx, dword [esp + 0x65c]
xor eax, eax
mov ecx, dword [esp + 0x50]
test edx, edx
mov edx, dword [esp + 0x424]
setne al
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x678]
or eax, dword [esp + 0x674]
mov dword [esp + 0x4c], edx
setne al
movzx eax, al
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x420]
mov dword [esp + 0x48], eax
test ecx, ecx
jne 0x45de05
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x674]
mov dword [esp + 0x68], 0
mov edx, dword [esp + 0x4c]
test ecx, ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
je 0x45d12f
mov eax, dword [esp + 0x674]
mov ebx, dword [eax]
test ebx, ebx
je 0x45e320
lea eax, [ebx - 1]
test eax, ebx
jne 0x45e320
lea eax, [ebx - 0x200]
cmp eax, 0x1fffe00
ja 0x45e6e5
lea eax, [esp + 0x130]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415990
or edx, eax
je 0x45e352
mov eax, dword [esp + 0x668]
test eax, eax
je 0x45e465
mov eax, dword [esp + 0x668]
movzx eax, word [eax]
mov dword [esp + 0x130], eax
lea eax, [esp + 0x134]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415950
or edx, eax
je 0x45e5e0
mov eax, dword [esp + 0x664]
test eax, eax
je 0x45e983
mov eax, dword [esp + 0x664]
movzx eax, word [eax]
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x66c]
test ecx, ecx
je 0x45d3a0
mov eax, dword [esp + 0x66c]
movzx ebx, word [eax]
cmp ebx, dword [esp + 0x58]
je 0x45d3a0
test bx, bx
je 0x45edf5
mov eax, dword [esp + 0x58]
xor edx, edx
div ebx
test edx, edx
je 0x45e9e5
mov esi, dword [esp + 0x58]
mov eax, ebx
xor edx, edx
div esi
test edx, edx
jne 0x46077b
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov eax, edi
mov edi, dword [esp + 0x60]
mov ecx, ebp
mov ebp, dword [esp + 0x64]
mul esi
mov dword [esp + 0x60], ebx
imul ecx, esi
mov dword [esp + 0x48], eax
mov eax, esi
mov dword [esp + 0x4c], edx
mul edi
mov edi, dword [esp + 0x48]
add dword [esp + 0x4c], ecx
mov ecx, ebp
xor ebp, ebp
mov dword [esp + 0x64], ebp
imul ecx, esi
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x108]
mov dword [esp + 0x10], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 0x5c], edx
add dword [esp + 0x5c], ecx
call fcn.004a1170
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10c]
or eax, dword [esp + 0x108]
mov dword [esp + 0x64], edx
je 0x45d2d6
mov esi, dword [esp + 0x644]
test esi, esi
je 0x46080b
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x46162a
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x46162a
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 4], str.Device_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov eax, edx
mov edx, ecx
xor eax, edi
xor edx, ebp
or edx, eax
je 0x45d35e
xor edx, edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp], edi
mov dword [esp + 4], ebp
call fcn.004a1050
or edx, eax
je 0x45d35e
mov eax, dword [esp + 0x644]
test eax, eax
je 0x460d89
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x461d83
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x461d83
mov dword [esp + 8], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], str.Volume_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov dword [esp + 8], ebx
mov dword [esp + 0x4c], edx
xor edx, edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
nop
lea esi, [esi]
mov eax, dword [esp + 0x58]
lea ebx, [eax - 0x200]
cmp ebx, 0xe00
jbe 0x45d423
cmp ebx, 0x7e00
ja 0x45d3c9
mov eax, dword [esp + 0x644]
test eax, eax
jne 0x45f1c7
mov edi, dword [esp + 0x6a8]
test edi, edi
je 0x45ea44
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ea44
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], str.Sector_size_out_of_bounds_for_FAT:__lu
mov dword [esp + 8], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov esi, dword [esp + 0x644]
test esi, esi
je 0x45dd00
cmp ebx, 0x7e00
ja 0x45dd00
mov eax, dword [esp + 0x670]
test eax, eax
je 0x45d485
mov eax, dword [esp + 0x670]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
mov edx, ebp
xor eax, esi
xor edx, ebx
or edx, eax
je 0x45d485
xor edx, edx
mov eax, 0x100000
mov ecx, ebx
div dword [esp + 0x58]
xor edx, edx
cmp esi, eax
mov edi, eax
sbb ecx, edx
jb 0x45f09e
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
cmp eax, esi
mov eax, edx
sbb eax, ebx
jb 0x46051f
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45d503
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 4]
test eax, eax
je 0x45d503
mov ecx, dword [esp + 0x6a8]
mov esi, dword [esp + 0x58]
mov dword [esp + 4], str.Sector_size:__lu_bytes
mov dword [esp + 8], esi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x6a8]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x45d503
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov eax, esi
mov dword [esp + 4], str.Volume_size:__I64u_sectors___I64u_bytes_
mul edi
mov ebx, ebp
mov dword [esp + 8], edi
imul ebx, esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6a8]
add edx, ebx
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x45e890
mov eax, dword [esp + 0x65c]
movzx eax, byte [eax]
mov byte [esp + 0x90], al
mov edx, dword [esp + 0x78]
test edx, edx
je 0x4606b1
mov eax, dword [esp + 0x678]
test eax, eax
je 0x45edda
mov eax, dword [esp + 0x678]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x58]
mul edi
jo 0x4635ba
mov ebx, eax
cmp eax, edi
jb 0x45ea16
lea eax, [esp + 0x150]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415830
or edx, eax
je 0x45eae7
mov eax, dword [esp + 0x67c]
test eax, eax
je 0x46065f
mov eax, dword [esp + 0x67c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x154], edx
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x680]
test eax, eax
je 0x45ee55
mov eax, dword [esp + 0x680]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0xa0], ecx
jb 0x45ed20
mov eax, dword [esp + 0xa0]
xor edx, edx
div dword [esp + 0x58]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xe4], eax
test edx, edx
jne 0x45ed20
mov edi, dword [esp + 0xe4]
mov eax, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov dword [esp + 0x80], eax
mov esi, edi
lea eax, [edi - 1]
xor edi, edi
mov dword [esp + 0x84], edx
xor edx, edx
cmp byte [esp + 0x90], 0x20
mov dword [esp + 0x104], eax
je 0x45f100
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
add ecx, 1
adc ebx, 0
add eax, ecx
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov edi, dword [esp + 0xe4]
imul edx, edi
mov ecx, edx
mul edi
add edx, ecx
sub eax, dword [esp + 0x80]
sbb edx, dword [esp + 0x84]
mov edi, eax
mov dword [esp + 0xe8], eax
mov eax, 0xffff
cmp eax, edi
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xec], edx
sbb eax, edx
jb 0x4607b5
mov eax, dword [esp + 0x660]
mov dword [esp + 0xf4], 0x200
test eax, eax
je 0x45d6de
mov eax, dword [esp + 0x660]
movzx eax, word [eax]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x45d709
mov eax, dword [eax + 0x10]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x680]
test eax, eax
je 0x4606e5
mov eax, dword [esp + 0x680]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1e4], 0
mov eax, dword [eax]
mov dword [esp + 0x200], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x420], 0
test ecx, ecx
je 0x460736
mov ebp, ecx
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jb 0x45d782
xor edx, edx
div ecx
mov ebp, eax
mov eax, dword [esp + 0xf4]
mov edi, dword [esp + 0x58]
xor edx, edx
mov ebx, dword [esp + 0x60]
sub ebx, dword [esp + 0xfc]
shl eax, 5
lea eax, [edi + eax - 1]
div edi
xor edx, edx
mov dword [esp + 0x98], eax
mov edi, eax
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x660]
test eax, eax
mov eax, dword [esp + 0x70]
setne dl
or eax, dword [esp + 0x78]
or edx, eax
jne 0x45f190
cmp byte [esp + 0x90], 0
jne 0x460c3a
lea edi, [edi - 1]
mov dword [esp + 0x98], pe_nt_image_headers32
lea eax, [edi + ebp]
xor edx, edx
mov edi, ebx
div ebp
imul eax, ebp
sub edi, eax
mov eax, edi
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x45f29d
mov ecx, dword [esp + 0x88]
mov edi, dword [esp + 0x98]
cmp ecx, edi
ja 0x462e60
test ecx, ecx
je 0x462e60
mov dword [esp + 0x78], eax
lea eax, [esp + 0x200]
movzx esi, byte [esp + 0x90]
lea edi, [esp + 0x1a8]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x1d0]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 0xd8], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x70], ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0xdc], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xa8], eax
jmp 0x45da87
mov dword [esp + 0x200], 0
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], 0x10
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x220]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp], 0
call fcn.0045bfc0
mov edx, dword [esp + 0x1a8]
cmp edx, 0xfff5
jbe 0x45d952
mov dword [esp + 0x1a8], 0xfff5
mov edx, 0xfff5
mov eax, dword [esp + 0x220]
cmp edx, eax
jb 0x45d968
lea edx, [eax - 1]
cmp edx, 0xff4
ja 0x45d97a
mov dword [esp + 0x220], 0
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], 0x20
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x420]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp], 0
call fcn.0045bfc0
cmp dword [esp + 0x1a8], 0xffffff5
jbe 0x45d9f8
mov dword [esp + 0x1a8], 0xffffff5
mov eax, dword [esp + 0x420]
lea edx, [eax - 1]
cmp edx, 0xfff4
jbe 0x45da13
cmp eax, dword [esp + 0x1a8]
jbe 0x45da27
mov dword [esp + 0x420], 0
mov dword [esp + 0xd4], eax
xor eax, eax
mov ecx, dword [esp + 0x200]
test ecx, ecx
je 0x45da45
mov edx, esi
test dl, dl
je 0x461d21
cmp dl, 0xc
je 0x461d21
mov edx, dword [esp + 0x220]
mov dword [esp + 0xe0], edx
test edx, edx
je 0x45da63
test esi, 0xef
je 0x461931
mov edx, esi
cmp dl, 0x20
jne 0x45da72
test eax, eax
jne 0x461005
add ebx, ebx
je 0x460f13
cmp ebx, dword [esp + 0x98]
ja 0x460f13
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], 0xc
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], 2
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp], 0
call fcn.0045bfc0
mov eax, dword [esp + 0x1a8]
cmp eax, 0xff5
jbe 0x45db05
mov dword [esp + 0x1a8], 0xff5
mov eax, 0xff5
mov edx, dword [esp + 0x200]
cmp eax, edx
jb 0x45d8c1
mov eax, esi
test al, al
mov eax, 0xc
cmovne esi, eax
jmp 0x45d8d3
mov ebx, dword [esp + 0x6a8]
test ebx, ebx
je 0x45dc94
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45dc94
mov edi, dword [esp + 0x68c]
mov dword [esp + 4], str.Invalid_volume_name_length:__u__maximum_allowed:_11_
mov dword [esp + 8], edi
mov ecx, dword [esp + 0x6a8]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [ecx]
mov dword [esp], edx
call eax
add esp, 0x62c
mov eax, ebx
mov edx, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45e2f0
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e2f0
mov dword [esp + 4], str.Conflicting_options:_Both_cluster_size_and_sectors_per_cluster_specified.
mov edi, dword [esp + 0x6a8]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45e590
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e590
mov dword [esp + 4], str.Conflicting_options:_sda_whole_must_be_enabled_on_a_partitioning_only_run.
mov ecx, dword [esp + 0x6a8]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [ecx]
mov dword [esp], edx
call eax
add esp, 0x62c
mov eax, ebx
mov edx, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x45e5b4
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e5b4
mov dword [esp + 4], str.Invalid_characters_in_volume_name.
jmp 0x45dbe9
test esi, esi
je 0x45e625
mov ebp, dword [esp + 0x6a8]
test ebp, ebp
je 0x45e525
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x45e525
mov edi, dword [esp + 0x6a8]
mov dword [esp + 4], str.Failed_to_get_device_sector_size._Assuming_512_byte_sectors.
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov dword [esp + 0x220], 0x200
mov eax, 0x200
jmp 0x45d05c
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x68c]
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_volume_name_length:__u__maximum_allowed:_11_
mov dword [esp + 0xc], edi
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
add esp, 0x62c
mov ebx, 0x16
xor ebp, ebp
mov eax, ebx
mov edx, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x220]
jmp 0x45d05c
mov esi, dword [esp + 0x6a8]
test esi, esi
je 0x45e262
mov eax, dword [esp + 0x6a8]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x45e262
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0041d490
mov dword [esp + 4], str.Failed_to_get_device_size:__s
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax]
mov dword [esp], eax
call esi
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x45db6e
mov edi, dword [fcn.004a1b90]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov esi, eax
call edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_retrieve_necessary_device_characteristics:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov ebx, 0x544ba0
mov esi, 0x10
xor ecx, ecx
xor ebp, ebp
mov byte [esp + 0x1e4], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
jmp 0x45deb5
cmp esi, 0x1fff
jbe 0x45df40
cmp byte [ebx + 0x1b], 1
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x420], esi
sbb eax, eax
mov esi, dword [esp + 0x48]
and eax, 0xfffffff0
add eax, 0x20
mov byte [esp + 0x200], al
test ecx, ecx
je 0x45de7c
cmp esi, dword [ebx + 8]
mov eax, edi
sbb eax, dword [ebx + 0xc]
jb 0x45dea3
cmp ebp, 0xf
je 0x45de8a
mov eax, dword [ebx + 4]
cmp dword [ebx], esi
sbb eax, edi
jb 0x45dea3
cmp byte [ebx + 0x1a], 0
jne 0x45df10
mov eax, dword [esp + 0x69c]
test eax, eax
je 0x45e8f3
add ebp, 1
add ebx, 0x20
cmp ebp, 0x10
je 0x45dfd1
mov esi, dword [ebx + 0x10]
mov eax, dword [esp + 0x698]
mov byte [esp + 0x200], 0
mov dword [esp + 0x420], 0
test eax, eax
jne 0x45de40
cmp esi, 0x1fff
jbe 0x45df85
cmp byte [ebx + 0x1b], 1
mov dword [esp + 0x420], esi
sbb eax, eax
and eax, 0xfffffff0
add eax, 0x20
mov byte [esp + 0x200], al
xor edi, edi
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x4c]
jmp 0x45de6e
movzx eax, byte [esp + 0x200]
mov dword [esp + 0x60], esi
mov ecx, ebx
mov dword [esp + 0x64], edi
mov byte [esp + 0x1e4], al
mov eax, dword [esp + 0x420]
mov dword [esp + 0x220], eax
jmp 0x45dea3
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
lea edx, [ebx + 0x14]
lea ecx, [esp + 0x420]
mov eax, dword [ebx + 0x10]
mov dword [esp + 8], 0
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 0xc], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0045cb20
mov ecx, dword [esp + 0x68]
jmp 0x45de6e
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
lea edx, [ebx + 0x14]
lea edi, [esp + 0x420]
lea ecx, [esp + 0x200]
mov dword [esp + 8], 1
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.0045cb20
mov esi, dword [esp + 0x420]
mov ecx, dword [esp + 0x68]
jmp 0x45defd
mov dword [esp + 0x68], ecx
test ecx, ecx
je 0x45e671
mov eax, dword [esp + 0x68]
movzx ecx, byte [eax + 0x18]
movzx esi, byte [eax + 0x19]
mov eax, ecx
mul esi
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x6a4]
test eax, eax
je 0x45e080
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 8], esi
mov ebx, 0x3ff
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
xor ecx, ecx
mov ebp, eax
cmp ebx, eax
mov eax, ecx
sbb eax, edx
jb 0x45e080
mov ebx, edi
imul edx, esi
mov eax, ebp
imul ebx, ebp
add ebx, edx
mul esi
mov esi, eax
mov edi, edx
mov edx, 0x403d3f
mov eax, dword [esp + 0x68]
add edi, ebx
cmp edx, esi
sbb ecx, edi
mov eax, dword [eax + 0x10]
mov ecx, 0x20
jae 0x45ed6f
xor edx, edx
sub esi, eax
mov dword [esp + 0x80], eax
sbb edi, edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
jmp 0x45e0b3
mov edi, dword [esp + 0x220]
mov eax, dword [esp + 0x60]
xor ebp, ebp
mov edx, dword [esp + 0x64]
mov dword [esp + 0x84], ebp
sub eax, edi
mov dword [esp + 0x80], edi
movzx ecx, byte [esp + 0x1e4]
sbb edx, ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov byte [esp + 0x11d], cl
mov eax, dword [esp + 0x67c]
mov dword [esp + 0x148], edi
mov dword [esp + 0x14c], ebp
test eax, eax
je 0x45e393
mov eax, dword [esp + 0x67c]
mov edx, ebp
mov esi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, edi
xor eax, esi
xor edx, ebx
or edx, eax
jne 0x45e840
mov ebp, dword [esp + 0x680]
mov dword [esp + 0x128], 0x200
test ebp, ebp
je 0x45e8e0
mov eax, dword [esp + 0x680]
mov ebx, dword [eax]
cmp ebx, 0x200
jne 0x45e951
mov esi, dword [esp + 0x66c]
mov ebx, 0x200
mov word [esp + 0x11e], bx
test esi, esi
je 0x45e9d2
mov eax, dword [esp + 0x66c]
movzx eax, word [eax]
cmp ax, 0x200
jne 0x45eab2
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x678]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x80], eax
shl eax, 9
mov dword [esp + 0x12c], eax
test edx, edx
je 0x45e199
mov edi, dword [esp + 0x678]
mov ebx, dword [edi]
mov edx, ebx
shl edx, 9
cmp eax, edx
jne 0x45ec80
mov edi, dword [esp + 0x674]
test edi, edi
je 0x45edb4
mov edi, dword [esp + 0x674]
mov ebx, dword [edi]
cmp eax, ebx
jne 0x45ee23
mov ebx, dword [esp + 0x65c]
test ebx, ebx
je 0x45ef30
mov eax, dword [esp + 0x65c]
movzx ebx, byte [eax]
cmp bl, cl
jne 0x45efb8
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x664]
movzx eax, byte [eax + 0x18]
mov word [esp + 0x120], ax
test edx, edx
je 0x45f0ed
mov ecx, dword [esp + 0x664]
movzx edx, word [ecx]
cmp ax, dx
jne 0x4604ea
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x668]
movzx eax, byte [eax + 0x19]
mov word [esp + 0x122], ax
test edi, edi
je 0x460627
mov edi, dword [esp + 0x668]
movzx edx, word [edi]
cmp ax, dx
jne 0x460746
mov ebx, dword [esp + 0x698]
test ebx, ebx
jne 0x45d102
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x45d102
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov esi, eax
call edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_get_device_size:__s
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x6a8]
test eax, eax
jne 0x45dd77
jmp 0x45dd8f
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Conflicting_options:_Both_cluster_size_and_sectors_per_cluster_specified.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45dcc6
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45e4b4
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e4b4
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Invalid_cluster_size___lu_.__Not_a_power_of_2._
jmp 0x45db59
mov eax, dword [esp + 0x668]
test eax, eax
je 0x45e420
cmp word [esp + 0x122], 0
mov eax, dword [esp + 0x668]
movzx ebx, word [eax]
jne 0x45e387
mov esi, dword [esp + 0x130]
lea eax, [esi - 1]
cmp eax, 0xfffe
jbe 0x45e3a6
mov dword [esp + 0x130], ebx
jmp 0x45d171
lea eax, [esp + 0x148]
mov dword [esp + 0x67c], eax
jmp 0x45e101
cmp esi, ebx
je 0x45d171
mov ebp, dword [esp + 0x6a8]
test ebp, ebp
je 0x460b16
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x460b16
mov edi, dword [esp + 0x644]
mov ecx, str.operating_system_provided_value__use_force_mode_to_override_
mov edx, str.specified_value_due_to_force_mode
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
test edi, edi
mov dword [esp + 4], str.Specified_number_of_sectors_per_track___lu__does_not_match_the_number_of_sectors_per_track_reported_by_the_operating_system___lu_._Using__s.
cmove edx, ecx
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0x10], edx
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov edx, dword [esp + 0x644]
test edx, edx
jne 0x45d160
lea esi, [esi]
lea edi, [edi]
mov ebx, dword [esp + 0x130]
cmp ebx, 0xffff
jbe 0x45d171
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45e720
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e720
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Invalid_number_of_sectors_per_track_for_a_FAT_filesystem___lu_.
jmp 0x45db59
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45eb9c
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x45eb9c
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], str.Failed_to_retrieve_the_number_of_sectors_per_track_for_the_device.
mov dword [esp + 4], str._s_Assuming_63.
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov dword [esp + 0x130], 0x3f
jmp 0x45d171
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_cluster_size___lu_.__Not_a_power_of_2._
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
mov ebx, 0x16
xor ebp, ebp
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Failed_to_get_device_sector_size._Assuming_512_byte_sectors.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45dc7f
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Conflicting_options:_sda_whole_must_be_enabled_on_a_partitioning_only_run.
jmp 0x45e30f
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_characters_in_volume_name.
jmp 0x45e30f
mov eax, dword [esp + 0x664]
test eax, eax
je 0x45e7f5
cmp word [esp + 0x120], 0
mov eax, dword [esp + 0x664]
movzx ebx, word [eax]
jne 0x45e619
mov esi, dword [esp + 0x134]
lea eax, [esi - 1]
cmp eax, 0xfffe
jbe 0x45e786
mov dword [esp + 0x134], ebx
jmp 0x45d1b3
mov edi, dword [esp + 0x6a8]
test edi, edi
je 0x45e750
mov eax, dword [esp + 0x6a8]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x45e750
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0041d490
mov dword [esp + 4], str.Failed_to_get_device_sector_size:__s
mov dword [esp + 8], eax
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax]
mov dword [esp], eax
call esi
jmp 0x45dd77
mov ebx, dword [esp + 0x69c]
mov esi, 0x3ec1
xor edi, edi
mov dword [esp + 0x68], 0x544d80
test ebx, ebx
jne 0x45dff1
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x46057a
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46057a
mov edx, dword [esp + 0x698]
mov ecx, str.strict
mov dword [esp + 4], str.sda__s___Volume_is_too_large_for_SDA_recommendations_to_apply.
test edx, edx
mov edx, str.whole
cmove edx, ecx
mov dword [esp + 8], edx
mov edi, dword [esp + 0x6a8]
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45dd00
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45e9ee
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45e9ee
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Invalid_cluster_size___lu_.__Out_of_range._
jmp 0x45db59
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_number_of_sectors_per_track_for_a_FAT_filesystem___lu_.
jmp 0x45e4d7
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov esi, eax
call edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_get_device_sector_size:__s
jmp 0x45e293
cmp esi, ebx
je 0x45d1b3
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x460e8a
mov eax, dword [esp + 0x6a8]
mov edx, dword [eax + 8]
test edx, edx
je 0x460e8a
mov eax, str.specified_value_due_to_force_mode
cmp dword [esp + 0x644], 0
mov ecx, str.operating_system_provided_value__use_force_mode_to_override_
mov dword [esp + 0xc], esi
cmove eax, ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Specified_number_of_heads___lu__does_not_match_the_number_of_heads_reported_by_the_operating_system___lu_._Using__s.
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax]
mov dword [esp], eax
call edx
mov eax, dword [esp + 0x644]
test eax, eax
jne 0x45d1a2
mov ebx, dword [esp + 0x134]
cmp ebx, 0xffff
jbe 0x45d1b3
mov ebp, dword [esp + 0x6a8]
test ebp, ebp
je 0x45ec58
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ec58
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Invalid_number_of_heads_for_a_FAT_filesystem___lu_.
jmp 0x45db59
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45ecb2
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ecb2
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0xc], ebx
xor ebp, ebp
mov ebx, 0x16
mov dword [esp + 8], esi
mov dword [esp + 4], str.Error:_Invalid_specified_partition_start_sector___I64u__for_SDA_formatting.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov esi, 0x100000
mov ebp, dword [esp + 0x64]
shr ecx, 9
mov eax, edi
mov edi, dword [esp + 0x70]
mov ebx, ebp
mul ecx
imul ebx, ecx
add edx, ebx
cmp esi, eax
mov esi, edi
sbb esi, edx
jb 0x45eb2d
mov esi, 0x20d0
cmp esi, eax
sbb edi, edx
jb 0x45f027
mov byte [esp + 0x90], 0
jmp 0x45d520
lea eax, [esp + 0x128]
mov dword [esp + 0x680], eax
jmp 0x45e130
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x45ec0a
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ec0a
mov edx, dword [esp + 0x698]
mov ecx, str.strict
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 0xc], esi
test edx, edx
mov edx, str.whole
mov dword [esp + 4], str.sda__s___Device_with__I64u_sectors_is_too_small_for_SDHC_and_too_large_for_SD_recommendations_to_apply.
cmove edx, ecx
mov dword [esp + 8], edx
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45dd00
mov edi, dword [esp + 0x6a8]
test edi, edi
je 0x45ee9a
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ee9a
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_alignment___lu__for_SDA_formatting.
jmp 0x45db59
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45eec2
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x45eec2
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], str.Failed_to_get_the_number_of_heads_for_the_device.
mov dword [esp + 4], str._s_Assuming_255.
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov dword [esp + 0x134], 0xff
jmp 0x45d1b3
lea eax, [esp + 0x11e]
mov dword [esp + 0x66c], eax
jmp 0x45e160
mov dword [esp + 0x58], ebx
jmp 0x45d3a0
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_cluster_size___lu_.__Out_of_range._
jmp 0x45e4d7
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x45ef4b
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45ef4b
mov dword [esp + 4], str.Invalid_cluster_size__smaller_than_one_sector_.
jmp 0x45dbe9
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Sector_size_out_of_bounds_for_FAT:__lu
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45d408
mov ecx, dword [esp + 0x6a8]
movzx ebx, ax
test ecx, ecx
je 0x45efff
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x45efff
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_sector_size___u__for_SDA_formatting.
jmp 0x45db59
mov ebp, dword [esp + 0x67c]
test ebp, ebp
je 0x45d5b3
mov eax, dword [esp + 0x67c]
mov ebp, dword [esp + 0x154]
mov esi, dword [esp + 0x150]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, ebp
or eax, esi
jne 0x45f20b
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
jmp 0x45d5b3
mov ebx, dword [esp + 0x78]
test ebx, ebx
jne 0x460652
mov esi, 0x4a2020
mov ecx, 0x18
lea edi, [esp + 0x420]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xfffffffe
mov edi, dword [esp + 0x78]
cmp ecx, eax
sbb edi, edx
jb 0x46063a
xor ecx, ecx
mov ebx, ecx
mov edi, edx
shl ebx, 4
cmp eax, dword [esp + ebx + 0x420]
sbb edi, dword [esp + ebx + 0x424]
jb 0x461d2f
add ecx, 1
cmp ecx, 6
jne 0x45eb61
mov dword [esp + 0x88], 0
mov byte [esp + 0x90], 0x20
jmp 0x45d54b
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 0xc], str.Failed_to_retrieve_the_number_of_sectors_per_track_for_the_device.
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s___s_Assuming_63.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45e4a4
mov ebp, dword [esp + 0x698]
mov eax, str.strict
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
test ebp, ebp
mov ebp, str.whole
cmove ebp, eax
call ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__sda__s___Device_with__I64u_sectors_is_too_small_for_SDHC_and_too_large_for_SD_recommendations_to_apply.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45dcc6
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_number_of_heads_for_a_FAT_filesystem___lu_.
jmp 0x45e4d7
mov ebp, dword [esp + 0x6a8]
test ebp, ebp
je 0x4605c0
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4605c0
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_number_of_sectors_per_cluster___lu__for_SDA_formatting.
jmp 0x45db59
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_partition_start_sector___I64u__for_SDA_formatting.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45dd00
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x4605e8
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4605e8
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], str.Alignment___lu__is_not_a_multiple_of_sector_size___lu_.
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45dd00
mov ecx, dword [esp + 0x68]
mov dword [esp + 8], 0
mov dword [esp], esi
lea edx, [ecx + 0x14]
lea ecx, [esp + 0x220]
mov dword [esp + 4], edi
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x1e4]
mov dword [esp + 0xc], ecx
call fcn.0045cb20
mov eax, dword [esp + 0x220]
movzx ecx, byte [esp + 0x1e4]
jmp 0x45e05c
lea eax, [esp + 0x12c]
mov dword [esp + 0x78], 1
mov dword [esp + 0x678], 0
mov dword [esp + 0x674], eax
jmp 0x45e1b9
mov eax, dword [esp + 0x674]
xor edx, edx
mov eax, dword [eax]
div dword [esp + 0x58]
mov dword [esp + 0x88], eax
jmp 0x45d54b
mov edi, dword [esp + 0x6a8]
test edi, edi
je 0x4606c1
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4606c1
mov dword [esp + 4], str.Specified_sector_size_is_0.
jmp 0x45dbe9
mov esi, dword [esp + 0x6a8]
test esi, esi
je 0x4607e3
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4607e3
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_cluster_size___lu__for_SDA_formatting.
jmp 0x45e6d2
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov ecx, ebp
mov eax, esi
mul edi
imul ecx, esi
add edx, ecx
cmp edx, 1
sbb eax, eax
xor edx, edx
and eax, 0xfff10000
add eax, 0x100000
mov dword [esp + 0xa0], eax
div ebx
test edx, edx
je 0x45d5d2
mov dword [esp + 0xa0], ebx
jmp 0x45d5e3
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_alignment___lu__for_SDA_formatting.
jmp 0x45e4d7
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 0xc], str.Failed_to_get_the_number_of_heads_for_the_device.
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s___s_Assuming_255.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45e9c2
lea eax, [esp + 0x11d]
mov dword [esp + 0x70], 1
mov dword [esp + 0x65c], eax
jmp 0x45e1da
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_cluster_size__smaller_than_one_sector_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
xor ebp, ebp
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 0x16
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x460ba0
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x460ba0
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], ebx
xor ebp, ebp
mov ebx, 0x16
mov dword [esp + 4], str.Error:_Invalid_specified_FAT_type___u__for_SDA_formatting.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_sector_size___u__for_SDA_formatting.
jmp 0x45e4d7
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x460dcb
mov eax, ecx
mul dword [esp + 0x60]
mov esi, 0x4a2080
mov ecx, 0x14
lea edi, [esp + 0x420]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xfffff
add edx, ebx
cmp ecx, eax
mov ecx, dword [esp + 0x78]
sbb ecx, edx
jb 0x460d71
xor ecx, ecx
mov ebx, ecx
mov edi, edx
shl ebx, 4
cmp eax, dword [esp + ebx + 0x420]
sbb edi, dword [esp + ebx + 0x424]
jb 0x462292
add ecx, 1
cmp ecx, 5
jne 0x45f063
mov dword [esp + 0x88], 0
mov byte [esp + 0x90], 0x10
jmp 0x45d54b
mov ecx, dword [esp + 0x6a8]
test ecx, ecx
je 0x460bc8
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x460bc8
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x6a8]
xor ebp, ebp
mov dword [esp + 0xc], ebx
mov ebx, 0x16
mov dword [esp + 8], esi
mov dword [esp + 4], str.Specified_sector_count___I64u__is_smaller_than_the_minimum_allowed___lu_.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45db6e
lea eax, [esp + 0x120]
mov dword [esp + 0x664], eax
jmp 0x45e20c
xor ebx, ebx
cmp byte [esp + 0x11d], 0x20
mov ecx, 9
je 0x45f118
mov ecx, 0x20
xor ebx, ebx
add eax, dword [esp + 0x80]
adc edx, dword [esp + 0x84]
mov dword [esp + 0xc], edi
add eax, ecx
mov dword [esp + 8], esi
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov edi, dword [esp + 0xe4]
imul edx, edi
mov ecx, edx
mul edi
add edx, ecx
sub eax, dword [esp + 0x80]
sbb edx, dword [esp + 0x84]
mov edi, eax
mov dword [esp + 0xe8], eax
mov eax, 0xffff
cmp eax, edi
mov eax, 0
mov dword [esp + 0xec], edx
sbb eax, edx
jb 0x4607b5
mov dword [esp + 0xf4], 0
jmp 0x45d6de
mov ecx, dword [esp + 0x78]
mov eax, pe_nt_image_headers32
mov esi, dword [esp + 0x660]
test ecx, ecx
cmovne eax, dword [esp + 0x88]
mov dword [esp + 0x98], eax
test esi, esi
je 0x463798
mov eax, ebx
sub eax, dword [esp + 0x100]
jmp 0x45d7fd
mov ebp, dword [esp + 0x6a8]
test ebp, ebp
je 0x460e1c
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x460e1c
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x6a8]
mov dword [esp + 4], str.Sector_size_out_of_bounds_for_FAT:__lu
mov dword [esp + 8], ecx
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45d423
mov eax, esi
mov edi, ebp
xor eax, ecx
xor edi, edx
or edi, eax
je 0x45d5b3
mov edi, dword [esp + 0x6a8]
test edi, edi
je 0x4612e3
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
test eax, eax
je 0x4612e3
mov eax, str.specified_value_due_to_force_mode
cmp dword [esp + 0x644], 0
mov edi, str.operating_system_provided_value__use_force_mode_to_override_
mov dword [esp + 0x10], esi
cmove eax, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6a8]
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.Specified_partition_start_sector___I64u__does_not_match_the_partition_start_sector_reported_by_the_operating_system___I64u_._Using__s.
mov eax, dword [eax]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call eax
mov edx, dword [esp + 0x644]
test edx, edx
je 0x45d5b3
jmp 0x45d599
movzx ecx, byte [esp + 0x90]
cmp cl, 0x10
je 0x460905
cmp cl, 0x20
je 0x46175f
cmp cl, 0xc
je 0x461093
cmp dword [esp + 0x6a8], 0
je 0x462029
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x462029
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], str.FAT_type_incorrectly_set_by_user.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
movzx eax, byte [esp + 0x90]
cmp al, 0x10
je 0x46123e
cmp al, 0x20
je 0x46085b
cmp al, 0xc
jne 0x45dd00
mov dword [esp + 0xa8], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x70], 0
mov byte [esp + 0x90], 0xc
mov eax, dword [esp + 0x88]
imul eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x6a8]
mov dword [esp + 0x78], eax
test ebp, ebp
je 0x4614f3
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 4]
test eax, eax
je 0x461730
mov edi, dword [esp + 0x78]
mov dword [esp + 4], str.Cluster_size:__lu_bytes
mov dword [esp + 8], edi
mov edi, dword [esp + 0x6a8]
mov edx, dword [edi]
mov dword [esp], edx
call eax
cmp dword [esp + 0x70], 0
je 0x46173b
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 4]
test eax, eax
je 0x45f3c6
movzx edx, byte [esp + 0x90]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], str.FAT:__lu_bits
mov dword [esp + 8], edx
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0xa0]
xor edx, edx
div dword [esp + 0x78]
test edx, edx
je 0x45f412
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x461513
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], str.Alignment___lu__is_not_a_multiple_of_the_cluster_size___lu_.
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], ecx
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov edi, dword [esp + 0x660]
test edi, edi
je 0x46139c
cmp byte [esp + 0x90], 0x20
je 0x4613d7
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0xf4]
xor edx, edx
shr ecx, 5
div ecx
test edx, edx
jne 0x462055
mov edi, dword [esp + 0xe8]
mov eax, dword [esp + 0xa8]
xor edx, edx
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x64]
lea eax, [edi + eax*2]
mov edi, dword [esp + 0x60]
shr ecx, 9
add eax, 1
imul eax, ecx
sub eax, 1
div ecx
xor edx, edx
mov ecx, ebp
cmp edi, eax
mov ebx, eax
sbb ecx, edx
jb 0x4619ed
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x80], 0
shl eax, 5
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x138]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x461956
mov eax, dword [esp + 0x98]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x138]
mov dword [esp], eax
call sub.msvcrt.dll_memset
lea eax, [esp + 0x13c]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x461a7f
lea eax, [esp + 0x140]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x462814
mov eax, dword [esp + 0x138]
cmp dword [esp + 0x688], 0
mov dword [esp + 0xa0], eax
je 0x462962
movzx eax, byte [esp + 0x68c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x150]
cmp dword [esp + 0x690], 0
mov dword [esp + 0x420], 0
mov esi, dword [esp + 0x154]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0xd4], eax
je 0x462fd2
mov eax, dword [esp + 0x690]
mov eax, dword [eax]
mov dword [esp + 0x420], eax
cmp esi, 0
jbe 0x461b76
cmp dword [esp + 0x6a8], 0
je 0x461afb
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x461afb
mov edi, dword [esp + 0xb8]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Partition_start_sector___I64u__is_out_of_bounds_for_FAT__so_setting_to_0._This_volume_will_not_be_bootable.
mov dword [esp + 8], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
cmp dword [esp + 0x64], 0
mov dword [esp + 0xb8], 0
ja 0x461b8f
cmp byte [esp + 0x90], 0x20
je 0x462856
movzx eax, byte [esp + 0x90]
sub eax, 0xc
test al, 0xfb
jne 0x46306b
mov edx, dword [esp + 0xa0]
mov eax, dword [0x544fa0]
mov esi, 0x544fa0
mov dword [edx], eax
mov eax, dword [0x54519c]
lea edi, [edx + 4]
and edi, 0xfffffffc
mov dword [edx + 0x1fc], eax
mov eax, edx
sub eax, edi
sub esi, eax
add eax, 0x200
shr eax, 2
mov ecx, eax
movzx eax, byte [esp + 0x88]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x58]
mov byte [edx + 0xd], al
movzx eax, word [esp + 0xe8]
mov word [edx + 0xb], cx
mov word [edx + 0xe], ax
mov eax, dword [esp + 0xf4]
cmp eax, 0xffff
jbe 0x45f6db
mov eax, 0x1fffe0
xor edx, edx
div ecx
imul eax, ecx
shr eax, 5
movzx eax, ax
mov edi, dword [esp + 0xa0]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov word [edi + 0x11], ax
mov eax, 0xffff
cmp eax, ecx
mov eax, 0
sbb eax, ebx
jb 0x462ca5
mov word [edi + 0x13], cx
mov edi, dword [esp + 0xa0]
movzx eax, word [esp + 0xa8]
cmp dword [esp + 0x688], 0
mov word [edi + 0x16], ax
movzx eax, word [esp + 0xc0]
mov word [edi + 0x18], ax
movzx eax, word [esp + 0xd4]
mov word [edi + 0x1a], ax
mov eax, dword [esp + 0xb8]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x420]
mov dword [edi + 0x27], eax
je 0x45f772
lea eax, [edi + 0x2b]
cmp dword [esp + 0xb0], 0xa
mov esi, dword [esp + 0x688]
mov edi, eax
mov ecx, dword [esp + 0xb0]
rep movsb byte es:[edi], byte [esi]
jle 0x46307d
cmp byte [esp + 0x90], 0xc
je 0x462ba7
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x13c]
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x36], 0x31544146
mov dword [edi + 0x3a], 0x20202036
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], ebx
call sub.msvcrt.dll_memset
cmp byte [esp + 0x90], 0x10
jne 0x462bdb
mov dword [ebx], 0xffffffff
mov byte [ebx], 0xf8
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0x140]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memset
cmp dword [esp + 0x688], 0
je 0x45f862
mov eax, dword [esp + 0x68c]
mov dword [ebx], 0x20202020
mov dword [ebx + 4], 0x20202020
mov dword [ebx + 8], 0x8202020
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x688]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x68c], 0xa
jbe 0x462cb8
cmp byte [ebx], 0xe5
jne 0x45f862
mov byte [ebx], 5
cmp byte [esp + 0x90], 0x20
je 0x462be6
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x462c95
cmp byte [esp + 0x90], 0x10
mov edx, str.FAT16
mov ecx, str.FAT12
cmovne edx, ecx
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], edx
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x45f8dd
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], edi
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x6a8]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x45f919
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov eax, esi
mul edi
mov ebx, ebp
imul ebx, esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6a8]
add edx, ebx
mov dword [esp + 8], edx
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x6a8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x45f946
mov eax, dword [esp + 0x78]
mul dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6a8]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x6a8]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x45f976
mov eax, dword [esp + 0x70]
sub eax, 1
mul dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6a8]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x45fa7b
cmp dword [esp + 0x688], 0
je 0x462c79
lea eax, [esp + 0x220]
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], eax
lea eax, [esp + 0x420]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68c]
mov dword [esp + 0x1e4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x688]
mov dword [esp + 0x200], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x684]
mov dword [esp + 0x220], 0
mov dword [esp], eax
call fcn.00429040
lea eax, [esp + 0x200]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 0xc0], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x220]
mov dword [esp + 4], eax
lea eax, [esp + 0x420]
mov dword [esp], eax
call fcn.00428940
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x46375e
mov eax, dword [esp + 0x1e4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x6a8]
call dword [eax + 0x28]
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1e4]
mov dword [esp], eax
call fcn.0041d440
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x140]
mov dword [esp + 0x54], 0
mov edi, dword [esp + 0x58]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x13c]
mov ecx, edx
imul ecx, edi
mov dword [esp + 0x50], edi
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x48]
mul edi
mov dword [esp + 0x4c], edx
add dword [esp + 0x4c], ecx
cmp dword [esp + 0x698], 0
mov dword [esp + 0x48], eax
je 0x462b3a
mov edi, dword [esp + 0x150]
cmp byte [esp + 0x90], 0x20
mov ebp, 0x20
mov dword [esp + 0x78], edi
je 0x45fb0e
xor eax, eax
cmp byte [esp + 0x90], 0x10
sete al
lea eax, [eax*4 + 0xc]
mov ebp, eax
test edi, edi
je 0x462b6e
mov esi, dword [esp + 0x54]
mov eax, edi
mul dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov ecx, esi
mov esi, dword [esp + 0x64]
imul ecx, edi
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x50]
add dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x54]
imul eax, esi
imul ecx, ebx
add ecx, eax
mov eax, ebx
mul dword [esp + 0x50]
mov dword [esp + 0x8c], edx
add dword [esp + 0x8c], ecx
mov dword [esp + 0x88], eax
cmp dword [esp + 0x658], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
je 0x45fbbf
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov edi, dword [esp + 0xa8]
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0xac], 0
mov esi, dword [esp + 0xec]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x158], 0
mov eax, edi
mul dword [esp + 0x58]
mov dword [esp + 0xa8], edi
mov dword [esp + 0x15c], 0
imul ecx, ebx
mov dword [esp + 0x160], 0
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xbc], edx
mov dword [esp + 0x164], 0
imul eax, esi
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
add ecx, eax
mov eax, ebx
mov dword [esp + 0x174], 0
mul dword [esp + 0x50]
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov ebx, eax
mov esi, edx
lea eax, [esp + 0x158]
mov dword [esp + 0x184], 0
add esi, ecx
xor edx, edx
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
mov edi, dword [esp + 0x98]
mov dword [esp + 0x1e4], eax
lea eax, [esp + 0x16c]
mov dword [esp + 0x1e8], eax
cmp ebx, edi
lea eax, [esp + 0x180]
mov dword [esp + 0x1ec], eax
lea eax, [esp + 0x194]
mov dword [esp + 0x1f0], eax
lea eax, [esp + 0x1a8]
mov dword [esp + 0x1f4], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 0x90], edi
mov edi, esi
mov dword [esp + 0x1f8], eax
sbb edi, edx
lea eax, [esp + 0x1d0]
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 1
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x94], edx
jb 0x462f7f
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x45fe5d
mov eax, dword [esp + 0x58]
mul ecx
cmp eax, dword [esp + 0x90]
mov edi, edx
sbb edi, dword [esp + 0x94]
jb 0x46352f
add eax, dword [esp + 0x90]
mov edi, esi
adc edx, dword [esp + 0x94]
cmp ebx, eax
sbb edi, edx
jb 0x4634d1
lea eax, [esp + 0x220]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x158], str.Writing_root_directory...
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x15c], str.Failed_to_write_out_root_directory
add eax, eax
mov dword [esp + 0x164], 1
adc edx, edx
add eax, ebx
mov byte [esp + 0x230], 0
mov dword [esp + 0x220], eax
adc edx, esi
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x224], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x23c], 0
mov dword [esp + 0x22c], eax
mov dword [esp + 0x238], eax
lea eax, [esp + 0x240]
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x16c], str.Writing_file_allocation_table...
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x170], str.Error_while_writing_out_the_FAT
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0xa8]
add eax, dword [esp + 0xe8]
adc edx, dword [esp + 0xec]
mov dword [esp + 0x240], ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x50]
mov ecx, edx
mov dword [esp + 0x244], esi
imul ecx, eax
mov byte [esp + 0x250], 0
mov edx, dword [esp + 0x54]
imul edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
add ecx, edx
mul dword [esp + 0x50]
mov dword [esp + 0xac], edx
add dword [esp + 0xac], ecx
cmp dword [esp + 0x648], 0
mov dword [esp + 0xa8], eax
je 0x462a20
mov eax, ebp
mov esi, dword [esp + 0x70]
mov dword [esp + 0x178], 2
cdq
mov byte [esp + 0x270], 0
add esi, 2
mov ecx, edx
imul ecx, esi
mul esi
add edx, ecx
add eax, 7
mov ecx, 3
adc edx, 0
shrd eax, edx, 3
shr edx, 3
mov edi, eax
mov dword [esp + 0x258], eax
mov ebp, edx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x25c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x278], edi
mov dword [esp + 0x26c], eax
mov dword [esp + 0x27c], ebp
mov ebx, ecx
mov esi, dword [esp + 0x80]
lea edi, [ecx + 1]
lea eax, [esp + 0x220]
shl ebx, 5
mov dword [esp + 0xa8], edi
mov dword [esp + 0x70], edi
add eax, ebx
test esi, esi
je 0x462972
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x194], str.Writing_backup_boot_region...
mov eax, ebp
mov byte [esp + ebx + 0x230], 0
mov dword [esp + 0x198], str.Error_while_writing_out_the_backup_boot_region
mul esi
mov esi, dword [esp + 0x98]
mov dword [esp + 0x1a0], 1
mov dword [esp + ebx + 0x22c], esi
mov dword [esp + ebx + 0x220], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + ebx + 0x224], edx
mov edx, dword [esp + 0x94]
mov dword [esp + ebx + 0x228], eax
mov eax, dword [esp + 0x90]
mov dword [esp + ebx + 0x23c], edx
mov dword [esp + ebx + 0x238], eax
cmp esi, ebp
ja 0x462ef0
lea eax, [edi + 1]
mov ecx, edi
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
add eax, 0x100000
adc edx, 0
mov edi, esi
cmp ebx, eax
mov dword [esp + 0x70], eax
sbb edi, edx
mov dword [esp + 0x74], edx
jae 0x460121
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], esi
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x4c]
mov eax, ebx
mov edx, esi
add eax, 0x100000
adc edx, 0
sub eax, dword [esp + 0xa0]
sbb edx, dword [esp + 0xa4]
sub ebx, dword [esp + 0x70]
sbb esi, dword [esp + 0x74]
sub eax, dword [esp + 0x88]
mov edi, esi
sbb edx, dword [esp + 0x8c]
cmp ebx, eax
mov dword [esp + 0x80], eax
sbb edi, edx
mov dword [esp + 0x84], edx
jae 0x46017d
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov eax, ecx
lea edx, [esp + 0x220]
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x1d0], str.Writing_boot_region...
shl eax, 5
mov edi, eax
add edx, eax
mov dword [esp + 0xe0], eax
mov dword [esp + edi + 0x220], 0
mov eax, edi
mov dword [esp + edi + 0x224], 0
mov edi, dword [esp + 0xb0]
mov dword [esp + eax + 0x23c], esi
mov esi, dword [esp + 0x78]
mov dword [esp + eax + 0x228], edi
mov edi, dword [esp + 0x58]
mov byte [esp + eax + 0x230], 0
mov dword [esp + eax + 0x22c], edi
mov dword [esp + eax + 0x238], ebx
mov eax, edi
mov dword [esp + 0x1e0], edx
mul esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x1d4], str.Error_while_writing_out_the_boot_region
mov dword [esp + 0x1dc], 1
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x70]
adc edi, dword [esp + 0x74]
add esi, dword [esp + 0x80]
mov dword [esp + 0x9c], 0
adc edi, dword [esp + 0x84]
add esi, dword [esp + 0xc0]
adc edi, dword [esp + 0xc4]
cmp dword [esp + 0x64c], 0
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
jne 0x460269
xor eax, eax
xor edx, edx
add esi, eax
adc edi, edx
cmp dword [esp + 0x6a0], 0
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edi
jne 0x4622eb
mov dword [esp], 2
mov ebx, 6
xor ebp, ebp
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov esi, eax
call edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error_while_writing_volume_structures:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x138]
test eax, eax
je 0x4604a5
lea edi, [esp + 0x138]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0041d440
mov eax, dword [esp + 0x13c]
test eax, eax
je 0x4604c3
lea edi, [esp + 0x13c]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0041d440
mov eax, dword [esp + 0x140]
test eax, eax
je 0x45db6e
lea edx, [esp + 0x140]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
jmp 0x45db6e
mov ebp, dword [esp + 0x6a8]
movzx ebx, dx
test ebp, ebp
je 0x460d49
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x460d49
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_number_of_heads___u__for_SDA_formatting.
jmp 0x45db59
mov edx, dword [esp + 0x6a8]
test edx, edx
je 0x460dd8
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x460dd8
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
mov ebx, 0x16
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 8], esi
mov dword [esp + 0x14], ebp
xor ebp, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.Specified_sector_count___I64u__is_larger_than_the_sector_count_of_the_volume___I64u_.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov eax, dword [esp + 0x698]
mov esi, str.whole
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
test eax, eax
mov eax, str.strict
cmove esi, eax
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.__s__sda__s___Volume_is_too_large_for_SDA_recommendations_to_apply.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45ef72
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_number_of_sectors_per_cluster___lu__for_SDA_formatting.
jmp 0x45e4d7
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x58]
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Alignment___lu__is_not_a_multiple_of_sector_size___lu_.
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0xc], edi
call sub.msvcrt.dll_fprintf
jmp 0x45ef72
lea eax, [esp + 0x122]
mov dword [esp + 0x668], eax
jmp 0x45e23e
mov dword [esp + 0x88], 0x40
mov byte [esp + 0x90], 0x20
jmp 0x45d54b
mov byte [esp + 0x90], 0x20
jmp 0x45d52c
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x4615c4
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x4615c4
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], str.Could_not_get_partition_offset_of_device._Setting_to_0.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
jmp 0x45d5b3
mov dword [esp + 0x88], 4
jmp 0x45d54b
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Specified_sector_size_is_0.
jmp 0x45ef6a
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x200], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x420], 0
test eax, eax
jne 0x45d780
mov dword [esp + 0x88], 0
jmp 0x45f2f6
mov esi, dword [esp + 0x6a8]
movzx ebx, dx
test esi, esi
je 0x4616a4
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4616a4
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Error:_Invalid_specified_number_of_sectors_per_track___u__for_SDA_formatting.
jmp 0x45db59
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x46158c
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46158c
mov edi, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Specified_sector_size___lu__can_not_be_translated_to_an_even_multiple_or_divisor_of_the_device_sector_size___lu_.
mov dword [esp + 0xc], edi
jmp 0x45ed5c
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x4616cc
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4616cc
mov dword [esp + 4], str.Alignment_is_too_large_for_a_FAT_filesystem_with_this_sector_size.
jmp 0x45dba9
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_cluster_size___lu__for_SDA_formatting.
jmp 0x45e4d7
mov edx, dword [esp + 0x6a8]
test edx, edx
je 0x4616f0
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4616f0
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.Device_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov ecx, dword [esp + 0x6a8]
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45dd00
mov dword [esp + 0x70], 0
mov ebx, 0x16
xor ebp, ebp
mov dword [esp + 0xa8], 0
mov dword [esp + 0x100], 0
mov esi, str.FAT32
mov edx, 0x10006
mov ecx, 0xfff6
mov byte [esp + 0x90], 0x20
mov dword [esp + 0x80], 0xffffff5
mov dword [esp + 0x78], 0xffffff5
test ebx, ebx
je 0x460a8d
mov edi, dword [esp + 0x70]
cmp ecx, edi
jbe 0x46128a
cmp dword [esp + 0x6a8], 0
je 0x461fe5
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x461fe5
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Number_of_clusters_are_not_enough_to_make_a_n_t_s_volume__Min_expected:__lu__Got:__lu_._n_tPlease_try_by_increasing_volume_size.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov ecx, dword [esp + 0xa8]
mov esi, 0
mov dword [esp + 0x70], eax
lea eax, [esp + 0x1d0]
mov dword [esp + 0x74], 0
mov ebx, dword [esp + 0x88]
lea edi, [esp + 0x1a8]
cmp ecx, 0x1fff
mov dword [esp + 0x78], 0
cmova esi, ecx
mov dword [esp + 0xb0], eax
jmp 0x460981
cmp dword [esp + 0xa8], 0x1fff
mov dword [esp + 0x220], 0
ja 0x462cf5
mov dword [esp + 0x78], eax
add ebx, ebx
je 0x4622ae
cmp ebx, dword [esp + 0x98]
ja 0x4622ae
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], 0x10
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x220]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x14], 2
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp + 0x10], ebx
mov dword [esp], esi
call fcn.0045bfc0
mov ecx, dword [esp + 0x1a8]
cmp ecx, 0xfff5
jbe 0x4609fe
mov dword [esp + 0x1a8], 0xfff5
mov ecx, 0xfff5
mov eax, dword [esp + 0x220]
mov edx, eax
cmp ecx, eax
jb 0x46094c
cmp dword [esp + 0xa8], 0x1fff
ja 0x46323f
test eax, eax
je 0x46096c
mov eax, edx
mov dword [esp + 0x70], edx
sub eax, 0xff6
cmp eax, 0xefff
ja 0x4627c0
mov eax, dword [esp + 0x1d0]
mov esi, str.FAT16
xor ebp, ebp
mov dword [esp + 0xec], 0
mov byte [esp + 0x90], 0x10
mov edx, 0x1006
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x80], 0xffe5
mov dword [esp + 0xe8], eax
mov dword [esp + 0x88], ebx
xor ebx, ebx
cmp dword [esp + 0x70], edx
jae 0x4611c1
mov eax, dword [esp + 0x644]
test eax, eax
jne 0x461020
cmp dword [esp + 0x68], 0
je 0x462775
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x70], edi
jbe 0x45f33c
mov eax, dword [esp + 0x88]
imul eax, dword [esp + 0x58]
mov esi, dword [esp + 0x6a8]
mov dword [esp + 0x78], eax
test esi, esi
je 0x4614fe
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 4]
test eax, eax
je 0x461730
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x6a8]
mov dword [esp + 4], str.Cluster_size:__lu_bytes
mov dword [esp + 8], ecx
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45f396
mov ecx, dword [esp + 0x644]
mov edi, str.specified_value_due_to_force_mode
mov eax, str.operating_system_provided_value__use_force_mode_to_override_
mov dword [esp], 2
test ecx, ecx
cmovne eax, edi
mov edi, dword [fcn.004a1b90]
mov ebp, eax
call edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Specified_number_of_sectors_per_track___lu__does_not_match_the_number_of_sectors_per_track_reported_by_the_operating_system___lu_._Using__s.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45e407
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_FAT_type___u__for_SDA_formatting.
jmp 0x45e4d7
mov dword [esp], 2
mov ebp, dword [fcn.004a1b90]
call ebp
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Specified_sector_count___I64u__is_smaller_than_the_minimum_allowed___lu_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebp
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebp
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45dd00
movzx eax, byte [esp + 0x90]
cmp al, 0x10
je 0x461c64
cmp al, 0x20
jne 0x461922
lea eax, [esp + 0x1e4]
lea edi, [esp + 0x1a8]
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x420]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], 0x20
mov dword [esp + 0xc], eax
mov eax, ebp
mov dword [esp + 0x14], 2
mov dword [esp + 8], 0
mov dword [esp], 0
call fcn.0045bfc0
cmp dword [esp + 0x1a8], 0xffffff5
jbe 0x460cd6
mov dword [esp + 0x1a8], 0xffffff5
mov esi, dword [esp + 0x420]
mov edi, dword [esp + 0x98]
lea eax, [esi - 1]
sub edi, 1
cmp eax, 0xfff4
jbe 0x45d7e2
mov ebx, dword [esp + 0x88]
mov eax, esi
mov dword [esp + 0x70], esi
sub eax, 0xfff6
cmp eax, 0xffeffff
ja 0x46085b
mov eax, dword [esp + 0x1e4]
mov dword [esp + 0x88], ebx
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0xec], 0
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xe8], eax
jmp 0x460880
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_number_of_heads___u__for_SDA_formatting.
jmp 0x45e4d7
mov dword [esp + 0x88], 0x10
mov byte [esp + 0x90], 0x10
jmp 0x45d54b
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x461d4b
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x461d4b
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.Volume_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
jmp 0x460848
mov byte [esp + 0x90], 0x10
jmp 0x45d52c
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Specified_sector_count___I64u__is_larger_than_the_sector_count_of_the_volume___I64u_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45ece1
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Sector_size_out_of_bounds_for_FAT:__lu
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45d423
cmp dword [esp + 0x644], 0
mov edi, str.specified_value_due_to_force_mode
mov eax, str.operating_system_provided_value__use_force_mode_to_override_
mov dword [esp], 2
cmovne eax, edi
mov edi, dword [fcn.004a1b90]
mov ebp, eax
call edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Specified_number_of_heads___lu__does_not_match_the_number_of_heads_reported_by_the_operating_system___lu_._Using__s.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45e7e6
mov edx, dword [esp + 0xe0]
mov edi, eax
mov eax, dword [esp + 0x98]
cmp ebx, eax
cmova ebx, eax
mov eax, esi
test al, al
jne 0x46100a
test edx, edx
jne 0x461942
test ecx, ecx
je 0x460fe5
mov esi, 0xc
mov eax, dword [esp + 0x200]
test eax, eax
je 0x460ff2
mov eax, dword [esp + 0x220]
test eax, eax
jne 0x460f6f
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x420]
test eax, eax
jne 0x460f88
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x420], eax
mov eax, esi
cmp al, 0x10
je 0x4621a9
cmp al, 0x20
je 0x461a5f
cmp al, 0xc
je 0x4619d2
movzx esi, al
mov eax, dword [esp + 0x6a8]
test eax, eax
je 0x461dfd
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x461dfd
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], esi
mov dword [esp + 4], str.FAT_type:___lu__could_not_be_determined.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45f2f6
test edi, edi
je 0x460f47
mov esi, 0x20
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x200], eax
jmp 0x460f56
mov esi, 0x20
mov eax, dword [esp + 0x420]
test eax, eax
mov eax, 0x20
cmovne esi, eax
jmp 0x460f47
cmp dword [esp + 0x68], 0
jne 0x461f3d
cmp dword [esp + 0x6a8], 0
je 0x46145d
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x461e67
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0x10], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.Number_of_clusters_is_less_than_the_recommended_minimum_amount_of_clusters_for_a__s_volume:__lu__minimum_recommended:__lu__Continuing_due_to_force_mode...
mov edx, dword [ecx]
mov dword [esp], edx
call eax
cmp edi, dword [esp + 0x80]
ja 0x461eed
mov eax, dword [esp + 0x58]
imul eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
jmp 0x45f35b
mov dword [esp + 0x78], eax
lea eax, [esp + 0x1bc]
mov ebx, dword [esp + 0x88]
lea esi, [esp + 0x200]
mov dword [esp + 0x7c], 0
lea edi, [esp + 0x1a8]
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], eax
jmp 0x4610f0
mov dword [esp + 0x200], 0
mov dword [esp + 0x70], edx
add ebx, ebx
je 0x46219d
cmp ebx, dword [esp + 0x98]
ja 0x46219d
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], esi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x18], 0xc
mov dword [esp + 4], eax
mov eax, ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], ebx
mov dword [esp], 0
call fcn.0045bfc0
mov eax, dword [esp + 0x1a8]
cmp eax, 0xff5
jbe 0x461169
mov dword [esp + 0x1a8], 0xff5
mov eax, 0xff5
mov edx, dword [esp + 0x200]
cmp edx, eax
ja 0x4610cc
test edx, edx
je 0x4610db
mov dword [esp + 0x70], edx
cmp edx, 0xff5
ja 0x45f316
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x88], ebx
mov esi, str.FAT12
xor ebx, ebx
mov dword [esp + 0x80], 0xfe5
xor ebp, ebp
mov dword [esp + 0xa8], eax
mov byte [esp + 0x90], 0xc
mov edi, dword [esp + 0x80]
cmp dword [esp + 0x70], edi
jbe 0x45f33c
cmp dword [esp + 0x644], 0
jne 0x461f53
cmp dword [esp + 0x68], 0
jne 0x460ac2
cmp dword [esp + 0x6a8], 0
je 0x462de3
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x462de3
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x6a8]
mov edi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Number_of_clusters_is_larger_than_the_recommended_maximum_amount_of_clusters_for_a__s_volume:__lu__maximum_recommended:__lu__Specify_force_mode_to_override_this_check.
mov dword [esp + 0xc], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
test ebx, ebx
jne 0x45db6e
jmp 0x45dd00
mov dword [esp + 0x70], 0
mov ebx, 0x16
xor ebp, ebp
mov esi, str.FAT16
mov dword [esp + 0xa8], 0
mov edx, 0x1006
mov ecx, 0xff6
mov dword [esp + 0x100], 0
mov dword [esp + 0x80], 0xffe5
mov dword [esp + 0x78], 0xfff5
jmp 0x4608b2
mov edi, dword [esp + 0x70]
cmp dword [esp + 0x78], edi
jae 0x460a8d
cmp dword [esp + 0x6a8], 0
je 0x4620aa
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4620aa
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x6a8]
mov edi, dword [esp + 0x78]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Volume_size_is_too_big_to_be_formatted_as__s_n_t_Max_clusters_lim:__lu__Calculated:__lu_._n_tPlease_try_by_reducing_volume_size_or_by_n_tincreasing_sectors_per_cluster_value.
mov dword [esp + 0xc], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45db6e
cmp dword [esp + 0x644], 0
mov edi, str.specified_value_due_to_force_mode
mov eax, str.operating_system_provided_value__use_force_mode_to_override_
mov dword [esp + 0xa0], edx
cmovne eax, edi
mov dword [esp + 0x98], ecx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x80], eax
call edi
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Specified_partition_start_sector___I64u__does_not_match_the_partition_start_sector_reported_by_the_operating_system___I64u_._Using__s.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45f289
mov ecx, dword [esp + 0xe4]
xor edx, edx
mov eax, dword [esp + 0x100]
add eax, dword [esp + 0x104]
div ecx
mov edx, dword [esp + 0x58]
shr edx, 5
imul edx, ecx
imul eax, edx
cmp byte [esp + 0x90], 0x20
mov dword [esp + 0xf4], eax
jne 0x45f449
mov edi, dword [esp + 0xe8]
xor eax, eax
mov edx, 8
mov ebp, dword [esp + 0xec]
mov ecx, eax
cmp edx, edi
sbb ecx, ebp
jae 0x461c2b
mov dword [esp + 0x80], 6
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0xa8]
xor edx, edx
mov ebp, dword [esp + 0x64]
lea ecx, [eax + eax*2]
shr eax, 9
mov dword [esp + 0x98], ecx
mov ecx, eax
mov eax, edi
add eax, edi
add eax, dword [esp + 0xe8]
mov edi, dword [esp + 0x60]
add eax, 1
imul eax, ecx
sub eax, 1
div ecx
xor edx, edx
cmp edi, eax
mov edi, ebp
mov ebx, eax
sbb edi, edx
jb 0x4619ed
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc8], eax
jmp 0x45f4ad
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x78], edx
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541f29
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.__s__Number_of_clusters_is_less_than_the_recommended_minimum_amount_of_clusters_for_a__s_volume:__lu__minimum_recommended:__lu__Continuing_due_to_force_mode...
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
cmp ebx, dword [esp + 0x80]
ja 0x461f6e
mov eax, dword [esp + 0x58]
imul eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x70], 0
je 0x46173b
mov eax, dword [esp + 0xa0]
xor edx, edx
div dword [esp + 0x78]
test edx, edx
je 0x45f412
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Alignment___lu__is_not_a_multiple_of_the_cluster_size___lu_.
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45f412
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.__s__Specified_sector_size___lu__can_not_be_translated_to_an_even_multiple_or_divisor_of_the_device_sector_size___lu_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45e4df
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x541f29
mov dword [esp + 4], str.__s__Could_not_get_partition_offset_of_device._Setting_to_0.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x460696
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x541f29
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.__s__Device_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45d2d6
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error:_Invalid_specified_number_of_sectors_per_track___u__for_SDA_formatting.
jmp 0x45e4d7
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Alignment_is_too_large_for_a_FAT_filesystem_with_this_sector_size.
jmp 0x45ef6a
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], str.__s__Device_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45e4df
cmp dword [esp + 0x70], 0
jne 0x45f3c6
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_compute_cluster_count._Aborting.
jmp 0x45e30f
mov dword [esp + 0x78], ebx
lea esi, [esp + 0x1e4]
mov ebx, dword [esp + 0x88]
lea edi, [esp + 0x1a8]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
jmp 0x4617ae
mov dword [esp + 0x420], 0
mov dword [esp + 0x70], edx
add ebx, ebx
je 0x462141
cmp ebx, dword [esp + 0x98]
ja 0x462141
lea eax, [esp + 0x420]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], esi
mov edx, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x18], 0x20
mov dword [esp], eax
mov eax, ebp
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], ebx
call fcn.0045bfc0
mov eax, dword [esp + 0x1a8]
cmp eax, 0xffffff5
jbe 0x46182a
mov dword [esp + 0x1a8], 0xffffff5
mov eax, 0xffffff5
mov edx, dword [esp + 0x420]
cmp edx, eax
ja 0x46178a
test edx, edx
je 0x461799
cmp dword [esp + 0xa8], 0
mov esi, edx
je 0x460cfc
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0xc], 0
lea ebp, [ecx + ecx]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x70], ebp
lea edi, [ebp + 9]
xor ebp, ebp
add edi, dword [esp + 0x80]
lea eax, [ecx - 1]
adc ebp, dword [esp + 0x84]
xor edx, edx
mov dword [esp + 8], ecx
add eax, edi
mov edi, ecx
adc edx, ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov ebp, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
mov dword [esp + 0xa8], edi
imul eax, edi
mov edi, dword [esp + 0x60]
mov dword [esp + 8], ebx
add edx, ebp
mov dword [esp + 0xc], 0
sub eax, edx
xor edx, edx
mov ecx, eax
mov eax, ebp
mov ebp, dword [esp + 0x64]
sub edi, eax
mov dword [esp + 0xfc], ecx
sbb ebp, edx
xor edx, edx
sub edi, ecx
sbb ebp, edx
mov dword [esp], edi
mov dword [esp + 4], ebp
call fcn.004a0f50
mov ecx, dword [esp + 0x78]
imul ecx, dword [esp + 0x58]
mov edi, eax
mov ebp, edx
xor edx, edx
shr ecx, 2
sub ecx, 2
cmp ecx, edi
sbb edx, ebp
jae 0x460cfc
mov edi, dword [esp + 0xa8]
add dword [esp + 0xfc], edi
jmp 0x460cfc
mov eax, dword [esp + 0x100]
lea edi, [eax - 1]
jmp 0x45d7e2
mov eax, esi
mov edx, dword [esp + 0xe0]
test al, al
jne 0x46100a
cmp dword [esp + 0x200], edx
sbb esi, esi
and esi, 4
add esi, 0xc
jmp 0x460f47
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
mov edi, eax
call esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_to_hold_boot_region_data:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov eax, dword [esp + 0x200]
mov dword [esp + 0x70], eax
cmp eax, 0xff5
jbe 0x461190
jmp 0x45f2f6
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, edx
mul ebp
imul ecx, ebp
mov edi, edx
mov esi, eax
add edi, ecx
mov ecx, ebp
imul ecx, ebx
xor ebx, ebx
cmp dword [esp + 0x6a8], 0
je 0x4621c9
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4621c9
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x6a8]
xor ebp, ebp
mov dword [esp + 0x14], ebx
mov ebx, 0x1c
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.Device_is_too_small_to_hold_a_FAT_file_system__device_size:__I64u_B__required:__I64u_B_.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov eax, dword [esp + 0x420]
mov dword [esp + 0x70], eax
sub eax, 0xfff6
cmp eax, 0xffeffff
jbe 0x460d12
jmp 0x45f2f6
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
mov edi, eax
call esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_to_hold_FAT_data:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x460487
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x10], esi
mov dword [esp + 8], 0x541f29
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.__s__Partition_start_sector___I64u__is_out_of_bounds_for_FAT__so_setting_to_0._This_volume_will_not_be_bootable.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp + 0xb8], 0
cmp dword [esp + 0x64], 0
jbe 0x45f645
cmp dword [esp + 0x6a8], 0
je 0x4630a4
mov eax, dword [esp + 0x6a8]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x4630a4
movzx eax, byte [esp + 0x90]
cmp al, 0x20
je 0x46365e
cmp al, 0x10
mov ecx, 0x541cf1
mov eax, 0x541cee
cmovne eax, ecx
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov dword [esp + 8], eax
mov ebx, 0x16
mov eax, dword [esp + 0x6a8]
mov dword [esp + 4], str.Number_of_device_sectors_exceed_the_maximum_number_of_sectors_for_a_FAT_s_volume:__I64u
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov eax, dword [eax]
xor ebp, ebp
mov dword [esp], eax
call edx
mov edi, dword [fcn.004a1b90]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0041d490
mov dword [esp], 2
mov esi, eax
call edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error_while_initializing_boot_sector:__lu___s_
jmp 0x460445
mov edi, dword [esp + 0xe8]
mov edx, 5
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x80], 0
cmp edx, edi
sbb eax, ebp
jae 0x461403
mov eax, edi
sub eax, 1
mov dword [esp + 0x80], eax
jmp 0x461403
lea eax, [esp + 0x1d0]
lea edi, [esp + 0x1a8]
xor edx, edx
mov ecx, ebx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x220]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x14], 2
lea edi, [eax - 1]
mov dword [esp + 8], 0
lea eax, [edi + ebp]
mov dword [esp], 0
div ebp
mov edx, dword [esp + 0x80]
imul eax, ebp
sub ecx, eax
mov eax, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x84]
call fcn.0045bfc0
cmp dword [esp + 0x1a8], 0xfff5
jbe 0x461d00
mov dword [esp + 0x1a8], 0xfff5
mov edx, dword [esp + 0x220]
lea eax, [edx - 1]
cmp eax, 0xff4
jbe 0x45d7e2
mov ebx, dword [esp + 0x88]
jmp 0x460a28
mov edi, eax
mov edx, dword [esp + 0x220]
jmp 0x460f28
movzx eax, byte [esp + ebx + 0x428]
mov byte [esp + 0x90], 0x20
mov dword [esp + 0x88], eax
jmp 0x45d54b
mov dword [esp], 2
mov ebp, dword [fcn.004a1b90]
call ebp
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.__s__Volume_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
jmp 0x460bf3
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x541f29
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.__s__Volume_size___I64u__is_not_an_even_multiple_of_the_specified_sector_size___u_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45d35e
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__FAT_type:___lu__could_not_be_determined.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45f2f6
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x78], edx
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541f29
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], str.__s__Number_of_clusters_is_less_than_the_recommended_minimum_amount_of_clusters_for_a__s_volume:__lu__minimum_recommended:__lu__Continuing_due_to_force_mode...
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
cmp ebx, dword [esp + 0x80]
jbe 0x46107e
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 8]
test eax, eax
je 0x461f68
mov ecx, dword [esp + 0x88]
imul ecx, dword [esp + 0x58]
mov dword [esp + 8], esi
mov edi, dword [esp + 0x80]
mov dword [esp + 4], str.Number_of_clusters_is_larger_than_the_recommended_maximum_amount_of_clusters_for_a__s_volume:__lu__maximum_recommended:__lu__Continuing_due_to_force_mode...
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 0xc], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x460ae1
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0x70], ecx
ja 0x460ac2
jmp 0x45f33c
cmp dword [esp + 0x68], 0
jne 0x460ac2
cmp dword [esp + 0x6a8], 0
jne 0x461eed
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541f29
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], str.__s__Number_of_clusters_is_larger_than_the_recommended_maximum_amount_of_clusters_for_a__s_volume:__lu__maximum_recommended:__lu__Continuing_due_to_force_mode...
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x460ac2
mov dword [esp + 0x48], ecx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], str.__s__Number_of_clusters_are_not_enough_to_make_a_n_t_s_volume__Min_expected:__lu__Got:__lu_._n_tPlease_try_by_increasing_volume_size.
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45ddc6
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__FAT_type_incorrectly_set_by_user.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x461e28
cmp dword [esp + 0x6a8], 0
je 0x462eaa
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x462eaa
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0xf4]
mov ebx, 0x16
xor ebp, ebp
mov dword [esp + 4], str.Invalid_root_directory_entries:__u__set_by_user._n_tPlease_select_number_of_entries_such_that__root_n_tdirectory_results_in_an_integral_multiple_of_n_tsector_size:__u_bytes.
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 8], ecx
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], str.__s__Volume_size_is_too_big_to_be_formatted_as__s_n_t_Max_clusters_lim:__lu__Calculated:__lu_._n_tPlease_try_by_reducing_volume_size_or_by_n_tincreasing_sectors_per_cluster_value.
mov dword [esp + 0x10], ecx
jmp 0x46201c
mov esi, 0xffffff5
mov ebx, str.FAT32
cmp dword [esp + 0x6a8], 0
je 0x462256
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x462256
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 8], ebx
xor ebp, ebp
mov dword [esp + 0xc], esi
mov ebx, 0x16
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.Volume_size_is_too_big_to_be_formatted_as__s_n_t_Max_cluster_limit:__lu__Calculated:__lu_._n_tPlease_try_by_reducing_volume_size_or_by_n_tincreasing_sectors_per_cluster_value.
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x45db6e
mov esi, 0xff5
mov ebx, str.FAT12
jmp 0x46214b
mov eax, dword [esp + 0x220]
mov dword [esp + 0x70], eax
sub eax, 0xff6
cmp eax, 0xefff
jbe 0x460a3e
jmp 0x45f2f6
mov ebp, dword [fcn.004a1b90]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp], 2
call ebp
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov ebx, 0x1c
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Device_is_too_small_to_hold_a_FAT_file_system__device_size:__I64u_B__required:__I64u_B_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebp
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebp
xor ebp, ebp
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Volume_size_is_too_big_to_be_formatted_as__s_n_t_Max_cluster_limit:__lu__Calculated:__lu_._n_tPlease_try_by_reducing_volume_size_or_by_n_tincreasing_sectors_per_cluster_value.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45ece1
movzx eax, byte [esp + ebx + 0x428]
mov byte [esp + 0x90], 0x10
mov dword [esp + 0x88], eax
jmp 0x45d54b
mov eax, dword [esp + 0x78]
mov esi, 0xfff5
mov ebx, str.FAT16
mov dword [esp + 0x70], eax
jmp 0x46214b
cmp dword [esp + 0x6a8], 0
je 0x463253
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x463253
mov edi, dword [esp + 0x70]
mov dword [esp + 0x10], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x6a8]
mov dword [esp + 4], str.Number_of_clusters_is_less_than_the_recommended_minimum_amount_of_clusters_for_a__s_volume:__lu__minimum_recommended:__lu__Specify_force_mode_to_override_this_check.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x461231
mov dword [esp + 0x70], 0
mov esi, str.FAT16
xor ebp, ebp
mov edx, 0x1006
mov dword [esp + 0x100], 0
mov ecx, 0xff6
mov ebx, 0x16
mov dword [esp + 0xa8], 0
mov byte [esp + 0x90], 0x10
mov dword [esp + 0x80], 0xffe5
mov dword [esp + 0x78], 0xfff5
jmp 0x4608b2
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
mov edi, eax
call esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_to_hold_root_dir:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x461abc
mov edx, dword [esp + 0xa0]
mov eax, dword [0x544da0]
mov esi, 0x544da0
mov dword [edx], eax
mov eax, dword [0x544f9c]
lea edi, [edx + 4]
and edi, 0xfffffffc
mov dword [edx + 0x1fc], eax
mov eax, edx
sub eax, edi
sub esi, eax
add eax, 0x200
shr eax, 2
cmp dword [esp + 0x688], 0
mov ecx, eax
movzx eax, word [esp + 0x58]
rep movsd dword es:[edi], dword [esi]
mov word [edx + 0xb], ax
movzx eax, byte [esp + 0x88]
mov byte [edx + 0xd], al
movzx eax, word [esp + 0xe8]
mov word [edx + 0xe], ax
movzx eax, word [esp + 0xc0]
mov word [edx + 0x18], ax
movzx eax, word [esp + 0xd4]
mov word [edx + 0x1a], ax
mov eax, dword [esp + 0xb8]
mov dword [edx + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 0xa8]
mov dword [edx + 0x24], eax
movzx eax, word [esp + 0x80]
mov word [edx + 0x32], ax
mov eax, dword [esp + 0x420]
mov dword [edx + 0x43], eax
je 0x462922
lea eax, [edx + 0x47]
cmp dword [esp + 0xb0], 0xa
mov esi, dword [esp + 0x688]
mov edi, eax
mov ecx, dword [esp + 0xb0]
rep movsb byte es:[edi], byte [esi]
jle 0x463590
mov ebx, dword [esp + 0x13c]
mov eax, dword [esp + 0x58]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memset
cmp dword [esp + 0x50], 1
mov dword [ebx], 0xfffffff
sbb eax, eax
mov dword [ebx + 8], 0xfffffff
or eax, 0xfffffff
mov dword [ebx + 4], eax
jmp 0x45f7c8
mov dword [esp + 0xb0], 0
jmp 0x45f587
mov edx, dword [esp + 0x58]
cmp dword [esp + 0x98], edx
jbe 0x4600eb
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x70], ecx
xor esi, esi
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa8]
mov dword [esp + ebx + 0x224], edx
mov dword [esp + ebx + 0x220], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x1bc], str.Writing_FSInfo_sector...
add eax, edi
mov byte [esp + ebx + 0x230], 0
mov dword [esp + ebx + 0x228], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x1c0], str.Error_while_writing_out_the_FSInfo_sector
mov dword [esp + 0x1c8], 1
sub eax, edi
mov dword [esp + ebx + 0x22c], eax
mov ebx, eax
mov eax, dword [esp + 0x70]
shl eax, 5
mov dword [esp + eax + 0x238], ebx
mov dword [esp + eax + 0x23c], esi
lea eax, [ecx + 1]
mov dword [esp + 0xa8], eax
jmp 0x4600eb
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x178], 2
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xac]
mov byte [esp + 0x270], 0
mov dword [esp + 0x260], edi
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x258], eax
mov dword [esp + 0x278], eax
cmp dword [esp + 0x80], 0
lea eax, [esp + 0x280]
mov dword [esp + 0x25c], edx
mov dword [esp + 0x27c], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x264], ebp
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], ecx
mov dword [esp + 0x180], str.Writing_reserved_region...
mov dword [esp + 0x184], str.Error_while_writing_reserved_region
mov dword [esp + 0x18c], 1
je 0x462af2
mov eax, dword [esp + 0x58]
mul dword [esp + 0x80]
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0x94]
sub ebx, eax
mov ecx, 4
mov dword [esp + 0x280], eax
sbb esi, edx
mov dword [esp + 0x284], edx
mov dword [esp + 0x288], 0
mov dword [esp + 0x28c], 0
mov byte [esp + 0x290], 0
mov dword [esp + 0x298], ebx
mov dword [esp + 0x29c], esi
jmp 0x46002e
cmp byte [esp + 0x90], 0x20
je 0x462cdb
xor eax, eax
cmp byte [esp + 0x90], 0x10
mov dword [esp + 0x60], 0
sete al
mov dword [esp + 0x64], 0
lea eax, [eax*4 + 0xc]
mov ebp, eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x78], 0
jmp 0x45fb6d
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x13c]
mov dword [eax + 0x36], 0x31544146
mov dword [eax + 0x3a], 0x20202032
mov eax, dword [esp + 0x58]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memset
mov word [ebx + 1], 0xffff
jmp 0x45f7c8
mov ebx, dword [esp + 0x138]
mov esi, dword [esp + 0x58]
xor eax, eax
lea edx, [ebx + esi]
lea edi, [edx + 4]
mov ecx, edx
and edi, 0xfffffffc
sub ecx, edi
add ecx, 0x200
shr ecx, 2
rep stosd dword es:[edi], eax
lea eax, [esi + 0xff]
mov dword [edx], 0x41615252
mov dword [edx + 0x1e4], 0x61417272
mov dword [edx + 0x1fc], 0xaa550000
mov dword [edx + 0x1e8], 0xffffffff
mov dword [edx + 0x1ec], 3
mov byte [ebx + eax*2], 0x55
mov edx, dword [esp + 0x138]
mov byte [edx + eax*2 + 1], 0xaa
mov eax, dword [esp + 0x6a8]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x45f8b8
mov edi, dword [esp + 0x80]
mov edx, str.FAT32
mov dword [esp + 0xf8], edi
jmp 0x45f897
mov ecx, dword [esp + 0x6a8]
mov dword [esp + 4], 0x544191
mov edx, dword [ecx + 0x10]
mov dword [esp], edx
call eax
jmp 0x45fa7b
mov dword [esp + 0x80], 0
jmp 0x45f8b8
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0x60]
mov dword [eax + 0x20], edi
jmp 0x45f706
mov edx, dword [esp + 0x68c]
mov ecx, 0xb
mov eax, 0x20
sub ecx, dword [esp + 0x68c]
add edx, ebx
mov edi, edx
rep stosb byte es:[edi], al
jmp 0x45f85a
mov ebp, 0x20
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
jmp 0x462b6e
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], 0
mov ebp, dword [esp + 0x1d0]
xor edi, edi
mov dword [esp + 0xc], 0
lea ecx, [ebp + ebp]
lea esi, [ecx + 9]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0xa8]
add esi, dword [esp + 0x80]
adc edi, dword [esp + 0x84]
xor edx, edx
lea eax, [ecx - 1]
mov dword [esp + 8], ecx
add eax, esi
adc edx, edi
mov dword [esp], eax
mov edi, ecx
mov dword [esp + 4], edx
call fcn.004a0f50
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x60]
mov dword [esp + 0xa8], edi
imul eax, edi
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x80]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
add edx, ecx
sub eax, edx
xor edx, edx
sub esi, ecx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xfc]
sbb edi, edx
xor edx, edx
sub esi, eax
sbb edi, edx
mov dword [esp], esi
mov dword [esp + 4], edi
xor edi, edi
call fcn.004a0f50
mov ecx, edx
mov edx, dword [esp + 0x58]
imul edx, ebp
shr edx, 1
sub edx, 2
cmp edx, eax
mov edx, edi
sbb edx, ecx
jae 0x462dc9
mov edi, dword [esp + 0xa8]
add dword [esp + 0xfc], edi
cmp dword [esp + 0x90], 0
je 0x463e67
mov edx, dword [esp + 0x220]
jmp 0x460a28
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], str.__s__Number_of_clusters_is_larger_than_the_recommended_maximum_amount_of_clusters_for_a__s_volume:__lu__maximum_recommended:__lu__Specify_force_mode_to_override_this_check.
mov dword [esp + 0x10], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x461231
mov edi, dword [esp + 0x420]
mov edx, dword [esp + 0x220]
mov dword [esp + 0xd4], 0
mov ecx, dword [esp + 0x200]
movzx esi, byte [esp + 0x90]
mov dword [esp + 0xc8], 0
mov ebx, dword [esp + 0x88]
mov dword [esp + 0xf0], 0
jmp 0x460f1c
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0xf4]
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Invalid_root_directory_entries:__u__set_by_user._n_tPlease_select_number_of_entries_such_that__root_n_tdirectory_results_in_an_integral_multiple_of_n_tsector_size:__u_bytes.
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x45dcc6
lea eax, [esp + ebx + 0x240]
mov edi, dword [esp + 0x50]
add ecx, 2
xor esi, esi
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x1bc], str.Writing_FSInfo_sector...
shl eax, 5
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x1c0], str.Error_while_writing_out_the_FSInfo_sector
mov dword [esp + eax + 0x220], edi
mov edi, dword [esp + 0x58]
sub ebx, 1
mov dword [esp + eax + 0x224], ebp
add edx, edi
mov byte [esp + eax + 0x230], 0
imul ebx, edi
mov dword [esp + eax + 0x228], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x1c8], 1
sub edx, edi
mov dword [esp + eax + 0x22c], edx
jmp 0x4629fc
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], str.fat_format_write_structures
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], 0xf98
mov dword [esp + 0xc], str.format.c
mov dword [esp + 8], 0x542f3e
mov dword [esp + 4], str.__s___s:_d___s__Internal_error:_Reserved_region___Iu_bytes__is_not_large_enough_to_fit_the_boot_region___Iu_bytes_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x4603d5
lea eax, [esp + 0x420]
mov dword [esp], eax
call fcn.00465e80
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
je 0x45f5e1
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov esi, eax
call edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], str.__s__Error_while_generating_serial_number:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x461bf7
mov ebx, 0x16
xor ebp, ebp
mov edi, dword [fcn.004a1b90]
jmp 0x461bf7
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0xa0]
mov ecx, 0xb
lea edx, [edi + eax + 0x2b]
sub ecx, eax
mov eax, 0x20
mov edi, edx
rep stosb byte es:[edi], al
jmp 0x45f772
movzx eax, byte [esp + 0x90]
cmp al, 0x20
je 0x463668
cmp al, 0x10
mov ebx, 0x541cee
mov eax, 0x541cf1
cmovne ebx, eax
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
xor ebp, ebp
call edi
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov ebx, 0x16
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 4], str.__s__Number_of_device_sectors_exceed_the_maximum_number_of_sectors_for_a_FAT_s_volume:__I64u
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x461bf7
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], eax
jmp 0x462d04
mov dword [esp + 0x48], edx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x541ac0
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.__s__Number_of_clusters_is_less_than_the_recommended_minimum_amount_of_clusters_for_a__s_volume:__lu__minimum_recommended:__lu__Specify_force_mode_to_override_this_check.
jmp 0x462e19
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], str.fat_format_write_structures
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x10], 0xfb4
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], str.format.c
mov dword [esp + 8], 0x542f3e
mov dword [esp + 4], str.__s___s:_d___s__Internal_error:_Reserved_region___Iu_bytes__is_not_large_enough_to_fit_the_backup_boot_region__sector__lu___Iu_bytes_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x4603d5
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x98]
xor edx, edx
mov dword [esp], 2
lea eax, [esi + edi - 1]
div edi
mov edi, dword [fcn.004a1b90]
mov ebx, eax
call edi
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], str.fat_format_write_structures
mov dword [esp + 0x10], 0xfa8
mov dword [esp + 0xc], str.format.c
mov dword [esp + 8], 0x542f3e
mov dword [esp + 4], str.__s___s:_d___s__Internal_error:_Backup_boot_region_at_sector__lu_overlaps_the_primary_boot_region___Iu_bytes____Iu_sectors_.
jmp 0x463522
mov eax, dword [esp + 0xb0]
mov edi, dword [esp + 0xa0]
mov ecx, 0xb
sub ecx, eax
lea edx, [edi + eax + 0x47]
movzx eax, byte [esp + 0x90]
mov edi, edx
rep stosb byte es:[edi], al
jmp 0x462922
mov eax, dword [esp + 0x88]
mul dword [esp + 0x58]
mov dword [esp], 2
xor ebp, ebp
mov ebx, dword [fcn.004a1b90]
mov edi, edx
mov esi, eax
call ebx
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], str.fat_format_volume
mov dword [esp + 0x10], 0x15b7
mov dword [esp + 0xc], str.format.c
mov dword [esp + 8], 0x542f3e
mov dword [esp + 4], str.__s___s:_d___s__Internal_error:_Cluster_size_would_overflow_u32___I64u____lu_._Earlier_sanity_checks_should_have_prevented_this.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
call ebx
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x541afb
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 6
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x45db6e
mov eax, 0x541ceb
jmp 0x461bc0
mov ebx, 0x541ceb
jmp 0x4630c3
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
mov edi, eax
call esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x541ac0
mov dword [esp + 4], 0x544160
jmp 0x46198b
mov eax, dword [esp + 0x100]
lea edi, [eax - 1]
jmp 0x45d7ed
mov esi, 0xfff5
mov ebx, str.FAT16
jmp 0x46214b