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

Disassembly:
push ebp
push edi
xor edi, edi
push esi
push ebx
sub esp, 0x62c
mov ebp, dword [esp + 0x670]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x134], 0
mov word [esp + 0x12e], di
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
test ebp, ebp
je 0x404628
cmp dword [esp + 0x674], 0xb
ja 0x406450
mov eax, dword [esp + 0x674]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x670]
mov dword [esp], eax
call fcn.0040d980
test eax, eax
je 0x406510
mov ecx, dword [esp + 0x67c]
test ecx, ecx
je 0x4046b0
mov eax, dword [esp + 0x67c]
mov edx, dword [eax]
test edx, edx
jne 0x4046b0
cmp word [eax + 4], 0
jne 0x4046b0
cmp word [eax + 6], 0
jne 0x4046b0
cmp byte [eax + 8], 0
jne 0x4046b0
cmp byte [eax + 9], 0
jne 0x4046b0
cmp byte [eax + 0xa], 0
jne 0x4046b0
cmp byte [eax + 0xb], 0
jne 0x4046b0
cmp byte [eax + 0xc], 0
jne 0x4046b0
cmp byte [eax + 0xd], 0
jne 0x4046b0
cmp byte [eax + 0xe], 0
jne 0x4046b0
cmp byte [eax + 0xf], 0
jne 0x4046b0
cmp dword [esp + 0x694], 0
je 0x408cf6
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x408cf6
mov dword [esp + 4], str.Invalid_volume_GUID__null_GUID_not_allowed_.
jmp 0x4064e9
mov eax, dword [esp + 0x688]
test eax, eax
jne 0x4046ca
mov eax, dword [esp + 0x690]
test eax, eax
jne 0x4064c0
lea eax, [esp + 0x220]
mov esi, dword [esp + 0x688]
mov edi, 1
or esi, dword [esp + 0x684]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
cmove edi, dword [esp + 0x644]
mov dword [esp], eax
call fcn.004159d0
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
je 0x4064b0
mov eax, dword [esp + 0x65c]
test eax, eax
je 0x406920
mov eax, dword [esp + 0x65c]
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 0x4065b1
mov eax, dword [esp + 0x220]
mov edx, dword [esp + 0x424]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x420]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], eax
test esi, esi
jne 0x4066f4
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x664]
mov dword [esp + 0x58], 0
mov edx, dword [esp + 0x4c]
test ebp, ebp
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
je 0x4047d2
mov eax, dword [esp + 0x664]
mov ebx, dword [eax]
test ebx, ebx
je 0x406a74
lea eax, [ebx - 1]
test eax, ebx
jne 0x406a74
lea eax, [ebx - 0x200]
cmp eax, 0x1fffe00
ja 0x406ed3
mov ecx, dword [esp + 0x65c]
test ecx, ecx
je 0x4049c0
mov eax, dword [esp + 0x65c]
movzx ebx, word [eax]
cmp ebx, dword [esp + 0x50]
je 0x4049c0
test bx, bx
je 0x406f90
mov eax, dword [esp + 0x50]
xor edx, edx
div ebx
test edx, edx
je 0x406af0
mov esi, dword [esp + 0x50]
mov eax, ebx
xor edx, edx
div esi
test edx, edx
jne 0x40756a
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 + 0x50], eax
lea eax, [esp + 0x118]
mov dword [esp + 0x10], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 0x54], edx
add dword [esp + 0x54], ecx
call fcn.004a1170
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x11c]
or eax, dword [esp + 0x118]
mov dword [esp + 0x64], edx
je 0x4048f5
mov eax, dword [esp + 0x644]
test eax, eax
je 0x407656
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407ae8
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x407ae8
mov ecx, dword [esp + 0x694]
mov dword [esp + 0x10], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0x4a459c
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov eax, edx
mov edx, ecx
xor eax, edi
xor edx, ebp
or edx, eax
je 0x404980
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 0x404980
mov eax, dword [esp + 0x644]
test eax, eax
je 0x4079aa
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407cfd
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x407cfd
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0x4a4640
mov edx, dword [edi]
mov dword [esp], edx
call eax
lea esi, [esi]
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 + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov dword [esp + 0x50], ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
lea esi, [esi]
mov eax, dword [esp + 0x50]
sub eax, 0x200
mov dword [esp + 0x90], eax
cmp eax, 0xe00
jbe 0x404a40
mov esi, dword [esp + 0x644]
test esi, esi
je 0x406690
cmp dword [esp + 0x90], 0x7e00
ja 0x406690
mov ebx, dword [esp + 0x694]
test ebx, ebx
je 0x4078b7
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x4078b7
mov edi, dword [esp + 0x50]
mov dword [esp + 4], str.Sector_size_out_of_bounds_for_exFAT:__lu
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov edx, dword [edi]
mov dword [esp], edx
call eax
lea esi, [esi]
lea edi, [edi]
mov edi, dword [esp + 0x660]
test edi, edi
je 0x404aa2
mov eax, dword [esp + 0x660]
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 0x404aa2
xor edx, edx
mov eax, 0x100000
mov ecx, ebx
div dword [esp + 0x50]
xor edx, edx
cmp esi, eax
mov edi, eax
sbb ecx, edx
jb 0x40727e
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
cmp eax, esi
mov eax, edx
sbb eax, ebx
jb 0x40740a
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], ebx
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x7c], 0
mov ebp, dword [esp + 0x64]
mov eax, edi
mov dword [esp + 0x78], esi
mul esi
mov ecx, ebp
imul ecx, esi
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x694]
mov dword [esp + 0x74], edx
add dword [esp + 0x74], ecx
test eax, eax
je 0x406e30
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 4]
test eax, eax
je 0x404b42
mov ecx, dword [esp + 0x694]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x4a497b
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 4]
test eax, eax
je 0x404b42
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 4], 0x4a4994
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov edi, dword [esp + 0x70]
mov eax, 0xfffff
mov ebp, dword [esp + 0x74]
cmp eax, edi
mov eax, 0
sbb eax, ebp
jae 0x406c74
mov eax, dword [esp + 0x664]
test eax, eax
je 0x407090
mov eax, dword [esp + 0x664]
mov eax, dword [eax]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xa8]
cmp dword [esp + 0x50], ecx
ja 0x406b00
lea eax, [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415830
or edx, eax
je 0x406f40
mov ebx, dword [esp + 0x668]
test ebx, ebx
je 0x407604
mov eax, dword [esp + 0x668]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x164], edx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x66c]
test eax, eax
je 0x407055
mov eax, dword [esp + 0x66c]
mov esi, dword [eax]
cmp esi, dword [esp + 0x50]
jb 0x406fc0
mov eax, esi
xor edx, edx
div dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov dword [esp + 0xe8], edx
test edx, edx
jne 0x406fc0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], esi
mov ebp, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov dword [esp + 0xc], 0
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0xe4], 0
shl eax, 3
mov ecx, ebp
mov dword [esp + 0xb0], edi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xb4], ebp
imul ecx, eax
mov eax, edx
imul eax, edi
add ecx, eax
mov eax, edi
mul dword [esp + 0x78]
mov edi, eax
mov ebp, edx
lea eax, [ebx + 0x16cb]
xor edx, edx
div ebx
add ebp, ecx
lea ecx, [ebx + ebx]
xor edx, edx
imul eax, ebx
xor ebx, ebx
sub ecx, edi
sbb ebx, ebp
add eax, ecx
lea ecx, [esi - 1]
adc edx, ebx
add eax, dword [esp + 8]
adc edx, dword [esp + 0xc]
add edi, dword [esp + 0xe0]
adc ebp, dword [esp + 0xe4]
mov dword [esp + 0x68], eax
xor ebx, ebx
mov eax, edi
mov dword [esp + 0x6c], edx
mov edx, ebp
add eax, ecx
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
imul edx, esi
mov edi, eax
mov eax, edi
mov ebx, edx
mul esi
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
add edi, ebx
add esi, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
cmp eax, esi
mov eax, edx
sbb eax, edi
jb 0x40737b
mov eax, dword [esp + 0xa8]
xor edx, edx
xor ebx, ebx
xor edi, edi
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xc], edi
div dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xc4], ebx
mov dword [esp + 8], ebp
mov esi, ebp
mov dword [esp + 0xf8], eax
lea eax, [ebp - 1]
mov ecx, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xb0]
add eax, 0x18
adc edx, 0
add eax, ecx
adc edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov ecx, edx
mul ebp
imul ecx, ebp
mov dword [esp + 0xbc], edx
mov dword [esp + 0xb8], eax
add dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
sub ecx, dword [esp + 0xb0]
sbb ebx, dword [esp + 0xb4]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], ebx
cmp ebx, 0
ja 0x407c40
mov eax, dword [esp + 0xf8]
xor ebx, ebx
xor edx, edx
mov ebp, 0xffffffff
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd4], 0
sub eax, 1
mov dword [esp + 0x68], esi
mov dword [esp + 0x100], eax
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x6c], edi
mov dword [esp + 0x80], ebx
jmp 0x404e37
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x98], ebx
mov ebp, ecx
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
sub ecx, eax
sbb ebx, edx
mov eax, ecx
mov ecx, dword [esp + 0xc8]
add eax, dword [esp + 0x60]
mov edx, ebx
mov ebx, dword [esp + 0xcc]
adc edx, dword [esp + 0x64]
sub eax, dword [esp + 0xb8]
sbb edx, dword [esp + 0xbc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x88], eax
mov edi, edx
add eax, 2
mov dword [esp + 0x8c], edx
adc edx, 0
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
shld edx, eax, 2
shl eax, 2
add eax, dword [esp + 0xd0]
adc edx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
shld edx, eax, 1
add eax, eax
add eax, dword [esp + 0xc0]
adc edx, dword [esp + 0xc4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov ebx, edi
mov edi, esi
mov dword [esp], eax
xor edi, ebp
mov dword [esp + 4], edx
call fcn.004a0f50
mov ecx, dword [esp + 0x6c]
imul edx, dword [esp + 0x68]
add dword [esp + 0x80], 1
imul ecx, eax
add ecx, edx
mul dword [esp + 0x68]
add edx, ecx
mov ecx, dword [esp + 0x98]
xor ecx, ebx
or edi, ecx
setne byte [esp + 0xa0]
movzx ebx, byte [esp + 0xa0]
cmp dword [esp + 0x80], 0x3e7
setle cl
test bl, cl
jne 0x404e20
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
cmp ebx, 0x3e8
jg 0x407db7
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x68]
mov ecx, ebp
mov eax, esi
imul eax, edi
imul ecx, ebx
add ecx, eax
mov eax, edi
mul ebx
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x8c]
add dword [esp + 0x84], ecx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
shrd ecx, ebx, 2
shr ebx, 2
mov edi, ebx
cmp ecx, eax
sbb edi, edx
jb 0x40812d
mov eax, dword [esp + 0xf0]
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x6c]
add eax, edi
adc edx, ebp
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
cmp edx, 0
ja 0x407338
cmp ebp, 0
ja 0x407338
mov edi, dword [esp + 0x88]
mov eax, 0xfffffff5
mov ebp, dword [esp + 0x8c]
cmp eax, edi
mov eax, 0
sbb eax, ebp
jb 0x40819f
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x98]
mov dword [esp + 0xb8], eax
mov eax, esi
mov ecx, ebp
imul eax, edi
mov esi, dword [esp + 0xb8]
imul ecx, ebx
imul esi, dword [esp + 0xa8]
add ecx, eax
mov eax, edi
xor edi, edi
mul ebx
mov dword [esp + 0xb4], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x70]
add dword [esp + 0xb4], ecx
add esi, dword [esp + 0xb0]
adc edi, dword [esp + 0xb4]
cmp eax, esi
mov eax, edx
sbb eax, edi
jb 0x408214
lea eax, [esp + 0x140]
mov dword [esp + 4], eax
lea eax, [esp + 0x13c]
mov dword [esp], eax
call fcn.0040a2a0
mov eax, dword [esp + 0xb8]
xor edx, edx
mov ecx, dword [esp + 0xa8]
mov dword [esp], 0
lea esi, [eax + 7]
shr esi, 3
lea edi, [ecx + esi - 1]
mov eax, edi
div ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 0xa0], eax
lea eax, [edx - 1]
mov edx, ecx
xor ecx, ecx
add eax, edx
setb cl
mov dword [esp + 0xd0], ecx
mov ecx, edx
xor edx, edx
div ecx
mov ecx, dword [esp + 0xa0]
xor edx, edx
add ecx, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc8], ecx
mov eax, ecx
mov ecx, dword [esp + 0x100]
lea eax, [ecx + eax*4 + 0xc]
mov ecx, dword [esp + 0x50]
div ecx
imul eax, ecx
mov ecx, eax
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x148]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x40830b
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x50]
xor edx, edx
mov dword [esp], 0
add eax, 0xa
shr eax, 3
add eax, dword [esp + 0x100]
div ecx
imul eax, ecx
mov ecx, eax
mov dword [esp + 0x100], eax
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x408387
lea eax, [esp + 0x150]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x4083c6
lea eax, [esp + 0x144]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.00427280
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x40883f
mov eax, dword [esp + 0x100]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
call sub.msvcrt.dll_memset
xor eax, eax
cmp dword [esp + 0xd0], 0
jne 0x40527c
mov ebx, 1
mov ecx, eax
mov edx, eax
mov ebp, ebx
add eax, 1
and ecx, 7
shr edx, 3
add edx, dword [esp + 0x14c]
shl ebp, cl
mov ecx, ebp
or byte [edx], cl
cmp dword [esp + 0xc0], eax
ja 0x405257
cmp edi, dword [esp + 0xa8]
jb 0x4052b9
mov edi, dword [esp + 0xe8]
mov ebx, 1
mov ecx, eax
mov edx, eax
mov ebp, ebx
add eax, 1
and ecx, 7
shr edx, 3
add edx, dword [esp + 0x14c]
add edi, 1
shl ebp, cl
mov ecx, ebp
or byte [edx], cl
cmp dword [esp + 0xa0], edi
ja 0x405291
mov edx, eax
and eax, 7
mov ebx, 1
mov ecx, eax
mov eax, dword [esp + 0xf8]
shr edx, 3
add edx, dword [esp + 0x14c]
shl ebx, cl
or byte [edx], bl
mov dword [esp + 8], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0x148]
mov eax, dword [esp + 0xa0]
mov dword [edx], 0xfffffff8
mov dword [edx + 4], 0xffffffff
cmp eax, 1
je 0x408fd8
add eax, 1
mov ebx, 2
jmp 0x405325
mov ebx, ecx
lea ecx, [ebx + 1]
mov dword [edx + ecx*4 - 4], ecx
cmp dword [esp + 0xa0], ebx
jne 0x405323
mov ebx, dword [esp + 0xc0]
lea ecx, [eax + 1]
mov dword [edx + eax*4], 0xffffffff
mov edi, ebx
sub edi, 1
je 0x40535e
add ebx, eax
mov eax, ecx
add eax, 1
mov dword [edx + eax*4 - 4], eax
cmp eax, ebx
jne 0x405351
add ecx, edi
mov eax, dword [esp + 0x50]
mov dword [edx + ecx*4], 0xffffffff
mov dword [edx + ecx*4 + 4], 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x150]
add eax, 2
cmp dword [esp + 0x670], 0
mov byte [ebx + 0x40], 0x82
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x140]
mov dword [ebx + 0x44], 0xe619d30d
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], 0
mov word [ebx + 0x20], 0x81
mov dword [ebx + 0x34], 2
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], 0
mov byte [ebx], 0x83
je 0x40892d
movzx eax, byte [esp + 0x674]
mov edx, dword [esp + 0x674]
mov edi, dword [esp + 0x670]
mov byte [ebx + 1], al
add edx, edx
lea eax, [ebx + 2]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
cmp dword [esp + 0x67c], 0
je 0x40545e
lea edx, [ebx + 0x76]
mov word [ebx + 0x60], 0xa0
xor eax, eax
lea edi, [ebx + 0x66]
mov word [ebx + 0x64], 0
mov esi, dword [esp + 0x67c]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
mov edi, edx
mov ecx, 0xa
lea esi, [ebx + 0x60]
rep stosb byte es:[edi], al
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0040d370
mov word [ebx + 0x62], ax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x164]
mov dword [esp + 0x420], 0
cmp dword [esp + 0x678], 0
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0xec], edx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x104], eax
je 0x408d76
mov eax, dword [esp + 0x678]
mov eax, dword [eax]
mov dword [esp + 0x420], eax
mov edx, dword [esp + 0xd0]
mov eax, dword [0x4a5f20]
mov esi, 0x4a5f20
mov dword [edx], eax
mov eax, dword [0x4a611c]
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 + 0x50], 1
mov ecx, eax
mov eax, dword [esp + 0xe8]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0xec]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
jbe 0x408903
xor edx, edx
mov ebx, 1
jmp 0x405521
mov edx, ecx
lea ecx, [edx + 1]
mov eax, ebx
shl eax, cl
cmp eax, dword [esp + 0x50]
jb 0x40551f
jne 0x408903
lea eax, [edx - 8]
cmp eax, 3
ja 0x408903
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0xa8], 1
mov byte [eax + 0x6c], cl
jbe 0x408881
xor eax, eax
mov ebx, 1
jmp 0x405563
mov eax, ecx
lea ecx, [eax + 1]
mov esi, ebx
shl esi, cl
cmp esi, dword [esp + 0xa8]
jb 0x405561
cmp edx, eax
mov ebp, ecx
setg bl
cmp esi, dword [esp + 0xa8]
setne cl
or cl, bl
jne 0x408881
cmp ebp, 0x19
jg 0x408881
mov ecx, dword [esp + 0xd0]
sub eax, edx
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x144]
mov byte [ecx + 0x6d], al
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x54], edi
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0xa8]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x98]
mov dword [ecx + 0x4c], edx
xor edx, edx
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0xb8]
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x104]
lea eax, [edi + eax - 1]
div edi
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0x50], 0x200
lea eax, [edi + eax + 2]
mov dword [ecx + 0x60], eax
mov eax, dword [esp + 0x420]
mov dword [ecx + 0x64], eax
ja 0x4089ed
mov edi, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov esi, 8
imul eax, edi, 0xc
mov dword [esp + 8], edi
mov dword [esp + 0x68], eax
add eax, ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
lea edx, [edi - 2]
add edi, edi
mov ebx, edi
mov edi, edx
mov edx, ebx
mov eax, dword [esp + 0x144]
mov ebp, ebx
sub ebp, dword [esp + 0x50]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
add eax, ebp
mov dword [esp + 0x90], edx
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x90]
mov byte [eax + ebx - 2], 0x55
mov eax, dword [esp + 0x144]
mov byte [eax + ebx - 1], 0xaa
lea ebx, [ebp + edx]
sub esi, 1
jne 0x40564b
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x68]
add eax, edi
lea edx, [eax + ecx]
lea ecx, [edi*8]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
lea eax, [esp + 0x420]
lea ecx, [edi + edi*8]
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 4], ecx
add eax, ecx
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x640]
mov dword [esp + 0x90], ecx
mov dword [esp], eax
call fcn.00415cf0
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x408c79
mov esi, dword [esp + 0x420]
cmp esi, dword [esp + 0x50]
jne 0x408a13
cmp dword [esp + 0x680], 0
mov ebx, dword [esp + 0x144]
je 0x4057f9
mov eax, dword [esp + 0x90]
or ebp, 0xffffffff
or edi, 0xffffffff
xor esi, esi
mov dword [esp + 0x98], ebx
lea edx, [ebx + eax]
mov ebx, ebp
mov ebp, edx
cmp edi, 0xffffffff
jne 0x405781
imul eax, esi, 0x30
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x4a5e60
add eax, ebp
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
cmove edi, esi
cmp ebx, 0xffffffff
jne 0x4057a8
imul eax, esi, 0x30
mov dword [esp + 8], 0x10
mov dword [esp + 4], str.F_f_n
add eax, ebp
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
cmove ebx, esi
add esi, 1
cmp esi, 0xa
jne 0x40575a
mov edx, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x98]
add ebp, 1
je 0x408cbb
cmp dword [esp + 0x694], 0
je 0x4057f9
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 4]
test eax, eax
je 0x4057f9
mov dword [esp + 4], str.Existing_flash_parameters_structure_found._No_changes_will_be_made.
mov edi, dword [esp + 0x694]
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov ebx, dword [esp + 0x144]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x90]
mov dword [esp + 4], 0
lea eax, [ebx + esi + 0x1e0]
lea edx, [edi - 0x1e0]
mov dword [esp + 8], edx
imul ebx, edi, 0xb
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x144]
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], edi
add eax, esi
lea edx, [eax + ebp]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
imul eax, edi, 0xa
add eax, dword [esp + 0x144]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
imul eax, edi, 0x16
add eax, dword [esp + 0x144]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x144]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040da70
mov dword [esp + 4], ebx
mov esi, eax
mov eax, dword [esp + 0x144]
add eax, ebp
mov dword [esp], eax
call fcn.0040da70
mov dword [esp + 0x420], esi
xor edx, edx
add ebx, dword [esp + 0x144]
mov ecx, edx
and ecx, 3
movzx ecx, byte [esp + ecx + 0x420]
mov byte [ebx + edx], cl
add edx, 1
cmp edx, dword [esp + 0x50]
jne 0x4058be
imul edx, dword [esp + 0x50], 0x17
mov dword [esp + 0x420], eax
xor eax, eax
add edx, dword [esp + 0x144]
mov ecx, eax
and ecx, 3
movzx ecx, byte [esp + ecx + 0x420]
mov byte [edx + eax], cl
add eax, 1
cmp eax, dword [esp + 0x50]
jne 0x4058ec
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x40592a
mov edi, dword [esp + 0x694]
mov dword [esp + 4], str.exFAT
mov edx, dword [edi + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x405952
mov edi, dword [esp + 0xa8]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x694]
mov edx, dword [edi + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x40597f
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 4], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 8], ebp
mov edx, dword [edi + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x694]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x4059c2
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0x88]
mov ebx, edx
mul edi
imul ebx, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x694]
add edx, ebx
mov dword [esp + 8], edx
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x694]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x4059ff
mov eax, dword [esp + 0xb8]
sub eax, 1
sub eax, dword [esp + 0xc8]
mul dword [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x694]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x405aaf
cmp dword [esp + 0x670], 0
je 0x408e8b
lea eax, [esp + 0x420]
mov dword [esp + 0x220], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x220]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x674]
mov dword [esp + 0x420], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x670]
mov dword [esp], eax
call fcn.00428940
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x408e0f
mov eax, dword [esp + 0x220]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
mov eax, dword [esp + 0x694]
call dword [eax + 0x28]
lea eax, [esp + 0x220]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x220]
mov dword [esp], eax
call fcn.0041d440
mov eax, dword [esp + 0x140]
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x13c]
mov ecx, edi
mov ebp, dword [esp + 0x150]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x48]
imul ecx, eax
mov eax, edx
imul eax, esi
add ecx, eax
mov eax, dword [esp + 0x48]
mul esi
mov dword [esp + 0x4c], edx
add dword [esp + 0x4c], ecx
cmp dword [esp + 0x688], 0
mov dword [esp + 0x48], eax
jne 0x4089ab
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
add eax, 0x100000
adc edx, 0
mov edi, ebx
cmp ecx, eax
mov dword [esp + 0x90], eax
sbb edi, edx
mov dword [esp + 0x94], edx
jae 0x405bb8
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov esi, eax
mov edi, edx
add esi, 0x100000
adc edi, 0
sub esi, dword [esp + 0x88]
sbb edi, dword [esp + 0x8c]
sub eax, dword [esp + 0x90]
sbb edx, dword [esp + 0x94]
sub esi, dword [esp + 0x70]
mov ecx, edx
sbb edi, dword [esp + 0x74]
cmp eax, esi
mov dword [esp + 0x98], esi
sbb ecx, edi
mov dword [esp + 0x9c], edi
jae 0x405c15
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
cmp dword [esp + 0x658], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
je 0x405c67
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 + 0xb8], eax
mov dword [esp + 0xbc], edx
mov ecx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa0]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mul ecx
mov esi, ecx
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x178], 0
mul ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0xd0], eax
mov eax, ecx
mov dword [esp + 0xd4], edx
mov edx, ebx
shl eax, 5
mov dword [esp + 0x184], 0
shld edx, ecx, 5
mov dword [esp + 0x188], 0
shrd eax, edx, 3
shr edx, 3
mov ecx, eax
mov ebx, edx
mov dword [esp + 0xc0], eax
lea eax, [esp + 0x17c]
mov dword [esp + 0xc4], edx
lea edx, [esp + 0x168]
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 dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 1
cmp dword [esp + 0x80], ecx
mov dword [esp + 0x1d0], eax
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x190]
mov dword [esp + 0x1d4], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 0x1d8], eax
sbb ecx, ebx
lea eax, [esp + 0x1b8]
mov dword [esp + 0x1c4], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1dc], eax
jb 0x408ea7
mov edx, dword [esp + 0x104]
lea eax, [esp + 0x220]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x168], str.Writing_allocation_bitmap...
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x228], edx
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x238], eax
lea eax, [esp + 0x240]
mov dword [esp + 0x22c], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x18c], eax
mov eax, ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x224], ebx
mov dword [esp + 0x23c], edx
mov edx, ebx
add ecx, eax
mov ebx, dword [esp + 0xa4]
lea eax, [esp + 0x260]
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0xd4]
adc ebx, edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x16c], str.Failed_to_write_out_allocation_bitmap
mov dword [esp + 0x244], ebx
mov dword [esp + 0x248], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 0x174], 1
mov dword [esp + 0x24c], edx
mov edx, dword [esp + 0xd0]
mov byte [esp + 0x230], 0
mov dword [esp + 0x17c], str.Writing_upcase_table...
mov dword [esp + 0x180], str.Failed_to_write_out_upcase_table
mov dword [esp + 0x188], 1
mov byte [esp + 0x250], 0
mov dword [esp + 0x258], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0xa8]
mul dword [esp + 0xc8]
add eax, dword [esp + 0xb0]
mov dword [esp + 0x268], ebp
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x278], esi
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x26c], eax
lea eax, [esp + 0x280]
mov dword [esp + 0x27c], edi
mov edi, dword [esp + 0x78]
mov dword [esp + 0x25c], ecx
mov ecx, ebp
adc edx, dword [esp + 0xb4]
mov dword [esp + 0x1b4], eax
mov eax, esi
imul ecx, ebx
imul eax, edi
mov dword [esp + 0x264], edx
mov dword [esp + 0x190], 0x4a568d
mov dword [esp + 0x194], 0x4a56a8
add ecx, eax
mov eax, edi
mov dword [esp + 0x19c], 1
mul ebx
mov byte [esp + 0x270], 0
mov dword [esp + 0x1a4], 0x4a56cc
mov dword [esp + 0x1a8], 0x4a56f0
mov dword [esp + 0x280], eax
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x1b0], 1
add edi, ecx
mov dword [esp + 0x288], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x284], edi
mov dword [esp + 0x28c], eax
mov byte [esp + 0x290], 0
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
cmp dword [esp + 0x648], 0
mov dword [esp + 0x1b8], 0x4a5710
mov dword [esp + 0x298], eax
lea eax, [esp + 0x2a0]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x29c], edx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x1bc], 0x4a5728
mov dword [esp + 0x1c4], 1
mov dword [esp + 0x2a0], 0
mov dword [esp + 0x2a4], 0
mov dword [esp + 0x2ac], eax
mov byte [esp + 0x2b0], 0
je 0x406105
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x2bc], edi
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x2b8], esi
mov dword [esp + 0x7c], 0
mul edi
mov dword [esp + 0x78], edi
mov ecx, eax
mov ebx, edx
add ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x70]
adc ebx, dword [esp + 0x94]
add ecx, dword [esp + 0x98]
adc ebx, dword [esp + 0x9c]
add ecx, dword [esp + 0xb8]
adc ebx, dword [esp + 0xbc]
cmp dword [esp + 0x64c], 0
mov edx, dword [esp + 0x74]
jne 0x40616d
xor eax, eax
xor edx, edx
mov edi, ecx
mov ebp, ebx
add edi, eax
adc ebp, edx
cmp dword [esp + 0x690], 0
jne 0x408452
mov dword [esp + 0x50], edi
lea eax, [esp + 0x220]
xor esi, esi
mov dword [esp + 0x54], ebp
mov ecx, dword [eax]
mov ebx, dword [eax + 4]
mov dword [esp + 0xc8], eax
mov edi, ecx
mov dword [esp + 0x80], ecx
mov ebp, ebx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x84], ebx
mov ebx, dword [eax + 0x1c]
add edi, ecx
mov dword [esp + 0xc0], ecx
adc ebp, ebx
mov dword [esp + 0xa0], edi
lea edi, [esi + 1]
mov dword [esp + 0xc4], ebx
mov edx, edi
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x50]
cmp edx, 5
je 0x408408
mov eax, edx
shl eax, 5
mov ecx, dword [esp + eax + 0x220]
mov ebx, dword [esp + eax + 0x224]
mov dword [esp + 0x50], ecx
add ecx, dword [esp + eax + 0x238]
mov dword [esp + 0x54], ebx
adc ebx, dword [esp + eax + 0x23c]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x50]
mov eax, ebx
cmp ecx, dword [esp + 0xa0]
sbb eax, dword [esp + 0xa4]
jae 0x4082b1
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
cmp ecx, eax
mov eax, ebx
sbb eax, dword [esp + 0xac]
jae 0x4082b1
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x48], edx
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x14], str.exfat_format_write_structures
add ecx, 0xffffffff
mov dword [esp + 0x10], 0x10b7
mov edx, dword [esp + 0x48]
adc ebx, 0xffffffff
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0xa4]
add ecx, 0xffffffff
mov dword [esp + 0xc], 0x4a4f84
adc ebx, 0xffffffff
mov dword [esp + 8], 0x4a4f8d
xor ebp, ebp
mov dword [esp + 4], 0x4a5750
mov dword [esp], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
mov ebx, 6
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], 0x4a3b9b
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], 0x4a3b60
mov dword [esp + 4], 0x4a5dc0
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x144]
test eax, eax
je 0x4063ed
lea edx, [esp + 0x144]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [esp + 0x150]
test eax, eax
je 0x40640b
lea edx, [esp + 0x150]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x406429
lea edx, [esp + 0x14c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
mov eax, dword [esp + 0x148]
test eax, eax
je 0x406499
lea edx, [esp + 0x148]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d440
jmp 0x406499
mov esi, dword [esp + 0x694]
test esi, esi
je 0x406540
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406540
mov ecx, dword [esp + 0x674]
mov dword [esp + 4], 0x4a3d7c
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x694]
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov ebx, 0x16
xor ebp, ebp
add esp, 0x62c
mov eax, ebx
mov edx, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x220]
jmp 0x40472d
mov eax, dword [esp + 0x694]
test eax, eax
je 0x406ac0
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406ac0
mov dword [esp + 4], 0x4a3ea0
mov edi, dword [esp + 0x694]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [edi]
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 ebx, dword [esp + 0x694]
test ebx, ebx
je 0x406d30
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406d30
mov dword [esp + 4], 0x4a3df0
jmp 0x4064e9
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x674]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a3db4
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406492
mov edi, dword [esp + 0x694]
test edi, edi
je 0x406974
mov eax, dword [esp + 0x694]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x406974
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0041d490
mov dword [esp + 4], 0x4a401a
mov dword [esp + 8], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax]
mov dword [esp], eax
call esi
mov eax, dword [esp + 0x694]
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x406499
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], 0x4a3b60
mov dword [esp + 4], 0x4a405c
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov ecx, dword [esp + 0x694]
test ecx, ecx
je 0x406cc0
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406cc0
mov edi, dword [esp + 0x50]
mov dword [esp + 4], str.Sector_size_out_of_bounds_for_exFAT:__lu
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov edx, dword [esp + 0x644]
test edx, edx
je 0x406492
cmp dword [esp + 0x90], 0x7e00
jbe 0x404a40
jmp 0x406492
mov dword [esp + 0x68], 0
xor edx, edx
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x58], 0
mov ebx, dword [esp + 0x688]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
test ebx, ebx
jne 0x406731
xor edi, edi
mov esi, edx
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
test ebp, ebp
je 0x40674e
mov ebx, eax
mov ebp, edi
shl ebx, 5
cmp esi, dword [ebx + 0x4a5ea8]
sbb ebp, dword [ebx + 0x4a5eac]
jb 0x40678e
cmp eax, 3
je 0x406768
mov ebx, eax
shl ebx, 5
mov ebp, dword [ebx + 0x4a5ea4]
cmp dword [ebx + 0x4a5ea0], esi
sbb ebp, edi
jb 0x40678e
mov ebx, eax
shl ebx, 5
cmp byte [ebx + 0x4a5eba], 0
je 0x406a00
mov dword [esp + 0x68], esi
lea ecx, [ebx + 0x4a5ea0]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x58], ecx
mov ecx, edx
add eax, 1
cmp eax, 4
je 0x4067b0
mov edx, eax
shl edx, 5
mov edx, dword [edx + 0x4a5eb0]
jmp 0x406712
mov eax, dword [esp + 0x58]
test eax, eax
je 0x406da0
mov ebp, dword [esp + 0x668]
xor edi, edi
mov esi, ecx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edi
test ebp, ebp
je 0x406e14
mov eax, dword [esp + 0x668]
mov ebp, dword [eax]
mov ebx, dword [eax + 4]
xor ecx, ebp
or ecx, ebx
jne 0x406b30
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x66c]
mov edx, dword [eax + 0x10]
mov eax, edx
shr eax, 1
shl eax, 9
mov dword [esp + 0x134], eax
test ecx, ecx
je 0x406bf0
mov ecx, dword [esp + 0x66c]
mov ebx, dword [ecx]
cmp eax, ebx
jne 0x407010
mov eax, dword [esp + 0x65c]
mov ebp, 0x200
mov word [esp + 0x12e], bp
test eax, eax
je 0x407042
mov eax, dword [esp + 0x65c]
movzx eax, word [eax]
cmp ax, 0x200
jne 0x407221
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x664]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x60], eax
shl eax, 9
mov dword [esp + 0x138], eax
test ecx, ecx
je 0x4076ad
mov ecx, dword [esp + 0x664]
mov ebx, dword [ecx]
cmp eax, ebx
jne 0x4072cd
xor ecx, ecx
xor eax, eax
mov dword [esp + eax + 0x204], ecx
add eax, 4
cmp eax, 0x1c
jb 0x406891
mov eax, dword [esp + 0x680]
shl edx, 8
mov dword [esp + 0x200], edx
test eax, eax
je 0x407465
lea eax, [esp + 0x200]
mov dword [esp + 8], 0x20
mov dword [esp + 4], eax
mov eax, dword [esp + 0x680]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x407889
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x688]
mov dword [esp + 0x64], edx
test eax, eax
je 0x4047a5
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
sub eax, esi
sbb edx, edi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x4047a5
test edi, edi
je 0x406d54
mov eax, dword [esp + 0x694]
test eax, eax
je 0x406b80
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x406b80
mov edi, dword [esp + 0x694]
mov dword [esp + 4], 0x4a3f3c
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov dword [esp + 0x220], 0x200
mov eax, 0x200
jmp 0x40472d
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], 0x4a3b60
mov dword [esp + 4], 0x4a4038
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x694]
test eax, eax
jne 0x4065f8
jmp 0x406610
mov ebx, dword [esp + 0x68c]
test ebx, ebx
jne 0x40678e
mov ecx, dword [esp + 0x694]
test ecx, ecx
je 0x407a34
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407a34
mov edx, dword [esp + 0x688]
mov ecx, 0x4a3d0f
mov dword [esp + 0x10], edi
mov ebx, 0x16
mov edi, dword [esp + 0x694]
mov dword [esp + 0xc], esi
test edx, edx
mov edx, 0x4a3d09
mov dword [esp + 4], str.sda__s___Device_with__I64u_sectors_is_too_small_for_SDXC_recommendations_to_apply.
cmove edx, ecx
xor ebp, ebp
mov dword [esp + 8], edx
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov edi, dword [esp + 0x694]
test edi, edi
je 0x406c03
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406c03
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a4494
mov edi, dword [esp + 0x694]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a3eec
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406572
mov dword [esp + 0x50], ebx
jmp 0x4049c0
mov esi, dword [esp + 0x694]
test esi, esi
je 0x407314
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407314
mov dword [esp + 4], 0x4a4ad4
jmp 0x4064e9
mov esi, dword [esp + 0x694]
test esi, esi
je 0x4073d6
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4073d6
mov edi, dword [esp + 0x694]
mov dword [esp + 8], ebp
xor ebp, ebp
mov dword [esp + 0xc], ebx
mov ebx, 0x16
mov dword [esp + 4], 0x4a41e0
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 4], 0x4a3f84
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x40695f
lea eax, [esp + 0x134]
mov dword [esp + 0x66c], eax
jmp 0x406828
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a44c4
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x406e4e
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x10], 0x100000
mov ebx, 0x1c
mov dword [esp + 4], str.Device_is_too_small_to_hold_an_exFAT_file_system__device_size:__I64u_B__required:__lu_B_.
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Sector_size_out_of_bounds_for_exFAT:__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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4066cf
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a3e14
jmp 0x406adf
mov eax, dword [esp + 0x694]
test eax, eax
je 0x406f05
mov eax, dword [esp + 0x694]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x406f05
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.0041d490
mov dword [esp + 4], 0x4a3fc8
mov dword [esp + 8], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax]
mov dword [esp], eax
call esi
jmp 0x4065f8
mov eax, dword [esp + 0x68c]
mov dword [esp + 0x58], 0x4a5f00
test eax, eax
jne 0x4067bc
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407792
mov eax, dword [esp + 0x694]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x407792
mov eax, dword [esp + 0x688]
mov ecx, 0x4a3d0f
mov ebx, 0x16
mov dword [esp + 4], 0x4a4154
test eax, eax
mov eax, 0x4a3d09
cmove eax, ecx
xor ebp, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax]
mov dword [esp], eax
call edx
jmp 0x406499
lea eax, [esp + 0x158]
mov dword [esp + 0x668], eax
jmp 0x4067f3
mov edi, dword [esp + 0x70]
mov eax, 0xfffff
mov ebp, dword [esp + 0x74]
cmp eax, edi
mov eax, dword [esp + 0x694]
sbb eax, ebp
jb 0x404b5e
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x14], 0x100000
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], str.__s__Device_is_too_small_to_hold_an_exFAT_file_system__device_size:__I64u_B__required:__lu_B_.
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 0x1c
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov esi, dword [esp + 0x694]
test esi, esi
je 0x407256
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407256
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a44fc
jmp 0x406aa1
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], 0x4a3b60
mov dword [esp + 4], 0x4a3ff0
jmp 0x4069a5
mov edx, dword [esp + 0x668]
test edx, edx
je 0x404bd9
mov eax, dword [esp + 0x668]
mov ebx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov ebp, dword [eax]
mov ecx, dword [eax + 4]
mov eax, ebx
or eax, esi
jne 0x4074e5
mov dword [esp + 0x160], ebp
mov dword [esp + 0x164], ecx
jmp 0x404bd9
mov edx, dword [esp + 0x694]
test edx, edx
je 0x407478
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407478
mov dword [esp + 4], 0x4a4559
jmp 0x4064e9
mov eax, dword [esp + 0x694]
test eax, eax
je 0x4075a4
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4075a4
mov edi, dword [esp + 0x50]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x4a4cc8
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0x694]
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x406492
mov eax, dword [esp + 0x694]
test eax, eax
je 0x4075dc
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4075dc
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a4280
jmp 0x406aa1
lea eax, [esp + 0x12e]
mov dword [esp + 0x65c], eax
jmp 0x406858
cmp dword [esp + 0x74], 1
sbb esi, esi
xor edx, edx
and esi, 0xfff10000
add esi, 0x100000
mov eax, esi
div dword [esp + 0xa8]
test edx, edx
je 0x404bf1
mov esi, dword [esp + 0xa8]
jmp 0x404bfb
mov edi, dword [esp + 0x70]
mov eax, 0xfffffff
mov ebp, dword [esp + 0x74]
cmp eax, edi
mov eax, dword [esp + 0x664]
sbb eax, ebp
jae 0x4076c0
cmp ebp, 7
jbe 0x4079ec
mov ebx, 9
mov ebp, 0x20000
mov edi, 0xfffffff5
xor esi, esi
nop
lea esi, [esi]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004a0f50
cmp edi, eax
mov eax, esi
sbb eax, edx
jae 0x408208
add ebp, ebp
sub ebx, 1
jne 0x4070d0
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Device_size_too_large:__I64u_bytes
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407198
mov eax, dword [esp + 0x694]
mov ebx, 0x1b
xor ebp, ebp
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x406499
mov dword [esp], 0x1b
xor ebp, ebp
mov dword [esp + 4], 0
call fcn.0041d490
mov dword [esp], 2
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov ebx, 0x1b
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_determine_cluster_size:__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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov esi, dword [esp + 0x694]
movzx ebx, ax
test esi, esi
je 0x4076d0
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4076d0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a4304
jmp 0x406484
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a4528
jmp 0x406c26
mov eax, dword [esp + 0x694]
test eax, eax
je 0x4076f8
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4076f8
mov dword [esp + 0x10], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x4a482c
mov edi, dword [esp + 0x694]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov eax, dword [esp + 0x694]
test eax, eax
je 0x40776a
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40776a
mov ecx, dword [esp + 0x694]
mov dword [esp + 8], ebx
xor ebp, ebp
mov ebx, 0x16
mov dword [esp + 4], 0x4a4388
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x406499
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a4b04
jmp 0x406adf
mov esi, dword [esp + 0x694]
test esi, esi
je 0x40781c
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40781c
mov edi, dword [esp + 0x694]
mov dword [esp + 4], str.Device_is_too_large_for_an_exFAT_file_system_with_the_specified_parameters.
mov ebx, 0x1b
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x4063cf
mov ebp, dword [esp + 0x694]
test ebp, ebp
je 0x4077d8
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4077d8
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x70]
mov ebx, 0x1c
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 4], str.Device_is_too_small_to_hold_an_exFAT_file_system_with_the_specified_alignment__device_size:__I64u_B__required:__I64u_B_.
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a422c
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406c2e
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407925
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407925
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
mov ebx, 0x16
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0x14], ebp
xor ebp, ebp
mov dword [esp + 4], 0x4a48c8
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x406499
lea eax, [esp + 0x200]
mov dword [esp + 0x680], eax
jmp 0x4068e3
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a4578
mov dword [esp], eax
xor ebp, ebp
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 0x16
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov eax, esi
mov edx, ebx
xor eax, ebp
xor edx, ecx
or edx, eax
je 0x404bd9
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407b9a
mov eax, dword [esp + 0x694]
mov edi, dword [eax + 8]
test edi, edi
je 0x407b9a
mov eax, dword [esp + 0x644]
mov edx, 0x4a3d3c
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
test eax, eax
mov eax, 0x4a3d18
mov dword [esp + 8], ebp
cmove eax, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], 0x4a4bb4
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax]
mov dword [esp], eax
call edi
mov eax, dword [esp + 0x644]
test eax, eax
je 0x404bd9
jmp 0x404bbf
mov ebp, dword [esp + 0x694]
test ebp, ebp
je 0x4079fc
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4079fc
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a46e4
mov dword [esp + 0xc], ecx
jmp 0x406ff5
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0x4a4d00
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406572
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a42c0
jmp 0x406c26
mov ecx, dword [esp + 0x694]
test ecx, ecx
je 0x407a82
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x407a82
mov edi, dword [esp + 0x694]
mov dword [esp + 4], 0x4a4b3c
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
jmp 0x404bd9
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407b62
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407b62
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x10], ebx
mov ebx, 0x16
mov ecx, dword [esp + 0x694]
mov dword [esp + 4], 0x4a459c
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 8], edi
mov edx, dword [ecx]
mov dword [esp], edx
call eax
jmp 0x406499
lea eax, [esp + 0x138]
mov dword [esp + 0x664], eax
jmp 0x40688d
mov dword [esp + 0xa8], 0x1000
jmp 0x404b7d
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a4344
jmp 0x406c26
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], 0x4a3b60
mov dword [esp + 4], 0x4a4878
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebp
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406492
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a43c8
jmp 0x406c26
mov eax, dword [esp + 0x688]
mov esi, 0x4a3d09
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
test eax, eax
mov eax, 0x4a3d0f
cmove esi, eax
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x4a4198
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406572
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 0x18], edi
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Device_is_too_small_to_hold_an_exFAT_file_system_with_the_specified_alignment__device_size:__I64u_B__required:__I64u_B_.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406e8d
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Device_is_too_large_for_an_exFAT_file_system_with_the_specified_parameters.
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 0x1b
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4063cf
mov eax, dword [esp + 0x694]
test eax, eax
je 0x408109
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x408109
mov dword [esp + 4], str.Error:_Invalid_specified_flash_parameters_for_SDA_formatting.
jmp 0x4064e9
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 4], str.__s__Sector_size_out_of_bounds_for_exFAT:__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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x404a40
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 + 0x10], ebx
mov dword [esp + 0xc], esi
mov ebx, 0x16
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a4920
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov eax, dword [esp + 0x694]
test eax, eax
je 0x407d77
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x407d77
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x10], ebx
mov dword [esp + 4], 0x4a4640
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
jmp 0x4072b3
mov dword [esp + 0xa8], 0x8000
jmp 0x404b7d
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0x4a4758
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406c2e
mov eax, dword [esp + 0x688]
mov ebp, 0x4a3d09
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
test eax, eax
mov eax, 0x4a3d0f
cmove ebp, eax
call ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__sda__s___Device_with__I64u_sectors_is_too_small_for_SDXC_recommendations_to_apply.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406572
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 4], 0x4a4b74
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x40763b
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], 0x4a3f79
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0x4a45ec
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4048f5
mov dword [esp], 2
mov ebp, dword [fcn.004a1b90]
call ebp
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov dword [esp + 4], 0x4a45ec
jmp 0x407723
mov eax, dword [esp + 0x644]
mov edi, 0x4a3d18
mov dword [esp + 0x80], ecx
mov dword [esp], 2
test eax, eax
mov eax, 0x4a3d3c
cmovne eax, edi
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x68], eax
call edi
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 4], 0x4a4c3c
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x407556
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov esi, 0x16
xor ebp, ebp
call edi
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf4]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Invalid_alignment:_First_FAT_sector_too_large___I64u_.
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
mov ebx, 0x16
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], 0x4a3b9b
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 dword [esp + 0x48], eax
call edi
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], edx
mov dword [esp + 4], str.__s__Failed_to_calculate_distribution_between_FAT_and_cluster_heap:__lu___s_
jmp 0x40638d
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0x4a4690
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x404980
mov dword [esp], 2
mov esi, dword [fcn.004a1b90]
call esi
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x14], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], 0x4a4690
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x406c2e
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_calculate_the_distribution_between_FAT_and_cluster_heap_
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__cluster_count___I64u
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__fat_sector_count___I64u
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str.__s__prev_cluster_count___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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__sectors_per_cluster___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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__sector_count___I64u
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__sector_size___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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__cluster_size___lu
mov dword [esp + 0xc], ecx
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 2
mov esi, 5
mov ebx, 5
xor ebp, ebp
call edi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x407cc3
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Error:_Invalid_specified_flash_parameters_for_SDA_formatting.
jmp 0x407497
mov dword [esp + 0x48], ecx
mov edi, dword [fcn.004a1b90]
mov dword [esp + 0x4c], ebx
mov dword [esp], 2
call edi
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x14], str.exfat_format_calculate_fat_heap_distribution
mov dword [esp + 0x10], 0x63e
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], 0x4a4f84
mov dword [esp + 8], 0x4a4f8d
mov dword [esp + 4], str.__s___s:_d___s__Incorrect_fat_heap_distribution__FAT_clusters___I64u____actual_clusters___I64u__.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x4080be
mov ebx, dword [esp + 0x694]
test ebx, ebx
je 0x4082b9
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4082b9
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x10], 0xfffffff5
mov ebx, 0x1b
mov dword [esp + 0x14], 0
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov dword [esp + 0xc], ebp
xor ebp, ebp
mov dword [esp + 4], str.Number_of_clusters_is_larger_than_the_maximum_allowed_number:__I64u____I64u
mov edx, dword [edi]
mov dword [esp], edx
call eax
jmp 0x4063cf
mov dword [esp + 0xa8], ebp
jmp 0x404b7d
mov ebx, dword [fcn.004a1b90]
mov dword [esp], 2
call ebx
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ebp
xor ebp, ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], str.exfat_format_volume
mov dword [esp + 0x10], 0x1794
mov dword [esp + 0xc], 0x4a4f84
mov dword [esp + 8], 0x4a4f8d
mov dword [esp + 4], str.__s___s:_d___s__Calculated_layout_doesnt_fit_on_device__Available:__I64u_B_Required:__I64u_B
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 0x1c
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4063cf
add edx, 1
jmp 0x4061ec
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0x14], 0xfffffff5
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Number_of_clusters_is_larger_than_the_maximum_allowed_number:__I64u____I64u
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x407843
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], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_for_partial_fat:__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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4063cf
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], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_for_partial_bitmap:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408348
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], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_allocate_memory_to_hold_partial_root_dir:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408348
cmp dword [esp + 0x64c], 0
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebp
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
jne 0x408437
add dword [esp + 0x50], ecx
adc dword [esp + 0x54], ebx
mov esi, dword [esp + 0xb0]
add eax, 0x20
cmp esi, 5
jne 0x406194
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
cmp dword [esp + 0x68], 0
je 0x408474
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415b20
mov esi, eax
mov eax, edx
or eax, esi
jne 0x408b10
mov eax, dword [esp + 0x694]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x10], 0
xor ecx, ecx
mov dword [esp + 4], 0
mov dword [esp + 0x1e0], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x654]
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [esp], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x640]
mov dword [esp + 0x1f4], ebp
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f8], 0x4a57e8
call fcn.00403c20
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
jne 0x408a8c
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov edi, edx
or edi, eax
jne 0x408b94
cmp dword [esp + 0x658], 0
je 0x40872a
mov eax, 0x64
imul esi, dword [esp + 0x1ec], 0x64
mov edi, dword [esp + 0xc]
mov dword [esp + 8], 0x4a58dd
mul dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e0]
mov dword [esp + 0x1f8], 0x4a58dd
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x1f4]
mov dword [esp + 0x80], ecx
add edx, esi
mov esi, dword [esp + 8]
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x1f0]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.004a0f50
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [ecx + 0x10]
mov dword [esp], eax
call dword [ecx + 0x2c]
cmp dword [esp + 0x658], 2
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], 0
sete al
mov edi, dword [esp + 0x640]
mov dword [esp + 8], 0
mov esi, eax
movzx eax, al
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp], edi
mov dword [esp + 0xc], eax
call fcn.00415a10
mov edi, eax
or edi, edx
je 0x40867b
mov ecx, esi
test cl, cl
je 0x40867b
mov ecx, dword [esp + 0x694]
mov esi, dword [ecx + 8]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0041d490
mov edi, dword [esp + 0x694]
mov dword [esp + 4], 0x4a58f8
mov dword [esp + 8], eax
mov eax, dword [edi]
mov dword [esp], eax
call esi
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x640]
mov dword [esp + 0x10], edx
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.00415a10
mov ecx, edx
or ecx, eax
jne 0x408c44
mov ecx, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1f8]
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
add eax, dword [esp + 0x1e8]
adc edx, dword [esp + 0x1ec]
mov dword [esp + 0x80], ecx
mov ecx, 0x64
mov dword [esp + 8], esi
imul esi, edx, 0x64
mov edi, dword [esp + 0xc]
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], edx
mul ecx
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x1f4]
add edx, esi
mov esi, dword [esp + 8]
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x1f0]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.004a0f50
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [ecx + 0x10]
mov dword [esp], eax
call dword [ecx + 0x2c]
cmp dword [esp + 0x68], 0
jne 0x409417
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov edi, edx
or edi, eax
jne 0x4093e7
cmp dword [esp + 0x690], 0
jne 0x408fe6
mov dword [esp + 0x48], 0
lea edi, [esp + 0x168]
mov dword [esp + 0x58], ebx
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x40922c
add dword [esp + 0x48], 1
mov eax, dword [esp + 0x48]
cmp eax, 5
je 0x408fe2
mov eax, dword [esp + 0x48]
mov edi, dword [esp + eax*4 + 0x1cc]
cmp dword [edi + 8], 0
je 0x40876e
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], 0x4a3b60
mov dword [esp + 4], 0x4a52ac
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408348
cmp dword [esp + 0x694], 0
je 0x408d1a
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x408d1a
mov edi, dword [esp + 0xa8]
mov dword [esp + 4], str.Cluster_size_incompatible_with_volume:__lu
mov dword [esp + 8], edi
mov edi, dword [esp + 0x694]
mov ebx, 0x16
xor ebp, ebp
mov edx, dword [edi]
mov dword [esp], edx
call eax
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], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_fill_boot_record:__lu___s_
jmp 0x40638d
cmp dword [esp + 0x694], 0
je 0x408936
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x408936
mov edi, dword [esp + 0x50]
mov dword [esp + 4], str.Sector_size___lu_bytes__is_incompatible_with_exFAT:
mov dword [esp + 8], edi
jmp 0x4088b4
mov byte [ebx + 1], 0
jmp 0x405412
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Sector_size___lu_bytes__is_incompatible_with_exFAT:
mov dword [esp + 0xc], ecx
mov dword [esp], eax
mov ebx, 0x16
xor ebp, ebp
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4088cf
mov eax, dword [esp + 0x160]
mov dword [esp + 0x68], eax
test eax, eax
je 0x405b48
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov eax, ebx
mov ecx, ebx
mul esi
imul ecx, edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], eax
add dword [esp + 0x8c], ecx
jmp 0x405b76
mov edi, dword [esp + 0x90]
lea eax, [ebx + 0x200]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edi
call sub.msvcrt.dll_memset
jmp 0x40561e
mov ebx, dword [fcn.004a1b90]
mov dword [esp], 2
xor ebp, ebp
call ebx
mov edi, dword [esp + 0x50]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], edi
mov dword [esp + 4], str.__s__Could_not_read_entire_main_OEM_parameters_sector._Read__Iu_bytes_of__lu.
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call ebx
mov ebx, 5
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4063cf
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 esi, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5824
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, ebp
mov ebx, esi
mov ebp, edx
jmp 0x40635e
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x48], edx
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a57b4
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x48]
jmp 0x408b07
lea eax, [esp + 0x1e0]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x654]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
sub edx, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x640]
sbb ecx, edi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 0x1f8], 0x4a5864
call fcn.00403c20
mov esi, eax
mov eax, edx
or eax, esi
je 0x40852a
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x48], edx
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a589c
jmp 0x408b49
mov edi, dword [esp + 0x694]
mov esi, dword [edi + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0041d490
mov dword [esp + 4], 0x4a5950
mov dword [esp + 8], eax
mov eax, dword [esp + 0x694]
mov eax, dword [eax]
mov dword [esp], eax
call esi
jmp 0x408685
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], 0x4a3b60
mov dword [esp + 4], str.__s__Failed_to_read_existing_main_OEM_parameters_from_device:__lu___s_
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408348
cmp edi, 0xffffffff
je 0x408d49
imul eax, edi, 0x30
mov esi, str.F_f_n
mov ecx, 4
lea edi, [edx + eax]
lea edx, [edx + eax + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
mov edi, edx
mov esi, dword [esp + 0x680]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [esp + 0x144]
jmp 0x4057f9
mov dword [esp], 2
mov ebx, dword [fcn.004a1b90]
call ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Invalid_volume_GUID__null_GUID_not_allowed_.
jmp 0x406adf
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Cluster_size_incompatible_with_volume:__lu
mov dword [esp + 0xc], ecx
jmp 0x40895d
cmp dword [esp + 0x694], 0
je 0x408f6b
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 8]
test eax, eax
je 0x408f6b
mov dword [esp + 4], str.Found_no_empty_slot_to_store_supplied_flash_parameters.
jmp 0x4057e4
lea eax, [esp + 0x420]
mov dword [esp], eax
call fcn.0040bfb0
mov ebx, eax
mov eax, edx
mov ebp, edx
or eax, ebx
je 0x4054bf
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], 0x4a3b60
mov dword [esp + 4], 0x4a52f0
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4088cf
mov dword [esp + 4], edx
mov dword [esp], ebx
call fcn.0041d490
mov esi, dword [fcn.004a1b90]
mov dword [esp], 2
mov edi, eax
call esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5578
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call esi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x406499
mov edi, dword [esp + 0x694]
mov dword [esp + 4], 0x4a55a9
mov edx, dword [edi + 0x10]
mov dword [esp], edx
call eax
jmp 0x405aaf
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
xor ebp, ebp
call edi
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x14], str.exfat_format_write_structures
mov dword [esp + 0x10], 0xf8d
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x1c], ebx
mov ebx, 0x16
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc], 0x4a4f84
mov dword [esp + 0x18], ecx
mov dword [esp + 8], 0x4a4f8d
mov dword [esp + 4], str.__s___s:_d___s__fat_initialize_size___I64u_____fat_sector_count___lu___sector_size___lu_____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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x40635e
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 4], str.__s__Found_no_empty_slot_to_store_supplied_flash_parameters.
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov ebx, dword [esp + 0x144]
jmp 0x4057f9
mov eax, 2
jmp 0x405335
mov ebx, dword [esp + 0x58]
cmp dword [esp + 0x64c], 0
je 0x409108
cmp dword [esp + 0x650], 0
je 0x4091d3
mov dword [esp + 0x1f8], 0x4a5c68
mov edi, ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x74]
cmp eax, ecx
mov eax, edx
sbb eax, ebx
jae 0x409106
lea edx, [esp + 0x220]
xor eax, eax
mov ecx, dword [edx + 0x1c]
or ecx, dword [edx + 0x18]
je 0x40906d
mov ecx, dword [edx + 4]
mov ebx, dword [edx]
cmp ebx, dword [esp + 0x48]
mov esi, ecx
sbb esi, dword [esp + 0x4c]
jb 0x40906d
test eax, eax
je 0x4093b0
add edx, 0x20
lea ecx, [esp + 0x2c0]
cmp ecx, edx
jne 0x409044
test eax, eax
je 0x4093a3
mov ebx, edi
cmp dword [esp + 0x650], 0
jne 0x40915b
cmp dword [esp + 0x694], 0
je 0x409140
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 4]
test eax, eax
je 0x409140
mov edi, dword [esp + 0x694]
mov dword [esp + 4], 0x4a5d15
mov edx, dword [edi]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415630
mov esi, eax
mov eax, edx
or eax, esi
jne 0x4093b7
mov eax, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov edi, dword [esp + 0x1f0]
mov dword [esp + 0x48], eax
cmp edx, eax
je 0x409956
mov dword [esp + 0x58], edx
mov esi, dword [fcn.004a1b90]
mov dword [esp + 0x50], ecx
mov dword [esp], 2
call esi
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 8], 0x4a3f79
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], edi
mov dword [esp + 4], 0x4a5d64
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408348
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415630
mov esi, eax
mov eax, edx
or eax, esi
je 0x409002
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x48], edx
call fcn.0041d490
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5c1c
jmp 0x408b49
cmp dword [esp + 0x694], 0
mov ebx, dword [edi]
je 0x409260
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 4]
test eax, eax
je 0x409260
mov ecx, dword [esp + 0x694]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4a5c07
mov edx, dword [ecx]
mov dword [esp], edx
call eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x1f8], ebx
xor ebx, ebx
mov eax, ebx
shl eax, 5
add eax, dword [edi + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x654]
mov dword [esp + 0x50], edx
mov dword [esp + 0x14], ecx
movzx ebp, byte [eax + 0x10]
mov dword [esp + 0x10], ebp
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], ecx
mov ebp, dword [eax + 8]
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ebp
mov eax, dword [eax + 0xc]
mov dword [esp], eax
mov eax, dword [esp + 0x640]
call fcn.00403c20
mov ecx, edx
or ecx, eax
jne 0x409907
add ebx, 1
cmp esi, ebx
jne 0x40926d
mov ebp, dword [esp + 0x60]
jmp 0x408779
mov dword [esp + 0x48], edx
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
call edi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5d28
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408b51
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
sub esi, eax
mov eax, dword [esp + 0x640]
sbb edi, edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov dword [esp], eax
call fcn.004155d0
jmp 0x40874d
mov dword [esp + 0x1f8], 0x4a5990
mov eax, dword [esp + 0x58]
cmp dword [eax + 0x10], 0
je 0x409a85
cmp dword [esp + 0x64], 0
ja 0x409a45
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
movzx ecx, byte [edi + 0x19]
add eax, 0xffffffff
adc edx, 0xffffffff
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
mov dword [esp + 0x80], eax
mov eax, ecx
mul byte [edi + 0x18]
lea edi, [esp + 0x118]
mov dword [esp + 0x84], edx
xor edx, edx
mov byte [esp + 0x50], cl
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], edx
movzx eax, ax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0x58], eax
call fcn.004a1170
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x10], edi
mov esi, eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x54], 0
lea edi, [esp + 0x420]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x94], ecx
movzx ecx, byte [esp + 0x50]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
call fcn.004a1170
mov ecx, dword [esp + 0x11c]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x154], 0
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ecx
mov ecx, 0x6e
mov dword [esp + 0x58], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x154]
mov dword [esp + 0x98], edx
mov dword [esp], eax
call fcn.0040bfb0
mov eax, dword [esp + 0x154]
mov word [esp + 0x5dc], 0
mov dword [esp + 0x5d8], eax
cmp esi, 0x3ff
ja 0x409a31
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.004a0f50
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x7c]
mov edi, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.004a1050
lea ecx, [eax + 1]
mov eax, esi
shr eax, 2
and ecx, 0x3f
and eax, 0xffffffc0
or ecx, eax
cmp dword [esp + 0x58], 0x3ff
ja 0x409a1a
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov byte [esp + 0xa8], cl
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.004a0f50
mov edx, dword [esp + 0x54]
mov byte [esp + 0x90], al
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004a1050
movzx ecx, byte [esp + 0xa8]
add eax, 1
and eax, 0x3f
mov edx, eax
mov eax, dword [esp + 0x58]
shr eax, 2
and eax, 0xffffffc0
or eax, edx
movzx edx, byte [esp + 0xa0]
mov byte [esp + 0x50], al
mov eax, edi
mov byte [esp + 0x132], cl
mov byte [esp + 0x131], al
mov eax, esi
movzx ecx, word [esp + 0x131]
mov byte [esp + 0x5e1], al
mov byte [esp + 0x133], al
movzx eax, byte [esp + 0x90]
mov byte [esp + 0x5e5], dl
mov byte [esp + 0x154], al
movzx eax, byte [esp + 0x50]
mov byte [esp + 0x156], dl
lea edx, [esp + 0x5ee]
mov byte [esp + 0x155], al
movzx eax, word [esp + 0x154]
mov edi, edx
lea edx, [esp + 0x5fe]
mov word [esp + 0x5df], cx
mov ecx, 4
mov word [esp + 0x5e3], ax
mov eax, dword [esp + 0x68]
mov byte [esp + 0x5de], 0
mov dword [esp + 0x5e6], eax
mov eax, dword [esp + 0x60]
mov byte [esp + 0x5e2], 7
mov dword [esp + 0x5ea], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, 4
lea edx, [esp + 0x60e]
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, 4
mov edx, dword [esp + 0x7c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 0x10], 0
xor ecx, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x654]
mov word [esp + 0x61e], 0xaa55
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x78]
shld edx, eax, 9
shl eax, 9
mov dword [esp + 8], eax
lea eax, [esp + 0x420]
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x640]
mov dword [esp], 0x200
call fcn.00403c20
mov esi, eax
mov eax, edx
or eax, esi
jne 0x409963
mov eax, dword [esp + 0x640]
mov dword [esp], eax
call fcn.00415ae0
mov ecx, eax
mov esi, eax
mov eax, edx
xor ecx, 0xd
xor eax, 1
or ecx, eax
je 0x408735
mov eax, esi
or eax, edx
je 0x408735
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov dword [esp + 0x50], eax
call edi
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 0x10], edx
mov dword [esp + 4], 0x4a5b94
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x408735
mov dword [esp + 4], edx
mov esi, eax
mov dword [esp], eax
mov dword [esp + 0x48], edx
call fcn.0041d490
mov ebp, dword [edi + 4]
mov dword [esp], 2
mov ebx, eax
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5c0a
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x408b51
cmp ecx, edi
jne 0x409183
jmp 0x4063cf
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x48], edx
call fcn.0041d490
mov edi, dword [fcn.004a1b90]
mov dword [esp], 2
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5ae0
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [esp + 0x48], edx
call fcn.0041d490
mov dword [esp], 2
mov ebx, eax
call edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5b54
jmp 0x408b49
mov edx, 0xffffffff
mov byte [esp + 0x50], 0xff
mov byte [esp + 0x90], 0xfe
jmp 0x40966e
mov esi, 0xffffffff
mov ecx, 0xffffffff
mov edi, 0xfffffffe
jmp 0x4095d6
cmp dword [esp + 0x694], 0
je 0x409ab8
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x409ab8
mov edi, dword [esp + 0x694]
mov dword [esp + 4], str.Error:_Specified_sector_count_is_out_of_bounds_for_MBR_partitioning.
mov edx, dword [edi]
mov dword [esp], edx
mov esi, 0x16
call eax
xor edx, edx
mov edi, dword [fcn.004a1b90]
jmp 0x4099e2
cmp dword [esp + 0x694], 0
je 0x409b25
mov eax, dword [esp + 0x694]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x409b25
mov ecx, dword [esp + 0x694]
mov dword [esp + 4], 0x4a59bc
mov edx, dword [ecx]
jmp 0x409a6e
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], str.__s__Error:_Specified_sector_count_is_out_of_bounds_for_MBR_partitioning.
mov dword [esp], eax
mov esi, 0x16
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], 0x4a3b9b
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call edi
mov dword [esp], eax
call sub.msvcrt.dll_fflush
xor edx, edx
jmp 0x4099e2
mov dword [esp], 2
mov edi, dword [fcn.004a1b90]
call edi
mov dword [esp + 8], 0x4a3b60
mov dword [esp + 4], 0x4a5a00
jmp 0x409ad7