Function at 0x40f89c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x1474
call fcn.0041c530
mov eax, dword [0x4363f0]
xor eax, esp
mov dword [esp + 0x1470], eax
push ebx
push esi
push edi
push 0x3ff
lea eax, [esp + 0x7d]
mov dword [esp + 0x3c], 0
push 0
push eax
mov byte [esp + 0x84], 0
call fcn.00418cc0
xor al, al
mov dword [esp + 0x74], 0x4326cc
add esp, 0xc
movzx eax, al
cmp byte [0x448bf1], 0
mov ecx, 0x2682734
mov edi, 1
mov dword [esp + 0x6c], 0x42c008
cmovne eax, edi
mov dword [esp + 0x70], 0x432c90
xorps xmm0, xmm0
mov dword [esp + 0x30], eax
movsd qword [esp + 0x60], xmm0
lea esi, [ecx + 1]
xor edx, edx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f108
sub ecx, esi
je 0x40f14d
mov al, byte [edx + 0x2682734]
cmp al, 0xa
je 0x40f129
cmp al, 0xd
je 0x40f129
cmp al, 9
je 0x40f129
cmp al, 0x20
jne 0x40f130
mov byte [edx + 0x2682734], 0
mov ecx, 0x2682734
inc edx
lea esi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f140
sub ecx, esi
cmp edx, ecx
jb 0x40f113
mov ecx, 0x2682734
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f155
sub ecx, edx
je 0x40f195
cmp dword [0x448c28], 0
jbe 0x40f1ac
mov ecx, 0x2682734
call fcn.0040d9b0
test eax, eax
jne 0x40f1ac
push 0x2682734
push str._s_is_being_SKIPPED_since_it_was_not_in___files_provided_by_the_user_at_the_command_line
push 0x1cc7
push str.handleProgram
push 5
call fcn.004011c0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1470]
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
cmp dword [0x448bf4], 0
jbe 0x40f1db
mov ecx, 0x2682734
call fcn.0040da70
test eax, eax
je 0x40f1db
push 0x2682734
push str.handleProgram____s_is_being_SKIPPED_since_it_was_in___notfiles_provided_by_the_user_at_the_command_line
push 0x1cd0
push str.handleProgram
push 4
jmp 0x40f18d
cmp byte [0x448c3a], 0
jne 0x40f214
cmp byte [0x448c08], 0
jne 0x40f214
cmp byte [0x4494f0], 0
jne 0x40f214
push 0x2682734
push str.In_handleProgram__s_
push 0x1cda
push str.handleProgram
push 4
call fcn.004011c0
add esp, 0x14
mov dl, 1
mov ecx, 0x2682734
call fcn.0040d270
mov ebx, eax
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x40f2be
cmp byte [0x448bf0], al
jne 0x40f284
cmp byte [0x4494f0], al
jne 0x40f284
push 0x2682734
push 0x2682734
cmp byte [0x4372f0], al
je 0x4102ff
push str._s_not_found._You_will_need___notfiles_s_when_loading_this_build_nOR__you_need_to_provide_a___search_path_to_this_file_n_n
push 0x1cf1
push str.handleProgram
push 3
call fcn.004011c0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1470]
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
push 0x2682734
push 0x2682734
push str._s_not_found._You_will_need___notfiles_s_when_loading_this_build_n_n
push 0x1ce4
push str.handleProgram
push 3
call fcn.004011c0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1470]
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
mov eax, dword [0x2681ee4]
cmp eax, dword [0x446a28]
je 0x40f2ea
push eax
push str.SectorSizeInBytes_changed_to__d
push 0x1cfa
push str.handleProgram
push 4
mov dword [0x446a28], eax
call fcn.004011c0
add esp, 0x14
push 0x42eea8
mov edx, 0x800
mov ecx, ebx
call fcn.0040eb90
add esp, 4
mov esi, eax
mov dword [esp + 0x3c], esi
push str.Trying_get_filesize__calling_fseek__
push 0x20b3
push str.ReturnFileSize
push 5
call fcn.004011c0
push 2
push 0
push esi
call fcn.00415e23
add esp, 0x1c
push esi
call fcn.004158dc
add esp, 4
mov edi, eax
mov dword [esp + 0x4c], edi
push 0
push 0
push esi
call fcn.00415e23
add esp, 0xc
test edi, edi
je 0x41031f
add dword [0x4494e0], edi
adc dword [0x4494e4], 0
cmp byte [0x448bf0], 0
je 0x40f44a
push 0x800
push 0
push 0x50cbc20
call fcn.00418cc0
mov ecx, 0x50cac20
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f381
push 0x800
sub ecx, edx
mov edx, 0x50cac20
push 0x800
push ecx
push 0
push 0
mov ecx, 0x50cbc20
call fcn.00409950
add esp, 0x14
test eax, eax
jne 0x40f3c3
mov ecx, 0x50cac20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f3b7
jmp 0x410343
mov esi, 0x2682734
lea ecx, [esi + 1]
jmp 0x40f3d0
mov al, byte [esi]
inc esi
test al, al
jne 0x40f3d0
mov edi, 0x50cbc20
sub esi, ecx
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x40f3e1
push esi
push 0x800
push esi
sub edi, ecx
mov edx, 0x2682734
push 0
push edi
mov ecx, 0x50cbc20
call fcn.00409950
add esp, 0x14
test eax, eax
jne 0x40f41e
mov ecx, 0x2682734
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f412
jmp 0x41036e
mov ecx, ebx
call fcn.00412cf0
push 0x50cbc20
push ebx
cmp eax, 0xffffffff
je 0x410399
push str.Copied__s_n_t_t_tto__s_n_n
push 0x1d22
push str.handleProgram
push 4
jmp 0x40f29f
cmp byte [0x448c3a], 0
jne 0x40f195
cmp byte [0x448c08], 0
jne 0x40f195
cmp byte [0x4494f0], 0
jne 0x40f195
xor edx, edx
mov eax, edi
div dword [0x446a28]
mov dword [esp + 0x34], eax
mov esi, eax
test edx, edx
je 0x40f48a
inc esi
mov dword [esp + 0x34], esi
push edi
push str.File_size_is__ld_bytes
push 0x1d38
push str.handleProgram
push 5
call fcn.004011c0
add esp, 0x14
push esi
push str.NumSectors_needed__ld
push 0x1d39
push str.handleProgram
push 5
call fcn.004011c0
add esp, 0x14
test esi, esi
je 0x4103bc
mov eax, dword [0x2682730]
test eax, eax
jne 0x40f4d7
mov dword [0x2682730], esi
jmp 0x40f54b
cmp esi, eax
jbe 0x40f54b
imul eax, dword [0x446a28]
lea ecx, [esp + 0xc78]
sub esp, 8
push 0
push eax
call fcn.004119b0
add esp, 8
lea ecx, [esp + 0x480]
push 0
push edi
call fcn.004119b0
push dword [0x446a28]
lea eax, [esp + 0x48c]
push eax
push esi
lea eax, [esp + 0xc94]
push eax
push 0x2682734
push dword [0x2682730]
push str.User_requested_to_ONLY_program_num_partition_sectors__ld_of__s___s_._nTo_load_this_file_completely_would_require__ld_sectors___s__and_SectorSizeInBytes_ld._nThis_is_usually_a_MISTAKE_but_there_is_a_use_case_where_you_want_to_write_only_part_of_the_image__n
push 0x1d52
push str.handleProgram
push 3
call fcn.004011c0
mov esi, dword [0x2682730]
add esp, 0x38
mov dword [esp + 0x34], esi
push 0x100000
push 0
push 0x2d8f3c0
call fcn.00418cc0
add esp, 0xc
push str._program
push 0x2a95300
call fcn.00414490
mov edi, eax
add esp, 8
test edi, edi
je 0x4103df
push 0x100000
push 0x100000
sub edi, 0x2a95300
mov edx, 0x2a95300
push edi
push 0
push 0
mov ecx, 0x2d8f3c0
call fcn.00409950
add esp, 0x14
mov edx, str._firmwarewrite
cmp byte [0x448bf1], 0
push ecx
mov ecx, 0x2d8f3c0
jne 0x40f5bb
mov edx, 0x42e37c
call fcn.004098b0
add esp, 4
add edi, 9
push 0x433118
push 0x2a95300
call fcn.00414490
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x410402
sub eax, 0x2a95300
cmp eax, edi
jbe 0x40f624
mov ecx, 0x2d8f3c0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f5f3
push 0x100000
mov eax, ebx
sub ecx, edx
sub eax, edi
mov edx, 0x2a95300
push 0x100000
sub eax, 0x2a95300
push eax
push edi
push ecx
mov ecx, 0x2d8f3c0
call fcn.00409950
add esp, 0x14
mov ecx, 0x2d8f3c0
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f630
sub ecx, edx
push esi
push str.num_partition_sectors__ld_
lea eax, [ecx + 0x2d8f3c0]
push eax
call fcn.00413ba6
add esp, 0xc
push 0x430b58
push ebx
call fcn.00414490
add esp, 8
test eax, eax
je 0x410430
inc eax
push 0x430b58
push eax
call fcn.00414490
add esp, 8
test eax, eax
je 0x41045e
push ecx
lea edx, [eax + 1]
mov ecx, 0x2d8f3c0
call fcn.004098b0
add esp, 4
push 0x100000
push 0x2d8f3c0
push 0x2a95300
call fcn.0041bbe0
add esp, 0xc
cmp byte [0x4494f1], 0
je 0x40f6c7
cmp byte [0x449486], 0
lea eax, [esp + 0x78]
je 0x40f6c0
push str._Using_VIP_n_t_t_NOTE:_skipharddriveread1__will_use_accurate_filesize_but_all_0xFF_data_
jmp 0x40f6d9
push str._Using_VIP
jmp 0x40f6d9
cmp byte [0x449486], 0
je 0x40f6e2
push str._n_t_t_NOTE:_skipharddriveread1__will_use_accurate_filesize_but_all_0xFF_data_
lea eax, [esp + 0x7c]
push eax
call fcn.00413ba6
add esp, 8
push 0x4332c0
push 0x1dc1
push str.handleProgram
push 2
call fcn.004011c0
mov eax, dword [esp + 0x40]
movsx eax, al
mov edi, dword [esp + eax*4 + 0x78]
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x54]
push edi
push str.__s__FILE:__s_s
push 0x1dc2
push str.handleProgram
push 2
call fcn.004011c0
mov ebx, dword [esp + 0x78]
lea ecx, [esp + 0xa4]
add esp, 0x24
push 0
push ebx
call fcn.004119b0
add esp, 0x10
push dword [0x2681eec]
push 0x2681f30
call fcn.00414a59
add esp, 4
push eax
push esi
lea eax, [esp + 0x84]
push eax
push edi
push str.__s____s___ld_sectors_needed_at_location__i_on_LUN__ld
push 0x1dc6
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x24
push str._n
push 0x1dc7
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x10
call fcn.00409920
cmp byte [0x448c26], 0
je 0x40f7ff
mov eax, dword [0x4494b0]
mov edx, 0x100000
sub edx, eax
lea ecx, [eax + 0x2895240]
call fcn.00409870
push ecx
mov edx, str._data__n
mov ecx, 0x2895240
call fcn.004098b0
mov edx, str._response_value_ACK__rawmode_true_
mov ecx, 0x2895240
call fcn.004098b0
mov edx, str.___n__data_
mov ecx, 0x2895240
call fcn.004098b0
mov ecx, 0x2895240
add esp, 4
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f7f0
sub ecx, edx
mov dword [0x4494f8], ecx
call fcn.0040c2d0
cmp byte [0x448c38], 0
je 0x41048c
push 0x42cacc
call fcn.00414c52
add esp, 4
lea ecx, [esp + 0x50]
call fcn.00411210
cmp byte [0x448bf3], 0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
jne 0x40f849
cmp byte [0x4494bc], 0
je 0x40f85d
mov ecx, 0x2d8f320
mov dword [0x448c1c], 0
call fcn.00401870
sub dword [0x4494e0], ebx
mov byte [0x448c0b], 1
sbb dword [0x4494e4], 0
test esi, esi
je 0x40fa30
lea esp, [esp]
lea ecx, [esp + 0x68]
call fcn.00411210
cmp byte [0x449486], 0
jne 0x40f8af
push dword [esp + 0x3c]
push dword [0x2681ec0]
push 1
push 0x2a95300
call fcn.00414f9f
add esp, 0x10
mov esi, eax
jmp 0x40f8cc
mov esi, dword [0x2681ec0]
push 0x100000
push 0xff
push 0x2a95300
call fcn.00418cc0
add esp, 0xc
test esi, esi
je 0x4104b5
add dword [0x4494e0], esi
lea ecx, [esp + 0x44]
adc dword [0x4494e4], 0
call fcn.00411210
mov edi, dword [0x2681ee4]
xor edx, edx
mov eax, esi
mov dword [esp + 0x30], edi
div edi
mov ebx, eax
test edx, edx
je 0x40f92d
inc ebx
xor ecx, ecx
sub edi, edx
je 0x40f929
jmp 0x40f910
cmp esi, 0x100000
jae 0x4104b0
mov byte [esi + 0x2a95300], 0
inc ecx
inc esi
cmp ecx, edi
jb 0x40f910
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
lea edx, [esp + 0x44]
cmp ebx, esi
lea ecx, [esp + 0x68]
cmova ebx, esi
add dword [esp + 0x38], ebx
call fcn.00411240
addsd xmm0, qword [esp + 0x60]
imul edi, dword [esp + 0x38]
sub esp, 8
mov ecx, 0x2d8f3c0
push 0
push edi
movsd qword [esp + 0x70], xmm0
call fcn.004119b0
add esp, 0x10
lea edx, [esp + 0x44]
lea ecx, [esp + 0x50]
call fcn.00411240
comisd xmm0, xmmword [0x434880]
jb 0x40f9cc
mov eax, dword [0x2681ee4]
lea edx, [esp + 0x44]
imul eax, dword [esp + 0x38]
lea ecx, [esp + 0x58]
movsd xmm0, qword [esp + 0x60]
sub esp, 8
movsd qword [esp], xmm0
push 4
push eax
call fcn.00411280
add esp, 0x10
lea ecx, [esp + 0x50]
call fcn.00411210
cmp byte [0x44621f], 2
jne 0x40f9cc
push 0x42e498
call fcn.00414c52
add esp, 4
mov ecx, dword [0x2681ee4]
imul ecx, ebx
call fcn.00409900
test eax, eax
je 0x40fc39
sub esi, ebx
cmp byte [0x448bf3], 0
mov dword [esp + 0x34], esi
jne 0x40f9fa
cmp byte [0x4494bc], 0
je 0x40fa24
mov eax, dword [0x2681ee4]
imul eax, ebx
add dword [0x448c1c], eax
test eax, eax
je 0x40fa24
push eax
push 0x2a95300
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004023a0
add esp, 8
test esi, esi
jne 0x40f880
mov ebx, dword [esp + 0x4c]
lea ecx, [esp + 0x44]
mov byte [0x448c0b], 0
call fcn.00411210
mov eax, ebx
xor edx, edx
div dword [0x446a28]
mov ebx, eax
test edx, edx
je 0x40fa51
inc ebx
cmp ebx, dword [0x2682730]
lea edx, [esp + 0x44]
mov eax, dword [0x2681ee4]
lea ecx, [esp + 0x58]
cmova ebx, dword [0x2682730]
xorps xmm0, xmm0
sub esp, 8
imul eax, ebx
movsd qword [esp], xmm0
push 2
push eax
call fcn.00411280
add esp, 0x10
cmp byte [0x448bf3], 0
jne 0x40fa9a
cmp byte [0x4494bc], 0
je 0x40fb90
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004024b0
push 0x449490
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004025a0
add esp, 4
mov esi, 0x2d8f3c0
xor edi, edi
jmp 0x40fad0
movzx eax, byte [edi + 0x449490]
push eax
push 0x42f954
push esi
call fcn.00413ba6
add esi, 2
add esp, 0xc
inc edi
cmp esi, 0x2d8f400
jl 0x40fad0
add edi, edi
cmp edi, 0x100000
jae 0x4104b0
push 0x42cacc
mov byte [edi + 0x2d8f3c0], 0
call fcn.00414c52
mov esi, dword [esp + 0x44]
add esp, 4
push 0x2d8f3c0
push dword [0x448c1c]
push esi
push str.verify_programming__s_nSHA256___7d_bytes___s_n
push 0x1e4f
push str.handleProgram
push 4
call fcn.004011c0
movdqa xmm0, xmmword [0x449490]
add esp, 0x1c
cmp byte [0x4494bc], 0
movdqa xmmword [0x449450], xmm0
movdqa xmm0, xmmword [0x4494a0]
movdqa xmmword [0x449460], xmm0
je 0x40fb90
push 0x2d8f3c0
push dword [0x448c1c]
push 0x2681f30
push dword [0x2681eec]
push esi
push str._s_____LUN__ld_start_sector__s_SHA256___ld_bytes___s_n
push dword [0x448c14]
call fcn.0041504b
add esp, 0x1c
push dword [esp + 0x3c]
call fcn.00415fc1
add esp, 4
cmp byte [0x448c26], 0
je 0x40fc04
mov eax, dword [0x4494b0]
mov edx, 0x100000
sub edx, eax
lea ecx, [eax + 0x2895240]
call fcn.00409870
push ecx
mov edx, str._data__n
mov ecx, 0x2895240
call fcn.004098b0
mov edx, str._response_value_ACK__rawmode_false_
mov ecx, 0x2895240
call fcn.004098b0
mov edx, str.___n__data_
mov ecx, 0x2895240
call fcn.004098b0
mov ecx, 0x2895240
add esp, 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fbf5
sub ecx, edx
mov dword [0x4494f8], ecx
push dword [0x4494b4]
call fcn.0041491c
add esp, 4
call fcn.0040c2d0
cmp byte [0x448c38], 0
jne 0x40fc53
push str.Please_see_log
push 0x1e6a
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1470]
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
cmp byte [0x448c27], 0
je 0x40fc9e
mov edx, 0x2682734
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40fc64
sub edx, ecx
mov ecx, str.Zeros16KB.bin
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fc75
sub ecx, esi
cmp edx, ecx
cmova ecx, edx
push ecx
push str.Zeros16KB.bin
push 0x2682734
call fcn.00413dd0
add esp, 0xc
test eax, eax
je 0x4101ac
cmp byte [0x448bf3], 0
je 0x4101ac
mov edx, 0x100000
mov ecx, 0x2a95300
call fcn.00409870
push ecx
mov edx, str._data__n
mov ecx, 0x2a95300
call fcn.004098b0
mov edx, 0x42df34
mov ecx, 0x2a95300
call fcn.004098b0
add esp, 4
push 0x2682734
push str.filename__s_
push 0x2d8f3c0
call fcn.00413ba6
add esp, 8
mov edx, 0x2d8f3c0
mov ecx, 0x2a95300
call fcn.004098b0
add esp, 4
push dword [0x2681ee4]
push str.SECTOR_SIZE_IN_BYTES__ld_
push 0x2d8f3c0
call fcn.00413ba6
add esp, 8
mov edx, 0x2d8f3c0
mov ecx, 0x2a95300
call fcn.004098b0
add esp, 4
push ebx
push 0x42e388
push 0x2d8f3c0
call fcn.00413ba6
add esp, 8
mov edx, 0x2d8f3c0
mov ecx, 0x2a95300
call fcn.004098b0
add esp, 4
push dword [0x2681eec]
push str.physical_partition_number__ld_
push 0x2d8f3c0
call fcn.00413ba6
add esp, 8
mov edx, 0x2d8f3c0
mov ecx, 0x2a95300
call fcn.004098b0
add esp, 4
push 0x2681f30
push str.start_sector__s_
push 0x2d8f3c0
call fcn.00413ba6
add esp, 8
mov edx, 0x2d8f3c0
mov ecx, 0x2a95300
call fcn.004098b0
mov edx, str.___n__data_
mov ecx, 0x2a95300
call fcn.004098b0
mov ecx, 0x2a95300
add esp, 4
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fdc0
sub ecx, edx
push ecx
push 0x2a95300
push 0x4fcac20
call fcn.0041bbe0
mov edx, 0x4fcac20
add esp, 0xc
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40fde4
sub edx, ecx
mov ecx, 0x4fcac20
call fcn.0040ea40
cmp byte [0x448c26], 0
je 0x40fe25
movdqa xmm0, xmmword [0x449450]
movdqa xmmword [0x449490], xmm0
movdqa xmm0, xmmword [0x449460]
movdqa xmmword [0x4494a0], xmm0
jmp 0x40ff97
push 0x42eea8
mov edx, 0x800
mov ecx, 0x2682734
call fcn.0040eb90
add esp, 4
mov ebx, eax
mov ecx, ebx
call fcn.004111d0
mov esi, eax
test esi, esi
je 0x4104fa
mov ecx, 0x2d8f320
mov dword [0x448c1c], 0
call fcn.00401870
push 0x100000
push 0
push 0x2a95300
call fcn.00418cc0
add esp, 0xc
push str.Calculating_SHA256
push 0x1ebd
push str.handleProgram
push 4
call fcn.004011c0
add esp, 0x10
cmp esi, 0x100000
jbe 0x40feed
lea edi, [esi - 0x100001]
shr edi, 0x14
inc edi
push ebx
push 0x100000
push 1
push 0x2a95300
call fcn.00414f9f
add dword [0x448c1c], 0x100000
mov edx, 0x2d8f368
push 0x100000
push 0x2a95300
mov ecx, 0x2d8f320
call fcn.004023a0
push 0x42e498
sub esi, 0x100000
call fcn.00414c52
add esp, 0x1c
dec edi
jne 0x40fea2
push ebx
push esi
push 1
push 0x2a95300
call fcn.00414f9f
add dword [0x448c1c], esi
add esp, 0x10
test esi, esi
je 0x40ff20
push esi
push 0x2a95300
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004023a0
add esp, 8
push ebx
call fcn.00415fc1
add esp, 4
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004024b0
push 0x449490
mov edx, 0x2d8f368
mov ecx, 0x2d8f320
call fcn.004025a0
add esp, 4
mov esi, 0x2d8f3c0
xor edi, edi
jmp 0x40ff60
movzx eax, byte [edi + 0x449490]
push eax
push 0x42f954
push esi
call fcn.00413ba6
add esi, 2
add esp, 0xc
inc edi
cmp esi, 0x2d8f400
jl 0x40ff60
add edi, edi
cmp edi, 0x100000
jae 0x4104b0
mov byte [edi + 0x2d8f3c0], 0
push 0x42cacc
call fcn.00414c52
add esp, 4
push 0x2d8f3c0
push dword [0x448c1c]
push 0x2682734
push str.verify_programming_FROM_TARGET__s_nSHA256___7d_bytes___s_n
push 0x1ed7
push str.handleProgram
push 4
call fcn.004011c0
add esp, 0x1c
xor ecx, ecx
nop
mov al, byte [ecx + 0x449450]
cmp al, byte [ecx + 0x449490]
jne 0x41001d
mov al, byte [ecx + 0x449451]
cmp al, byte [ecx + 0x449491]
jne 0x41001c
mov al, byte [ecx + 0x449452]
cmp al, byte [ecx + 0x449492]
jne 0x410017
mov al, byte [ecx + 0x449453]
cmp al, byte [ecx + 0x449493]
jne 0x410012
add ecx, 4
cmp ecx, 0x20
jb 0x40ffd0
jmp 0x41001d
add ecx, 3
jmp 0x41001d
add ecx, 2
jmp 0x41001d
inc ecx
push 0x433514
cmp ecx, 0x20
jne 0x410556
push 0x1ee6
push str.handleProgram
push 2
call fcn.004011c0
push 0x43353c
push 0x1ee7
push str.handleProgram
push 2
call fcn.004011c0
push str.______________________________
push 0x1ee8
push str.handleProgram
push 2
call fcn.004011c0
push 0x43358c
push 0x1ee9
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push 0x4335b4
push 0x1eea
push str.handleProgram
push 2
call fcn.004011c0
push str.______________________
push 0x1eeb
push str.handleProgram
push 2
call fcn.004011c0
push str.____________________________________
push 0x1eec
push str.handleProgram
push 2
call fcn.004011c0
push str.___________________________________
push 0x1eed
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push 0x433654
push 0x1eee
push str.handleProgram
push 2
call fcn.004011c0
push 0x43367c
push 0x1eef
push str.handleProgram
push 2
call fcn.004011c0
push str.__________________________
push 0x1ef0
push str.handleProgram
push 2
call fcn.004011c0
push str.____________________
push 0x1ef1
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push str.__V__V__________________
push 0x1ef2
push str.handleProgram
push 2
call fcn.004011c0
push str._____________________________n
push 0x1ef3
push str.handleProgram
push 2
call fcn.004011c0
push str.FLASHING_WORKS._This_tool_is_able_to_successfully_flash_data_onto_this_device_n_n
push 0x1ef4
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x30
cmp dword [0x449444], 0
jne 0x410522
push str.tempfile.bin
push 0x2682734
push str.Just_renamed_the_read_back_file__s_to__s
push 0x1f12
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x18
cmp byte [0x448c38], 0
jne 0x4101e8
push str.Please_see_log
push 0x1f2f
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1470]
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
push 0x433954
push 0x1f33
push str.handleProgram
push 4
call fcn.004011c0
push 0x4332c0
push 0x1f34
push str.handleProgram
push 4
call fcn.004011c0
push 0x433958
push 0x1f35
push str.handleProgram
push 4
call fcn.004011c0
push str._n_n
push 0x1f36
push str.handleProgram
push 4
call fcn.004011c0
add esp, 0x40
cmp byte [0x448c08], 0
jne 0x4102da
mov esi, dword [0x449488]
mov eax, esi
mov edi, dword [0x44948c]
or eax, edi
je 0x4102da
test edi, edi
jne 0x410278
test esi, esi
jne 0x410278
movss xmm0, dword [0x449448]
jmp 0x4102b6
mov edx, dword [0x4494e4]
mov ecx, dword [0x4494e0]
call fcn.00426b4e
mulsd xmm0, qword [0x434888]
mov edx, edi
mov ecx, esi
movsd qword [esp + 0x68], xmm0
call fcn.00426b4e
movsd xmm1, qword [esp + 0x68]
divsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x449448], xmm0
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.percent_files_transferred__6.2f__
push 0x1f3d
push str.handleProgram
push 4
call fcn.004011c0
add esp, 0x18
push dword [0x4494b4]
call fcn.0041491c
mov ecx, dword [esp + 0x1480]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00413b97
mov esp, ebp
pop ebp
ret
push str._s_not_found._You_could_possibly_try___notfiles_s_OtherFileToSkip.bin__note__exiting_since_you_specified___noprompt_
push 0x1ceb
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x18
mov ecx, edi
call fcn.004016b0
push ebx
push str.Filesize_is_0_bytes._This_is_usually_a_mistake___Please_check__s
push 0x1d03
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
sub ecx, edx
push ecx
push 0x50cac20
push str.Failed_to_copy_string__s_of_length__ld_bytes_into_flattenbuildto
push 0x1d12
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x18
mov ecx, 1
call fcn.004016b0
sub ecx, edx
push ecx
push 0x2682734
push str.Failed_to_copy_string__s_of_length__ld_bytes_into_flattenbuildto
push 0x1d18
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x18
mov ecx, 1
call fcn.004016b0
push str.Failed_to_copy__s_n_t_t_tto__s_n_n
push 0x1d1e
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x18
mov ecx, 1
call fcn.004016b0
push str.FileSizeNumSectors_is_0._Nothing_to_program__
push 0x1d3d
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x10
mov ecx, 1
call fcn.004016b0
push str.missing_TAG__program_____Should_be_impossible_n
push 0x1d64
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x10
mov ecx, 1
call fcn.004016b0
mov eax, dword [esp + 0x30]
movsx eax, al
push dword [esp + eax*4 + 0x68]
push str.__s__tag_is_missing_attribute_num_partition_sectors_n
push 0x1d77
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
mov eax, dword [esp + 0x30]
movsx eax, al
push dword [esp + eax*4 + 0x68]
push str.__s__tag_is_missing_first___after_num_partition_sectors_n
push 0x1d8a
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
mov eax, dword [esp + 0x30]
movsx eax, al
push dword [esp + eax*4 + 0x68]
push str.__s__tag_is_missing_second___after_num_partition_sectors_n
push 0x1d94
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
push edi
push str._s_FAILED___Please_see_log
push 0x1dd9
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
call fcn.00415295
mov esi, dword [esp + 0x40]
push esi
push str.Read_0_bytes_from__s
push 0x1dfe
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
push dword [esp + 0x34]
push str.There_are_still__ld_sectors_to_go
push 0x1dff
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
push 0x2682734
push str.Filesize_is_0_bytes_for__s._Previous__read__failed__
push 0x1eb2
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x14
mov ecx, 1
call fcn.004016b0
call fcn.00414aaa
push dword [eax]
push str.tempfile.bin
push 0x2682734
push str.unable_to_rename_the_file__s_to__s_errno_d
push 0x1f16
push str.handleProgram
push 1
call fcn.004011c0
add esp, 0x1c
mov ecx, 1
call fcn.004016b0
push 0x1ef8
push str.handleProgram
push 2
call fcn.004011c0
push 0x43353c
push 0x1ef9
push str.handleProgram
push 2
call fcn.004011c0
push str.______________________________
push 0x1efa
push str.handleProgram
push 2
call fcn.004011c0
push 0x43358c
push 0x1efb
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push 0x4335b4
push 0x1efc
push str.handleProgram
push 2
call fcn.004011c0
push str.______________________
push 0x1efd
push str.handleProgram
push 2
call fcn.004011c0
push str.____________________________________
push 0x1efe
push str.handleProgram
push 2
call fcn.004011c0
push str.___________________________________
push 0x1eff
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push str.________________________
push 0x1f00
push str.handleProgram
push 2
call fcn.004011c0
push str._____________________
push 0x1f01
push str.handleProgram
push 2
call fcn.004011c0
push 0x4337e4
push 0x1f02
push str.handleProgram
push 2
call fcn.004011c0
push str.___________________
push 0x1f03
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x40
push str.________________
push 0x1f04
push str.handleProgram
push 2
call fcn.004011c0
push str.___________________________________________________n
push 0x1f05
push str.handleProgram
push 2
call fcn.004011c0
push str.FLASHING_FAILED._This_tool_was_NOT_able_to_flash_data_onto_this_device_n_n
push 0x1f06
push str.handleProgram
push 2
call fcn.004011c0
add esp, 0x30
mov ecx, 1
call fcn.004016b0
int3