Function at 0x412f83
Capabilities:
Check for time delay via gettickcount
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x14f4
call fcn.0041cd30
mov eax, dword [0x4383f4]
xor eax, esp
mov dword [esp + 0x14f0], eax
push ebx
push esi
push edi
xor ebx, ebx
push 0x3ff
lea eax, [esp + 0xfd]
push ebx
push eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov byte [esp + 0x104], bl
call fcn.0041e920
fldz
add esp, 0xc
fstp qword [esp + 0x78]
mov dword [esp + 0x58], 0x434654
mov dword [esp + 0x5c], 0x42cca8
mov dword [esp + 0x60], 0x434c30
mov byte [esp + 0x12], bl
mov byte [esp + 0x13], bl
cmp byte [0x23b5c0e], bl
je 0x41279b
mov byte [esp + 0x12], 1
mov eax, 0x3b1d408
xor esi, esi
xor edi, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4127a7
sub eax, edx
je 0x4127f5
mov al, byte [esi + 0x3b1d408]
cmp al, 0xa
je 0x4127c8
cmp al, 0xd
je 0x4127c8
cmp al, 9
je 0x4127c8
cmp al, 0x20
jne 0x4127ce
mov byte [esi + 0x3b1d408], bl
add esi, 1
mov eax, 0x3b1d408
adc edi, ebx
lea edx, [eax + 1]
jmp 0x4127e0
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4127e0
xor ecx, ecx
sub eax, edx
cmp edi, ecx
jl 0x4127b2
jg 0x4127f5
cmp esi, eax
jb 0x4127b2
mov eax, 0x3b1d408
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412800
sub eax, edx
je 0x41446d
cmp dword [0x23b644c], ebx
jl 0x412862
jg 0x412821
cmp dword [0x23b6448], ebx
jbe 0x412862
mov ebx, 0x3b1d408
call fcn.00410de0
test eax, eax
jne 0x412860
push ebx
push str._s_is_being_SKIPPED_since_it_was_not_in___files_provided_by_the_user_at_the_command_line
push 0x23fc
push str.handleProgram
push 5
call fcn.004016a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp dword [0x23b6454], ebx
jl 0x4128b3
jg 0x412874
cmp dword [0x23b6450], ebx
jbe 0x4128b3
mov edi, 0x3b1d408
call fcn.00410ec0
test eax, eax
je 0x4128b3
push edi
push str.handleProgram____s_is_being_SKIPPED_since_it_was_in___notfiles_provided_by_the_user_at_the_command_line
push 0x2405
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x3b1d338]
push ecx
push 0x3b1dc08
mov ebx, 0x5ca4680
call fcn.00410f60
add esp, 8
test eax, eax
jne 0x412905
push 0x3b1dc08
push str._s_is_being_SKIPPED_since_it_was_not_in___labels_provided_by_the_user_at_the_command_line
push 0x240d
push str.handleProgram
push 5
call fcn.004016a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
mov edx, dword [0x3b1d338]
push edx
push 0x3b1dc08
mov ebx, 0x3c1fc60
call fcn.00410f60
add esp, 8
cmp eax, 1
jne 0x412958
push 0x3b1dc08
push str.handleProgram____s_is_being_SKIPPED_since_it_was_in___notlabels_provided_by_the_user_at_the_command_line
push 0x2414
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
xor ebx, ebx
cmp byte [0x23b6542], bl
jne 0x412990
cmp byte [0x23b6541], bl
jne 0x412990
cmp byte [0x23b5c11], bl
jne 0x412990
push 0x3b1d408
push str.In_handleProgram__s_
push 0x241d
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x14
push str.sparse_true_
push 0x27dc8a0
call fcn.0041a680
add esp, 8
test eax, eax
je 0x4129c9
push 0x3b1d408
push str._s_is_a_sparse_image
push 0x2424
push str.handleProgram
push 4
mov byte [esp + 0x27], 1
call fcn.004016a0
add esp, 0x14
push 1
mov ecx, 0x3b1d408
call fcn.00410560
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
cmp esi, ebx
jne 0x412a92
cmp byte [0x23b6540], bl
jne 0x412a58
cmp byte [0x23b5c11], bl
jne 0x412a58
push 0x3b1d408
push 0x3b1d408
cmp byte [0x4393d0], bl
jne 0x412a28
push str._s_not_found._You_could_possibly_try___notfiles_s_OtherFileToSkip.bin__note__exiting_since_you_specified___noprompt_
push 0x2436
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x18
push 1
call fcn.00401c50
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 0x243c
push str.handleProgram
push 3
call fcn.004016a0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
push 0x3b1d408
push 0x3b1d408
push str._s_not_found._You_will_need___notfiles_s_when_loading_this_build_n_n
push 0x242f
push str.handleProgram
push 3
call fcn.004016a0
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
mov eax, dword [0x3b1d328]
mov ecx, dword [0x3b1d32c]
cmp eax, dword [0x4393c8]
jne 0x412aad
cmp ecx, dword [0x4393cc]
je 0x412ad3
push ecx
push eax
push str.SectorSizeInBytes_changed_to__d
push 0x2445
push str.handleProgram
push 4
mov dword [0x4393c8], eax
mov dword [0x4393cc], ecx
call fcn.004016a0
add esp, 0x18
push 0x800
mov edx, 0x42ddb4
mov ecx, esi
call fcn.00412100
add esp, 4
mov dword [esp + 0x14], eax
cmp byte [esp + 0x13], bl
je 0x412b89
push str.UNSPARSE_FILE_SIZE_
push 0x27dc8a0
call fcn.0041a680
push 0x42deec
push eax
call fcn.0041a680
mov dl, byte [eax + 1]
add esp, 0x10
xor ecx, ecx
xor edi, edi
cmp dl, 0x22
je 0x412b35
mov edi, edi
mov byte [esp + ecx + 0xe4], dl
mov dl, byte [ecx + eax + 2]
add ecx, 1
adc edi, ebx
cmp dl, 0x22
jne 0x412b20
lea eax, [esp + 0x3f]
mov byte [esp + ecx + 0xe4], bl
push eax
lea ecx, [esp + 0xe8]
push ecx
call fcn.0040c520
add esp, 8
mov edi, eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edx
cmp byte [esp + 0x3f], bl
jne 0x412ba0
lea edx, [esp + 0xe4]
push edx
push str.Call_to_stringToNumber_failed_for_FileSize_with_value__s
push 0x245e
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x14
push 1
call fcn.00401c50
mov esi, dword [esp + 0x14]
call fcn.004150f0
mov esi, dword [esp + 0x38]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov edi, eax
mov eax, edi
or eax, edx
jne 0x412bc7
push esi
push str.Filesize_is_0_bytes._This_is_usually_a_mistake___Please_check__s
push 0x2469
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
push 1
call fcn.00401c50
add dword [0x23b6420], edi
adc dword [0x23b6424], edx
cmp byte [0x23b6541], bl
je 0x412bea
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0041bc41
jmp 0x41446a
cmp byte [0x23b6540], bl
je 0x412dee
push 0x800
push ebx
push 0x2459780
call fcn.0041e920
mov eax, 0x245a780
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412c11
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x245a780
push 0x2459780
call fcn.0040c2f0
add esp, 0x30
or eax, edx
jne 0x412c6e
mov eax, 0x245a780
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412c50
sub eax, edx
push eax
push 0x245a780
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x247e
jmp 0x412a12
mov eax, 0x3b1d408
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412c76
sub eax, edx
mov edx, eax
mov eax, 0x2459780
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412c90
xor ecx, ecx
push ecx
push edx
push ebx
push 0x800
push ecx
push edx
push ebx
push ebx
push ebx
sub eax, edi
push eax
push 0x3b1d408
push 0x2459780
call fcn.0040c2f0
add esp, 0x30
or eax, edx
jne 0x412ce5
mov eax, 0x3b1d408
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x412cc7
sub eax, edx
push eax
push 0x3b1d408
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildto
push 0x2484
jmp 0x412a12
mov ecx, esi
call fcn.00417380
cmp eax, 0xffffffff
jne 0x412d06
push 0x2459780
push esi
push str.Failed_to_copy__s_n_t_t_tto__s_n_n
push 0x248a
jmp 0x412a12
cmp eax, ebx
jne 0x412d29
push 0x2459780
push esi
push str.Copied__s_n_t_t_tto__s_n_n
push 0x248e
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x18
cmp byte [0x23b5c0c], bl
je 0x412ddf
mov edx, dword [0x23b641c]
mov edi, dword [0x23b6418]
cmp edx, ebx
ja 0x412d4d
cmp edi, ebx
jbe 0x412ddf
mov ecx, dword [0x23b6420]
mov eax, dword [0x23b6424]
mov dword [esp + 0x30], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x34], eax
fild qword [esp + 0x30]
and ecx, 0x80000000
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], ebx
fild qword [esp + 0x30]
mov eax, edx
mov ecx, edx
fchs
and eax, 0x7fffffff
faddp st(1)
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
and ecx, 0x80000000
fmul qword [0x436740]
sub esp, 8
fild qword [esp + 0x38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ebx
fild qword [esp + 0x38]
fchs
faddp st(1)
fdivp st(1)
fstp dword [0x23b5c14]
fld dword [0x23b5c14]
fstp qword [esp]
push str.percent_files_transferred__6.2f__
push 0x2493
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x18
mov edx, dword [esp + 0x14]
push edx
call fcn.0041bc41
jmp 0x41446a
cmp byte [0x23b6542], bl
je 0x412e05
mov eax, dword [esp + 0x14]
push eax
call fcn.0041bc41
jmp 0x41446a
cmp byte [0x23b5c11], bl
jne 0x412bdb
mov edx, dword [0x4393cc]
mov eax, dword [0x4393c8]
mov ecx, dword [esp + 0x24]
push edx
push eax
push ecx
push edi
call fcn.00429370
mov dword [esp + 0x2c], ebx
or ecx, dword [esp + 0x2c]
mov esi, eax
mov ebx, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebx
je 0x412e4d
add esi, 1
adc ebx, 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x24]
push edx
push edi
push str.File_size_is__lld_bytes
push 0x24ac
push str.handleProgram
push 5
call fcn.004016a0
push ebx
push esi
push str.NumSectors_needed__lld
push 0x24ad
push str.handleProgram
push 5
call fcn.004016a0
mov eax, esi
add esp, 0x30
or eax, ebx
jne 0x412ea8
push str.FileSizeNumSectors_is_0._Nothing_to_program__
push 0x24b1
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x10
jmp 0x412a21
mov eax, dword [0x3b1d400]
mov ecx, dword [0x3b1d404]
mov edx, eax
or edx, ecx
jne 0x412eca
mov dword [0x3b1d400], esi
mov dword [0x3b1d404], ebx
jmp 0x412f7e
cmp ebx, ecx
jl 0x412f7e
jg 0x412edc
cmp esi, eax
jbe 0x412f7e
mov edx, dword [0x4393cc]
push 0
push 0x800
push edx
mov edx, dword [0x4393c8]
push edx
push ecx
push eax
call fcn.00425ae0
push edx
push eax
lea edx, [esp + 0xd08]
call fcn.00415a20
mov eax, dword [esp + 0x34]
push 0
push 0x800
push eax
push edi
lea edx, [esp + 0x518]
call fcn.00415a20
mov ecx, dword [0x4393cc]
mov edx, dword [0x4393c8]
push ecx
push edx
mov edx, dword [0x3b1d404]
lea eax, [esp + 0x520]
push eax
mov eax, dword [0x3b1d400]
push ebx
push esi
lea ecx, [esp + 0xd2c]
push ecx
push 0x3b1d408
push edx
push eax
push str.User_requested_to_ONLY_program_num_partition_sectors__lld_of__s___s_._nTo_load_this_file_completely_would_require__lld_sectors___s__and_SectorSizeInBytes_lld._nThis_is_usually_a_MISTAKE_but_there_is_a_use_case_where_you_want_to_write_only_part_of_the_image__n
push 0x24c6
push str.handleProgram
push 3
call fcn.004016a0
mov ecx, dword [0x3b1d400]
mov edx, dword [0x3b1d404]
add esp, 0x54
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
push 0x100000
push 0
push 0x259c7e0
call fcn.0041e920
add esp, 0xc
push str._program
push 0x27dc8a0
call fcn.0041a680
add esp, 8
test eax, eax
jne 0x412fc6
push str.missing_TAG__program_____Should_be_impossible_n
push 0x24d8
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x10
jmp 0x412a21
push 0
push 0x100000
push 0
push 0x100000
sub eax, 0x27dc8a0
cdq
mov esi, edx
push esi
mov edi, eax
push edi
push 0
push 0
push 0
push 0
push 0x27dc8a0
push 0x259c7e0
call fcn.0040c2f0
add esp, 0x30
cmp byte [0x23b5c0e], 0
push 0x259c7e0
mov eax, str._firmwarewrite
jne 0x413012
mov eax, 0x42e334
call fcn.0040c220
add esp, 4
push 0x432ad0
add edi, 9
push 0x27dc8a0
adc esi, 0
call fcn.0041a680
mov ebx, eax
add esp, 8
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x413064
movsx eax, byte [esp + 0x12]
mov ecx, dword [esp + eax*4 + 0x58]
push ecx
push str.__s__tag_is_missing_attribute_num_partition_sectors_n
push 0x24eb
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
jmp 0x412a21
mov eax, ebx
sub eax, 0x27dc8a0
cdq
cmp edx, esi
jl 0x4130bc
jg 0x413076
cmp eax, edi
jbe 0x4130bc
mov ecx, 0x259c7e0
lea ebx, [ecx + 1]
mov dword [esp + 0x50], ebx
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x413082
sub ecx, dword [esp + 0x50]
push 0
push 0x100000
push 0
push 0x100000
sub eax, edi
sbb edx, esi
push edx
push eax
push esi
push edi
push 0
push ecx
push 0x27dc8a0
push 0x259c7e0
call fcn.0040c2f0
mov ebx, dword [esp + 0x70]
add esp, 0x30
mov eax, 0x259c7e0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4130c4
mov edi, dword [esp + 0x18]
sub eax, edx
mov edx, dword [esp + 0x1c]
push edx
push edi
mov ecx, 0x100000
push str.num_partition_sectors__lld_
sub ecx, eax
push ecx
lea edx, [eax + 0x259c7e0]
push edx
mov dword [esp + 0x88], 0
call fcn.0041acb0
add esp, 0x14
push 0x42deec
push ebx
call fcn.0041a680
add esp, 8
test eax, eax
jne 0x413138
movsx eax, byte [esp + 0x12]
mov ecx, dword [esp + eax*4 + 0x58]
push ecx
push str.__s__tag_is_missing_first___after_num_partition_sectors_n
push 0x24fe
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
jmp 0x412a21
inc eax
push 0x42deec
push eax
call fcn.0041a680
add esp, 8
test eax, eax
jne 0x413173
movsx edx, byte [esp + 0x12]
mov eax, dword [esp + edx*4 + 0x58]
push eax
push str.__s__tag_is_missing_second___after_num_partition_sectors_n
push 0x2508
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
jmp 0x412a21
inc eax
push 0x259c7e0
call fcn.0040c220
add esp, 4
push 0x100000
push 0x259c7e0
push 0x27dc8a0
call fcn.00422b50
add esp, 0xc
cmp byte [0x23b5c09], 0
je 0x4131be
cmp byte [0x23b653b], 0
je 0x4131db
push str._Using_VIP_n_t_t_NOTE:_skipharddriveread1__will_use_accurate_filesize_but_all_0xFF_data_
push 0x400
lea ecx, [esp + 0x100]
push ecx
jmp 0x4131ed
cmp byte [0x23b653b], 0
je 0x4131f5
push str._n_t_t_NOTE:_skipharddriveread1__will_use_accurate_filesize_but_all_0xFF_data_
push 0x400
lea edx, [esp + 0x100]
push edx
jmp 0x4131ed
push str._Using_VIP
push 0x400
lea eax, [esp + 0x100]
push eax
call fcn.0041acb0
add esp, 0xc
push 0x4353a0
push 0x2519
push str.handleProgram
push 1
call fcn.004016a0
movsx ecx, byte [esp + 0x22]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + ecx*4 + 0x68]
lea edx, [esp + 0x108]
push edx
push eax
push esi
push str.__s__FILE:__s_s
push 0x251a
push str.handleProgram
push 1
call fcn.004016a0
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
add esp, 0x2c
push 0
push 0x400
push ecx
push edx
lea edx, [esp + 0x108]
call fcn.00415a20
mov eax, dword [0x3b1d33c]
mov ecx, dword [0x3b1d338]
add esp, 0x10
push eax
push ecx
push 0x3b1d3c0
call fcn.0041aca5
mov edx, dword [esp + 0x28]
add esp, 4
push eax
push edx
push edi
lea eax, [esp + 0x10c]
push eax
push esi
push str.__s____s___lld_sectors_needed_at_location__i_on_LUN__lld
push 0x251e
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x2c
push str._n
push 0x251f
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x10
call fcn.0040c2b0
cmp byte [0x23b6538], 0
je 0x41332e
mov eax, dword [0x23b6528]
mov ecx, 0x100000
sub ecx, eax
push 0
push ecx
lea eax, [eax + 0x29dc960]
call fcn.0040c1f0
push 0x29dc960
mov eax, str._data__n
call fcn.0040c220
add esp, 0xc
push 0x29dc960
mov eax, str._response_value_ACK__rawmode_true_
call fcn.0040c220
add esp, 4
push 0x29dc960
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x29dc960
add esp, 4
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413320
sub eax, edx
mov dword [0x23b6524], eax
call fcn.0040f420
cmp byte [0x23b5c13], 0
jne 0x41335b
push esi
push str._s_FAILED___Please_see_log
push 0x2531
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
jmp 0x412a21
push 0x42d93c
call fcn.0041af1f
add esp, 4
lea esi, [esp + 0x68]
call fcn.00415140
cmp byte [0x23b64a0], 0
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
jne 0x413393
cmp byte [0x23b5c0d], 0
je 0x4133a9
xor eax, eax
mov ebx, 0x269c7e0
mov dword [0x23b6508], eax
mov dword [0x23b650c], eax
call fcn.00418a30
mov ecx, dword [esp + 0x20]
sub dword [0x23b6420], ecx
mov edx, dword [esp + 0x24]
mov byte [0x23b642a], 1
sbb dword [0x23b6424], edx
cmp byte [esp + 0x13], 0
je 0x41340e
mov ebx, dword [esp + 0x14]
mov ecx, edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xd0]
push eax
mov eax, dword [0x3b1d34c]
push ecx
mov ecx, dword [0x3b1d348]
push edx
push eax
push ecx
lea edx, [esp + 0xc4]
push edx
call fcn.00402980
mov ecx, 7
mov esi, eax
lea edi, [esp + 0xac]
add esp, 0x18
rep movsd dword es:[edi], dword [esi]
jmp 0x41343e
mov eax, dword [0x3b1d32c]
mov ecx, dword [0x3b1d328]
mov edx, dword [0x3b1d34c]
push 0
push eax
mov eax, dword [0x3b1d348]
push ecx
push edx
push eax
call fcn.00425ae0
mov ecx, dword [esp + 0x18]
push edx
push eax
push ecx
call fcn.0041aa2a
add esp, 0x10
cmp dword [esp + 0x1c], 0
jl 0x41372f
jg 0x413456
cmp dword [esp + 0x18], 0
jbe 0x41372f
lea esi, [esp + 0x70]
call fcn.00415140
cmp byte [0x23b653b], 0
jne 0x4134c2
cmp byte [esp + 0x13], 0
je 0x4134a1
mov edx, dword [esp + 0x14]
mov eax, dword [0x3b1d2e0]
sub esp, 0x1c
mov edi, esp
mov ecx, 7
lea esi, [esp + 0xb0]
push edx
lea ebx, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
call fcn.004027b0
add esp, 0x20
mov edi, eax
xor ebx, ebx
jmp 0x4134e5
mov eax, dword [esp + 0x14]
mov ecx, dword [0x3b1d2e0]
push eax
push ecx
push 1
push 0x27dc8a0
call fcn.0041b2f9
add esp, 0x10
mov edi, eax
xor ebx, ebx
jmp 0x4134e5
mov edi, dword [0x3b1d2e0]
mov ebx, dword [0x3b1d2e4]
push 0x100000
push 0xff
push 0x27dc8a0
call fcn.0041e920
add esp, 0xc
mov edx, edi
or edx, ebx
je 0x413991
add dword [0x23b6420], edi
lea esi, [esp + 0x50]
adc dword [0x23b6424], ebx
call fcn.00415140
mov eax, dword [0x3b1d32c]
mov ecx, dword [0x3b1d328]
push eax
push ecx
push ebx
push edi
call fcn.00429370
mov dword [esp + 0x44], edx
mov edx, ecx
or edx, ebx
mov esi, eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x40], esi
je 0x41357b
mov ebx, dword [0x3b1d328]
mov eax, dword [0x3b1d32c]
add esi, 1
mov edx, 0
adc dword [esp + 0x44], edx
sub ebx, ecx
sbb eax, dword [esp + 0x8c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x5c], edx
js 0x41357b
jg 0x41355f
test ebx, ebx
je 0x41357b
mov ecx, dword [esp + 0x5c]
mov byte [edi + edx + 0x27dc8a0], 0
add edx, 1
adc ecx, 0
cmp ecx, eax
jl 0x413563
jg 0x41357b
cmp edx, ebx
jb 0x413563
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x44], eax
jl 0x41359b
jg 0x41358d
cmp esi, dword [esp + 0x18]
jbe 0x41359b
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
mov esi, ecx
add dword [esp + 0x48], esi
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x70]
adc dword [esp + 0x4c], edx
lea edi, [esp + 0x50]
lea ebx, [esp + 0x80]
call fcn.00415490
fild dword [esp + 0x84]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
fdiv qword [0x436738]
mov edx, dword [0x3b1d32c]
push 0
push 0x100000
push eax
mov eax, dword [0x3b1d328]
push ecx
push edx
push eax
fiadd dword [esp + 0x98]
fadd qword [esp + 0x90]
fstp qword [esp + 0x90]
call fcn.00425ae0
push edx
push eax
mov edx, 0x259c7e0
call fcn.00415a20
add esp, 0x10
lea ecx, [esp + 0x68]
lea ebx, [esp + 0x28]
call fcn.00415490
fild dword [esp + 0x2c]
fdiv qword [0x436738]
fiadd dword [esp + 0x28]
fcomp qword [0x436758]
fnstsw ax
test ah, 1
jne 0x413692
fld qword [esp + 0x78]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [0x3b1d32c]
sub esp, 8
fstp qword [esp]
push 4
push ecx
mov ecx, dword [0x3b1d328]
push edx
push eax
push ecx
call fcn.00425ae0
push edx
push eax
mov edx, edi
lea ecx, [esp + 0x44]
call fcn.00415170
add esp, 0x14
lea esi, [esp + 0x68]
call fcn.00415140
cmp byte [0x4393d2], 1
jne 0x41368e
push 0x4303b0
call fcn.0041af1f
add esp, 4
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov edx, dword [0x3b1d32c]
mov eax, dword [0x3b1d328]
push edi
push esi
push edx
push eax
call fcn.00425ae0
push edx
push eax
call fcn.0040c280
add esp, 8
test eax, eax
je 0x4139c8
sub dword [esp + 0x18], esi
sbb dword [esp + 0x1c], edi
cmp byte [0x23b64a0], 0
jne 0x4136d6
cmp byte [0x23b5c0d], 0
je 0x413717
mov ecx, dword [0x3b1d32c]
push edi
mov edi, dword [0x3b1d328]
push esi
push ecx
push edi
call fcn.00425ae0
add dword [0x23b6508], eax
adc dword [0x23b650c], edx
imul esi, edi
test esi, esi
je 0x413717
push 0x269c828
push 0x269c7e0
mov eax, esi
mov ecx, 0x27dc8a0
call fcn.00418a70
add esp, 8
cmp dword [esp + 0x1c], 0
jg 0x413456
jl 0x41372f
cmp dword [esp + 0x18], 0
ja 0x413456
lea esi, [esp + 0x50]
mov byte [0x23b642a], 0
call fcn.00415140
mov edx, dword [0x4393cc]
mov eax, dword [0x4393c8]
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x24]
push eax
push ecx
push edx
call fcn.00429370
or ecx, ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
je 0x413775
add eax, 1
adc edx, 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov esi, dword [0x3b1d404]
cmp edx, esi
jl 0x413797
mov ecx, dword [0x3b1d400]
jg 0x41378b
cmp eax, ecx
jbe 0x413797
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov edx, esi
mov eax, ecx
fld qword [0x436750]
mov ecx, dword [0x3b1d328]
sub esp, 8
fstp qword [esp]
push 1
push edx
push eax
mov eax, dword [0x3b1d32c]
push eax
push ecx
call fcn.00425ae0
push edx
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x44]
call fcn.00415170
add esp, 0x14
cmp byte [0x23b64a0], 0
jne 0x4137e1
cmp byte [0x23b5c0d], 0
je 0x4138da
mov esi, 0x269c828
mov ebx, 0x269c7e0
call fcn.00418b70
push esi
mov eax, 0x23b64e4
mov ecx, ebx
call fcn.00418c50
add esp, 4
xor edi, edi
xor esi, esi
jmp 0x413810
movzx edx, byte [edi + 0x23b64e4]
push edx
mov eax, 0x100000
push 0x43182c
sub eax, esi
push eax
lea ecx, [esi + 0x259c7e0]
push ecx
call fcn.0041acb0
add esi, 2
add esp, 0x10
inc edi
cmp esi, 0x40
jl 0x413810
push 0x42d93c
mov byte [edi*2 + 0x259c7e0], 0
call fcn.0041af1f
mov edx, dword [0x23b650c]
mov eax, dword [0x23b6508]
mov ecx, dword [esp + 0x3c]
add esp, 4
push 0x259c7e0
push edx
push eax
push ecx
push str.verify_programming__s_nSHA256___7lld_bytes___s_n
push 0x25b6
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x20
cmp byte [0x23b5c0d], 0
mov ecx, 8
mov esi, 0x23b64e4
mov edi, 0x23b64c4
rep movsd dword es:[edi], dword [esi]
je 0x4138da
mov edx, dword [0x23b650c]
mov eax, dword [0x23b6508]
mov ecx, dword [0x3b1d33c]
push 0x259c7e0
push edx
mov edx, dword [0x3b1d338]
push eax
mov eax, dword [esp + 0x44]
push 0x3b1d3c0
push ecx
mov ecx, dword [0x23b6464]
push edx
push eax
push str._s_____LUN__lld_start_sector__s_SHA256___lld_bytes___s_n
push ecx
call fcn.0041b316
add esp, 0x24
mov edx, dword [esp + 0x14]
push edx
call fcn.0041bc41
add esp, 4
cmp byte [0x23b6538], 0
je 0x413956
mov eax, dword [0x23b6528]
mov ecx, 0x100000
sub ecx, eax
push 0
push ecx
lea eax, [eax + 0x29dc960]
call fcn.0040c1f0
push 0x29dc960
mov eax, str._data__n
call fcn.0040c220
add esp, 0xc
push 0x29dc960
mov eax, str._response_value_ACK__rawmode_false_
call fcn.0040c220
add esp, 4
push 0x29dc960
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x29dc960
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413948
sub eax, edx
mov dword [0x23b6524], eax
mov edx, dword [0x23b642c]
push edx
call fcn.0041ac33
add esp, 4
call fcn.0040f420
cmp byte [0x23b5c13], 0
jne 0x4139e2
push str.Please_see_log
push 0x25d1
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x10
jmp 0x412a21
mov edx, dword [esp + 0x38]
push edx
push str.Read_0_bytes_from__s
push 0x2565
push str.handleProgram
push 2
call fcn.004016a0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
add esp, 0x14
push eax
push ecx
push str.There_are_still__lld_sectors_to_go
push 0x2566
jmp 0x412a12
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14f0]
xor ecx, esp
call fcn.00418d55
mov esp, ebp
pop ebp
ret
cmp byte [0x23b653e], 0
je 0x413a30
mov eax, 0x3b1d408
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4139f3
sub eax, edx
mov edx, eax
mov eax, str.Zeros16KB.bin
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413a06
sub eax, esi
cmp edx, eax
jbe 0x413a15
mov eax, edx
push eax
push str.Zeros16KB.bin
push 0x3b1d408
call fcn.00419641
add esp, 0xc
test eax, eax
je 0x414190
cmp byte [0x23b64a0], 0
je 0x414190
push 0x100000
push 0
push 0x27dc8a0
call fcn.0041e920
mov ecx, 0xa
mov esi, 0x42ce80
mov edi, 0x27dc8a0
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
mov eax, str._data__n
push 0x27dc8a0
movsb byte es:[edi], byte [esi]
call fcn.0040c220
add esp, 4
cmp byte [0x23b64a1], 0
push 0x27dc8a0
jne 0x413dba
mov eax, 0x42fd58
call fcn.0040c220
add esp, 4
push 0x3b1d408
push str.filename__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov eax, dword [0x3b1d32c]
mov ecx, dword [0x3b1d328]
add esp, 0x14
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
add esp, 4
push edx
push eax
push 0x42e374
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov ecx, dword [0x3b1d33c]
mov edx, dword [0x3b1d338]
add esp, 4
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 4
push 0x3b1d3c0
push str.start_sector__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 0x14
push 0x27dc8a0
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x413ba4
sub eax, ecx
push eax
push 0x27dc8a0
push 0x245af80
call fcn.00422b50
mov eax, 0x245af80
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413bc8
sub eax, edx
push 0
push eax
mov ebx, 0x245af80
call fcn.00411f50
xor ebx, ebx
add esp, 8
cmp byte [0x23b6538], bl
jne 0x413fbe
push 0x800
mov edx, 0x42ddb4
mov ecx, 0x3b1d408
call fcn.00412100
add esp, 4
mov esi, eax
mov dword [esp + 0x14], eax
call fcn.004150f0
mov edi, edx
mov esi, eax
or eax, edi
jne 0x413c3c
push 0x3b1d408
push str.Filesize_is_0_bytes_for__s._Previous__read__failed__
push 0x2606
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x14
jmp 0x412a21
mov dword [0x23b6508], ebx
mov dword [0x23b650c], ebx
mov ebx, 0x269c7e0
call fcn.00418a30
mov ebx, 0x100000
push ebx
push 0
push 0x27dc8a0
call fcn.0041e920
add esp, 0xc
push str.Calculating_SHA256
push 0x2610
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x10
test edi, edi
jl 0x413ce5
jg 0x413c90
cmp esi, ebx
jbe 0x413ce5
lea ebx, [ebx]
mov ecx, dword [esp + 0x14]
push ecx
push ebx
push 1
push 0x27dc8a0
call fcn.0041b2f9
add dword [0x23b6508], ebx
push 0x269c828
push 0x269c7e0
adc dword [0x23b650c], 0
mov eax, ebx
mov ecx, 0x27dc8a0
call fcn.00418a70
add esi, 0xfff00000
push 0x4303b0
adc edi, 0xffffffff
call fcn.0041af1f
add esp, 0x1c
test edi, edi
jg 0x413c90
jl 0x413ce5
cmp esi, ebx
ja 0x413c90
mov ebx, dword [esp + 0x14]
push ebx
push esi
push 1
push 0x27dc8a0
call fcn.0041b2f9
add esp, 0x10
add dword [0x23b6508], esi
adc dword [0x23b650c], edi
test esi, esi
je 0x413d23
push 0x269c828
push 0x269c7e0
mov eax, esi
mov ecx, 0x27dc8a0
call fcn.00418a70
add esp, 8
push ebx
call fcn.0041bc41
add esp, 4
mov esi, 0x269c828
mov ebx, 0x269c7e0
call fcn.00418b70
push esi
mov eax, 0x23b64e4
mov ecx, ebx
call fcn.00418c50
add esp, 4
xor edi, edi
xor esi, esi
nop
movzx edx, byte [edi + 0x23b64e4]
push edx
mov eax, 0x100000
push 0x43182c
sub eax, esi
push eax
lea ecx, [esi + 0x259c7e0]
push ecx
call fcn.0041acb0
add esi, 2
add esp, 0x10
inc edi
cmp esi, 0x40
jl 0x413d50
mov edx, dword [0x23b650c]
mov eax, dword [0x23b6508]
push 0x259c7e0
push edx
push eax
push 0x3b1d408
push str.verify_programming_Read_FROM_TARGET__s_nSHA256___7lld_bytes___s_n
push 0x2626
push str.handleProgram
push 4
mov byte [edi*2 + 0x259c7e0], 0
call fcn.004016a0
add esp, 0x20
jmp 0x413fb5
mov eax, str._getsha256digest
call fcn.0040c220
mov ecx, dword [0x3b1d32c]
mov edx, dword [0x3b1d328]
add esp, 4
push ecx
push edx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push ecx
push 0x42e374
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
mov edx, dword [0x3b1d33c]
mov eax, dword [0x3b1d338]
add esp, 4
push edx
push eax
push str.physical_partition_number__lld_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
add esp, 0x14
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 4
push 0x3b1d3c0
push str.start_sector__s_
push 0x100000
push 0x259c7e0
call fcn.0041acb0
push 0x27dc8a0
mov eax, 0x259c7e0
call fcn.0040c220
add esp, 0x14
push 0x27dc8a0
mov eax, str.___n__data_
call fcn.0040c220
mov eax, 0x27dc8a0
add esp, 4
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x413eb0
sub eax, ecx
push eax
push 0x27dc8a0
push 0x245af80
call fcn.00422b50
mov eax, 0x245af80
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413ed4
sub eax, edx
push 0
push eax
mov ebx, 0x245af80
call fcn.00411f50
add esp, 8
cmp byte [0x23b6538], 0
jne 0x413fbe
push str.verify_programming_computed_FROM_TARGET_n
push 0x2642
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x10
xor esi, esi
xor edi, edi
mov byte [esp + 0x16], 0
mov cl, byte [esi*2 + 0x3c1fc08]
mov dl, byte [esi*2 + 0x3c1fc09]
lea eax, [esp + 0x70]
mov byte [esp + 0x14], cl
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], dl
call fcn.0040c490
add esp, 4
test eax, eax
jne 0x413f53
mov cl, byte [esp + 0x70]
mov byte [esi + 0x23b64e4], cl
jmp 0x413f9e
push 0x3c1fc08
mov eax, 0xeeeeeeee
push str.Invalid_sha_string_received_from_target__s_n
push 0x2651
push str.handleProgram
push 2
mov dword [0x23b64e4], eax
mov dword [0x23b64e8], eax
mov dword [0x23b64ec], eax
mov dword [0x23b64f0], eax
mov dword [0x23b64f4], eax
mov dword [0x23b64f8], eax
mov dword [0x23b64fc], eax
mov dword [0x23b6500], eax
call fcn.004016a0
add esp, 0x14
add esi, 1
adc edi, 0
js 0x413f1c
jg 0x413fb5
cmp esi, 0x20
jb 0x413f1c
cmp byte [0x23b6538], 0
je 0x413fcf
mov ecx, 8
mov esi, 0x23b64c4
mov edi, 0x23b64e4
rep movsd dword es:[edi], dword [esi]
xor eax, eax
xor ecx, ecx
jmp 0x413fe0
mov dl, byte [eax + 0x23b64c4]
cmp dl, byte [eax + 0x23b64e4]
jne 0x413ffd
add eax, 1
adc ecx, 0
js 0x413fe0
jg 0x413ffd
cmp eax, 0x20
jb 0x413fe0
cmp eax, 0x20
jne 0x4141ec
test ecx, ecx
jne 0x4141ec
push 0x435670
push 0x266a
push str.handleProgram
push 1
call fcn.004016a0
push 0x435698
push 0x266b
push str.handleProgram
push 1
call fcn.004016a0
push str.______________________________
push 0x266c
push str.handleProgram
push 1
call fcn.004016a0
push 0x4356e8
push 0x266d
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push 0x435710
push 0x266e
push str.handleProgram
push 1
call fcn.004016a0
push str.______________________
push 0x266f
push str.handleProgram
push 1
call fcn.004016a0
push str.____________________________________
push 0x2670
push str.handleProgram
push 1
call fcn.004016a0
push str.___________________________________
push 0x2671
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push 0x4357b0
push 0x2672
push str.handleProgram
push 1
call fcn.004016a0
push 0x4357d8
push 0x2673
push str.handleProgram
push 1
call fcn.004016a0
push str.__________________________
push 0x2674
push str.handleProgram
push 1
call fcn.004016a0
push str.____________________
push 0x2675
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push str.__V__V__________________
push 0x2676
push str.handleProgram
push 1
call fcn.004016a0
push str._____________________________n
push 0x2677
push str.handleProgram
push 1
call fcn.004016a0
push str.FLASHING_WORKS._This_tool_is_able_to_successfully_flash_data_onto_this_device_n_n
push 0x2678
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x30
cmp dword [0x23b6520], 0
jne 0x4141bc
push str.tempfile.bin
push 0x3b1d408
push str.Just_renamed_the_read_back_file__s_to__s
push 0x2696
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x18
xor ebx, ebx
cmp byte [0x23b5c13], bl
jne 0x414347
push str.Please_see_log
push 0x26b3
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x10
jmp 0x412a21
call fcn.0041ad9e
mov eax, dword [eax]
push eax
push str.tempfile.bin
push 0x3b1d408
push str.unable_to_rename_the_file__s_to__s_errno_d
push 0x269a
push str.handleProgram
push 2
call fcn.004016a0
add esp, 0x1c
jmp 0x412a21
push 0x435670
push 0x267c
push str.handleProgram
push 1
call fcn.004016a0
push 0x435698
push 0x267d
push str.handleProgram
push 1
call fcn.004016a0
push str.______________________________
push 0x267e
push str.handleProgram
push 1
call fcn.004016a0
push 0x4356e8
push 0x267f
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push 0x435710
push 0x2680
push str.handleProgram
push 1
call fcn.004016a0
push str.______________________
push 0x2681
push str.handleProgram
push 1
call fcn.004016a0
push str.____________________________________
push 0x2682
push str.handleProgram
push 1
call fcn.004016a0
push str.___________________________________
push 0x2683
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push str.________________________
push 0x2684
push str.handleProgram
push 1
call fcn.004016a0
push str._____________________
push 0x2685
push str.handleProgram
push 1
call fcn.004016a0
push 0x435944
push 0x2686
push str.handleProgram
push 1
call fcn.004016a0
push str.___________________
push 0x2687
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x40
push str.________________
push 0x2688
push str.handleProgram
push 1
call fcn.004016a0
push str.___________________________________________________n
push 0x2689
push str.handleProgram
push 1
call fcn.004016a0
push str.FLASHING_FAILED._This_tool_was_NOT_able_to_flash_data_onto_this_device_n_n
push 0x268a
push str.handleProgram
push 1
call fcn.004016a0
add esp, 0x30
jmp 0x412a21
push 0x435ab4
push 0x26b7
push str.handleProgram
push 4
call fcn.004016a0
push 0x4353a0
push 0x26b8
push str.handleProgram
push 4
call fcn.004016a0
push 0x435ab8
push 0x26b9
push str.handleProgram
push 4
call fcn.004016a0
push str._n_n
push 0x26ba
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x40
cmp byte [0x23b6541], bl
jne 0x41445e
mov edx, dword [0x23b6418]
mov esi, dword [0x23b641c]
mov ecx, edx
or ecx, esi
je 0x41445e
cmp esi, ebx
ja 0x4143cc
cmp edx, ebx
jbe 0x414439
mov ecx, dword [0x23b6420]
mov eax, dword [0x23b6424]
mov dword [esp + 0x28], ecx
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0x2c], eax
fild qword [esp + 0x28]
and ecx, 0x80000000
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
fild qword [esp + 0x28]
mov eax, esi
mov ecx, esi
fchs
and eax, 0x7fffffff
faddp st(1)
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
and ecx, 0x80000000
fmul qword [0x436740]
fild qword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
fild qword [esp + 0x28]
fchs
faddp st(1)
fdivp st(1)
fstp dword [0x23b5c14]
fld dword [0x23b5c14]
sub esp, 8
fstp qword [esp]
push str.percent_files_transferred__6.2f__
push 0x26c1
push str.handleProgram
push 4
call fcn.004016a0
add esp, 0x18
mov edx, dword [0x23b642c]
push edx
call fcn.0041ac33
add esp, 4
mov ecx, dword [esp + 0x14fc]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00418d55
mov esp, ebp
pop ebp
ret