Function at 0x4031a0
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x48b4
call fcn.0041b5b0
mov eax, dword [0x4363f4]
xor eax, esp
mov dword [esp + 0x48b0], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [str.19_2]
mov dl, byte [0x42d330]
push ebx
push esi
push edi
push 0x7fb
mov dword [esp + 0x30], eax
xor esi, esi
lea eax, [esp + 0xc1]
push esi
push eax
mov dword [esp + 0xc4], ecx
mov byte [esp + 0xc8], dl
call fcn.0041d060
mov al, 0x2e
mov byte [esp + 0xb2], al
add esp, 0xc
xor eax, eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x78], 0xa
mov dword [esp + 0x7c], esi
mov word [esp + 0xa4], 0x3631
mov dword [esp + 0xa9], 0x2e31332e
mov dword [esp + 0xad], 0x352e3232
mov dword [esp + 0xb1], 0x32302e31
mov byte [esp + 0xb5], 0
mov word [esp + 0xa7], 0x3031
xor ecx, ecx
jmp 0x403270
mov byte [eax + 0x253b2c0], al
add eax, 1
adc ecx, esi
js 0x403270
jg 0x403286
cmp eax, 0x100000
jb 0x403270
push str._nBase_Version:_16.10.28.15.28
call fcn.0041984f
add esp, 4
push str.22:51:02
push str.Oct_31_2016
push str._nBinary_build_date:__s____s
call fcn.0041984f
add esp, 0xc
lea ecx, [esp + 0xa4]
push ecx
push str._nIncremental_Build_version:__s_n
call fcn.0041984f
mov ebx, dword [ebp + 8]
add esp, 8
cmp ebx, 2
jge 0x4032f3
call fcn.00419036
lea edi, [eax + 0x40]
call fcn.00414460
push str._nDebugging_n_nBy_default___loglevel1._This_is_a_decent_amount_of_logging_for_debugging._n_____________loglevel2._This_shows_more_information_such_as_RAW_packets_being_sent._n_____________loglevel3._This_is_very_verbose__showing_every_byte_in_a_HEX_editor_view_that_is_sent_received._n_____________loglevel0._Turns_off_nearly_all_logging._n_____________showdigestperpacket___This_shows_the_SHA256_digest_for_every_packet_sent_n_____________createdigests___createcommandtrace___Adding_createcommandtrace_creates_command_trace.txt___This_shows_every_packet_and_its_hash
push edi
call fcn.00419c46
push str._nUsage:__nfh_loader.exe___port.COM19___sendimageAnyFile.bin___search_pathc:_buildsPerforce_maincore_storage_tools___noreset___noprompt_nfh_loader.exe___port.COM19___sendimageAnyFile.bin___search_pathc:_buildsPerforce_maincore_storage_tools___noreset___noprompt___interactive1__n_nfh_loader.exe___port.COM19___sendimageAnyFile.bin___search_pathc:_buildsPerforce_maincore_storage_tools___noreset___noprompt___interactive2__n_nfh_loader.exe___port.COM19___sendxmlrawprogram0.xml___search_pathc:_buildsPerforce_maincore_storage_tools__nfh_loader.exe___port.COM19___sendxmlrawprogram0.xml___search_pathc:_buildsPerforce_maincore_storage_tools___loglevel2_nfh_loader.exe___port.COM19___sendxmlrawprogram0.xml___search_pathc:_buildsPerforce_maincore_storage_tools___createcommandtrace_n
push edi
call fcn.00419c46
add esp, 0x10
push esi
call fcn.0041a80c
call fcn.00401020
push 0x800
push 0x24fa280
call fcn.0041a0a1
add esp, 8
test eax, eax
je 0x409527
mov eax, 0x24fa280
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403320
sub eax, ecx
mov byte [eax + 0x24fa280], 0x5c
mov byte [eax + 0x24fa281], 0
mov eax, ebx
cdq
xor esi, esi
mov ebx, edx
mov dword [esp + 0x1c], esi
mov byte [0x43740c], 0
lea edi, [esi + 1]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
cmp esi, ebx
jg 0x403399
jl 0x403360
cmp edi, eax
jae 0x403399
mov edi, edi
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push edi
call fcn.00401610
add esp, 8
call fcn.004144e0
test eax, eax
je 0x40352a
add edi, 1
adc esi, 0
cmp esi, ebx
jl 0x403360
jg 0x403391
cmp edi, dword [esp + 0x20]
jb 0x403360
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
xor edi, edi
mov edx, eax
mov esi, 1
mov dword [esp + 0x40], edx
cmp edi, ebx
jg 0x403425
jl 0x4033b0
cmp esi, edx
jae 0x403425
mov eax, 0x238c1c0
dec eax
mov dword [esp + 0x74], eax
lea ebx, [ebx]
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push esi
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4033e0
sub eax, edx
mov edx, dword [esp + 0x74]
cmp byte [edx + eax], 0x3d
jne 0x40340f
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x403400
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403400
sub eax, edx
je 0x403554
add esi, 1
adc edi, 0
cmp edi, ebx
jl 0x4033c0
jg 0x403421
cmp esi, dword [esp + 0x40]
jb 0x4033c0
mov eax, dword [esp + 0x20]
xor esi, esi
mov edi, 1
mov dword [esp + 0x40], eax
cmp esi, ebx
jg 0x40362b
jl 0x403442
cmp edi, eax
jae 0x40362b
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push edi
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403460
sub eax, edx
cmp eax, 0xd
ja 0x403473
mov eax, 0xd
push eax
push str.porttracename
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403565
push 0x3b886c0
push str.port_trace.txt
push str.User_changed__s_to__s_n
push 0xabf
push str.main
push 4
call fcn.00401210
mov eax, 0x3b886c0
add esp, 0x18
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4034c0
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ecx
push 0x800
push ecx
push eax
push ecx
push ecx
push ecx
push ecx
push 0x3b886c0
push str.port_trace.txt
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x403611
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x403500
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403500
sub eax, edx
push eax
push 0x3b886c0
push str.Failed_to_copy__s_of_length__lld_bytes_into_PortTraceName
push 0xac3
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
call fcn.00414460
push 0x238c1c0
push str.Command_line_argument__s_is_not_recognized_as_a_valid_option
push 0xaa3
push str.main
push 1
call fcn.00401210
add esp, 0x14
push 1
call fcn.004017c0
push 0x238c1c0
push str.Missing_argument_for____s
push 0xab2
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403570
sub eax, edx
cmp eax, 0xe
ja 0x403583
mov eax, 0xe
push eax
push str.mainoutputdir
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403611
mov eax, 0x3b886c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4035a2
xor ecx, ecx
push ecx
sub eax, edx
push eax
push ecx
push 0x800
push ecx
push eax
push ecx
push ecx
push ecx
push ecx
push 0x3b886c0
push 0x2389f38
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x4038d1
push 0x1ff
push 0x2389f38
call fcn.00429038
add esp, 8
cmp eax, 0xffffffff
jne 0x4035f8
push str.Already_exists
push 0xad3
jmp 0x403602
push str.Created_successfully
push 0xad7
push str.main
push 4
call fcn.00401210
add esp, 0x10
add edi, 1
adc esi, 0
cmp esi, ebx
jl 0x403442
jg 0x40362b
cmp edi, dword [esp + 0x40]
jb 0x403442
push 0x800
mov edx, 0x42c604
mov ecx, str.port_trace.txt
call fcn.00410f40
add esp, 4
push str.FH_LOADER_WAS_CALLED_EXACTLY_LIKE_THIS_n_n
mov dword [0x238a74c], eax
lea eax, [esp + 0xbc]
push 0x800
push eax
call fcn.004195e0
xor ebx, ebx
add esp, 0xc
xor edi, edi
mov esi, eax
cmp dword [esp + 0x24], ebx
jl 0x4036b0
jg 0x403675
cmp dword [esp + 0x20], ebx
jbe 0x4036b0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + edi*4]
push edx
mov eax, 0x800
push 0x42d010
sub eax, esi
push eax
lea ecx, [esp + esi + 0xc4]
push ecx
call fcn.004195e0
add esp, 0x10
add esi, eax
add edi, 1
adc ebx, 0
cmp ebx, dword [esp + 0x24]
jl 0x403675
jg 0x4036b0
cmp edi, dword [esp + 0x20]
jb 0x403675
mov edx, 0x800
push 0x42d53c
sub edx, esi
push edx
lea eax, [esp + esi + 0xc0]
push eax
call fcn.004195e0
add esp, 0xc
lea ecx, [esp + 0xb8]
push ecx
push 0xae5
push str.main
push 4
call fcn.00401210
push str.22:51:02
push str.Oct_31_2016
push str.Binary_build_date:__s____s_n
push 0xae9
push str.main
push 5
call fcn.00401210
lea edx, [esp + 0xcc]
push edx
push str.Build_Version:__s_n
push 0xaea
push str.main
push 5
call fcn.00401210
add esp, 0x3c
push 0x24fa280
push str.Current_working_dir__cwd_:__s
push 0xaeb
push str.main
push 4
call fcn.00401210
add esp, 0x14
push str.Showing_network_mappings_to_allow_debugging
push 0xaec
push str.main
push 4
call fcn.00401210
push 0x42d5ec
push str.net_use
call fcn.0041845f
push eax
push 0x100000
push 0x253b2c0
mov dword [0x238a780], eax
call fcn.00419717
add esp, 0x24
test eax, eax
je 0x4037ca
jmp 0x403790
push 0x253b2c0
push 0x42cae0
push 0xaf4
push str.main
push 5
call fcn.00401210
mov eax, dword [0x238a780]
add esp, 0x14
push eax
push 0x100000
push 0x253b2c0
call fcn.00419717
add esp, 0xc
test eax, eax
jne 0x403790
mov ecx, dword [0x238a780]
push ecx
call fcn.00418927
mov ebx, dword [esp + 0x24]
xor edi, edi
add esp, 4
mov esi, 1
mov byte [0x43740c], 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov ecx, ebx
cmp edi, dword [esp + 0x24]
jg 0x403f10
jl 0x403810
cmp esi, ecx
jae 0x403f10
lea esp, [esp]
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push esi
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403830
sub eax, edx
cmp eax, 0xb
ja 0x403843
mov eax, 0xb
push eax
push str.memoryname
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403a1a
mov al, byte [0x3b886c0]
cmp al, 0x75
je 0x4039b5
cmp al, 0x55
je 0x4039b5
push 0
cmp al, 0x6e
jne 0x40390d
push 5
push 0
push 0x800
push 0
push 4
push 0
push 0
push 0
push 0
push str.nand
push 0x3b86ea8
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x4039e6
push 4
push str.nand
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.MemoryName
push 0xb16
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
mov eax, 0x3b886c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4038e0
sub eax, edx
push eax
push 0x3b886c0
push str.Failed_to_copy__s_of_length__lld_bytes_into_MainOutputDir
push 0xace
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
cmp al, 0x73
jne 0x403965
push 7
push 0
push 0x800
push 0
push 6
push 0
push 0
push 0
push 0
push str.spinor
push 0x3b86ea8
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x4039e6
push 6
push str.spinor
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.MemoryName
push 0xb1e
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
push 5
push 0
push 0x800
push 0
push 4
push 0
push 0
push 0
push 0
push str.emmc
push 0x3b86ea8
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x4039e6
push 4
push str.emmc
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.MemoryName
push 0xb26
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
push 0
push 4
push 0
push 0x800
push 0
push 3
push 0
push 0
push 0
push 0
push 0x42d5f8
push 0x3b86ea8
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x403fc7
mov al, byte [0x3b86ea8]
cmp al, 0x75
je 0x4039f8
cmp al, 0x73
mov eax, 0x200
jne 0x4039fd
mov eax, 0x1000
xor ecx, ecx
mov dword [0x3a865c8], eax
mov dword [0x3a865cc], ecx
mov dword [0x437418], eax
mov dword [0x43741c], ecx
jmp 0x403eee
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403a22
sub eax, edx
cmp eax, 0x12
ja 0x403a35
mov eax, 0x12
push eax
push str.digestsperfilename
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403aed
push 0x3b886c0
push str.DigestsPerFile.txt
push str.User_changed__s_to__s_n
push 0xb3c
push str.main
push 4
call fcn.00401210
mov eax, 0x3b886c0
add esp, 0x18
lea ecx, [eax + 1]
jmp 0x403a80
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403a80
sub eax, ecx
xor ecx, ecx
push ecx
push eax
push ecx
push 0x800
push ecx
push eax
push ecx
push ecx
push ecx
push ecx
push 0x3b886c0
push str.DigestsPerFile.txt
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x403eee
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x403ac0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403ac0
sub eax, edx
push eax
push 0x3b886c0
push str.Failed_to_copy__s_of_length__lld_bytes_into_DigestsPerFileName
push 0xb40
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403af5
sub eax, edx
cmp eax, 8
ja 0x403b08
mov eax, 8
push eax
push str.noprompt
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403b29
mov byte [0x43740c], al
jmp 0x403eee
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403b31
sub eax, edx
cmp eax, 0x13
ja 0x403b44
mov eax, 0x13
push eax
push str.convertprogram2read
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403bd7
mov byte [0x2389f2f], 1
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403b70
sub eax, edx
cmp eax, 6
ja 0x403b83
mov eax, 6
push eax
push str.files
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403e87
mov eax, dword [0x238a768]
push eax
push 0x24faaa0
push 0
push 0x800
push 0x3b886c0
call fcn.0040ef90
add esp, 0x14
mov dword [0x238a768], eax
shl eax, 0xb
mov dword [0x238a76c], edx
mov byte [eax + 0x24faaa0], 0
jmp 0x403eee
mov eax, 0x238c1c0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403be0
sub eax, edx
cmp eax, 6
ja 0x403bf3
mov eax, 6
push eax
push 0x42bda0
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403b62
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x403c40
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403c40
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 7
jb 0x403c82
mov ecx, dword [str._data__n]
mov dx, word [0x42d000]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d002]
mov word [eax + 0x277b384], dx
mov byte [eax + 0x277b386], cl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403c90
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 7
jb 0x403cd2
mov ecx, dword [str._erase]
mov dx, word [0x42d660]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d662]
mov word [eax + 0x277b384], dx
mov byte [eax + 0x277b386], cl
mov byte [eax + 0x277b387], 0
mov edx, dword [0x43741c]
mov eax, dword [0x437418]
push edx
push eax
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403d00
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403d13
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x403d46
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.physical_partition_number__d_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403d73
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403d86
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x403db9
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403dc1
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xa
jb 0x403e03
mov ecx, dword [str.___n__data_]
mov edx, dword [0x42d688]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42d68c]
mov dword [eax + 0x277b384], edx
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
jmp 0x403e10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403e10
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
mov edx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x403fec
jl 0x403e7d
cmp dword [0x437420], 0x1f40
jae 0x403fec
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jmp 0x403eee
mov eax, 0x238c1c0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403e90
sub eax, edx
cmp eax, 9
ja 0x403ea3
mov eax, 9
push eax
push str.notfiles
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x403eee
mov ecx, dword [0x238a770]
push ecx
push 0x3c88ec0
push eax
push 0x800
push 0x3b886c0
call fcn.0040ef90
add esp, 0x14
mov dword [0x238a770], eax
shl eax, 0xb
mov dword [0x238a774], edx
mov byte [eax + 0x3c88ec0], 0
add esi, 1
adc edi, 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x24]
jl 0x403810
jg 0x403f10
cmp esi, ebx
jb 0x403810
xor eax, eax
mov esi, 1
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], ebx
cmp eax, dword [esp + 0x24]
jg 0x404722
jl 0x403f37
cmp esi, ebx
jae 0x404722
xor ebx, ebx
mov edi, esi
jmp 0x403f40
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push esi
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403f60
sub eax, edx
cmp eax, 0xc
ja 0x403f73
mov eax, 0xc
push eax
push str.search_path
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x404000
mov edx, dword [0x238a758]
push edx
push 0x273b380
push ebx
push 0x800
push 0x3b886c0
call fcn.0040ef90
mov dword [0x238a758], eax
shl eax, 0xb
add esp, 0x14
mov dword [0x238a75c], edx
mov byte [eax + 0x273b380], bl
call fcn.00416c50
jmp 0x4046fc
push 3
push 0x42d5f8
push str.Failed_to_copy__s_of_length__lld_bytes_into_fh.attrs.MemoryName
push 0xb0e
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xb62
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404008
sub eax, edx
cmp eax, 0xd
ja 0x40401b
mov eax, 0xd
push eax
push 0x42bd7c
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x404056
mov byte [0x2389f2e], 1
mov dword [0x3a865c8], edi
mov dword [0x3a865cc], ebx
mov dword [0x437418], edi
mov dword [0x43741c], ebx
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404060
sub eax, edx
cmp eax, 0x12
ja 0x404073
mov eax, 0x12
push eax
push str.sectorsizeinbytes
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4040e7
push 0x3b886c0
call fcn.004195d5
cdq
add esp, 4
push 0x3b886c0
mov dword [0x3a865c8], eax
mov dword [0x3a865cc], edx
call fcn.004195d5
mov ecx, dword [0x3a865c8]
cdq
add esp, 4
mov dword [0x437418], eax
mov eax, dword [0x3a865cc]
push eax
push ecx
push str.User_set_SECTOR_SIZE_IN_BYTES_to__ld_n
push 0xb97
push str.main
push 5
mov dword [0x43741c], edx
call fcn.00401210
add esp, 0x18
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4040f0
sub eax, edx
cmp eax, 0xc
ja 0x404103
mov eax, 0xc
push eax
push str.contentsxml
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x404154
mov eax, 0x3b886c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404122
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x24f9a80
call fcn.0040b1b0
add esp, 0x30
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404160
sub eax, edx
cmp eax, 7
ja 0x404173
mov eax, 7
push eax
push str.flavor
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4041c4
mov eax, 0x3b886c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404192
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x238b9c0
call fcn.0040b1b0
add esp, 0x30
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4041d0
sub eax, edx
cmp eax, 0xf
ja 0x4041e3
mov eax, 0xf
push eax
push str.createconfigxml
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40420d
mov byte [0x238a861], 1
mov byte [0x238a7c3], 1
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404215
sub eax, edx
cmp eax, 0xf
ja 0x404228
mov eax, 0xf
push eax
push str.flattenbuildto
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4045dd
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x404250
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404250
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x23f8260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404973
mov eax, 0x23f8260
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404290
sub eax, edx
cmp byte [eax + 0x23f8260], bl
jne 0x4042c0
mov byte [eax + 0x23f8261], bl
mov eax, 0x23f8260
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4042b0
sub eax, edx
mov byte [eax + 0x23f8260], 0x5c
mov eax, 0x23f8260
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4042c8
sub eax, edx
xor esi, esi
xor ecx, ecx
xor edx, edx
cmp esi, ebx
jl 0x4042fc
jg 0x4042e1
cmp eax, ebx
jbe 0x4042fc
cmp byte [ecx + 0x23f8260], 0x3a
je 0x404400
add ecx, edi
adc edx, ebx
cmp edx, esi
jl 0x4042e1
jg 0x4042fc
cmp ecx, eax
jb 0x4042e1
cmp byte [0x23f8260], 0x5c
jne 0x404312
cmp byte [0x23f8261], 0x5c
je 0x404400
mov eax, 0x24fa280
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404320
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x24fa280
push 0x253b2c0
call fcn.0040b1b0
mov eax, 0x23f8260
add esp, 0x30
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404355
sub eax, ecx
mov ecx, eax
mov eax, 0x253b2c0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404368
push ebx
push 0x800
push ebx
push 0x800
push ebx
push ecx
push ebx
push ebx
push ebx
sub eax, esi
push eax
push 0x23f8260
push 0x253b2c0
call fcn.0040b1b0
push 0x23f8260
push str._s_changed_to
push 0xbba
push str.main
push 4
call fcn.00401210
mov eax, 0x253b2c0
add esp, 0x44
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4043b8
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, ecx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x253b2c0
push 0x23f8260
call fcn.0040b1b0
push 0x23f8260
push str.this__s
push 0xbbc
push str.main
push 4
call fcn.00401210
add esp, 0x44
push 0x23f8260
push str.Trying_to_create_directory_for___flattenbuildto_s
push 0xbc1
push str.main
push 4
call fcn.00401210
add esp, 0x14
push 0x1ff
push 0x23f8260
call fcn.00429038
add esp, 8
cmp eax, 0xffffffff
jne 0x404441
push str.Already_exists
push 0xbc4
jmp 0x40444b
push str.Created_successfully
push 0xbc6
push str.main
push 4
call fcn.00401210
add esp, 0x10
push 0x800
push ebx
push 0x23f9260
call fcn.0041d060
mov eax, 0x23f8260
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404475
sub eax, edx
mov ecx, eax
mov eax, 0x23f9260
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404488
push ebx
push 0x800
push ebx
push 0x800
push ebx
push ecx
push ebx
push ebx
push ebx
sub eax, esi
push eax
push 0x23f8260
push 0x23f9260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x4049ad
mov eax, 0x3b86ea8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4044c5
sub eax, edx
mov edx, eax
mov eax, 0x23f9260
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4044d8
xor ecx, ecx
push ecx
push edx
push ebx
push 0x800
push ecx
push edx
push ebx
push ebx
push ebx
sub eax, esi
push eax
push 0x3b86ea8
push 0x23f9260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x4049e2
mov eax, 0x23f9260
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404513
push ebx
push edi
push ebx
push 0x800
push ebx
push edi
push ebx
push ebx
push ebx
sub eax, edx
push eax
push 0x42d830
push 0x23f9260
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404a1d
push 0x3b86ea8
push 0x23f9260
push str.Trying_to_create_directory__s_since_fh.attrs.MemoryName_is__s
push 0xbde
push str.main
push 4
call fcn.00401210
push 0x1ff
push 0x23f9260
call fcn.00429038
add esp, 0x20
cmp eax, 0xffffffff
jne 0x404587
push str.Already_exists
push 0xbe1
jmp 0x404591
push str.Created_successfully
push 0xbe3
push str.main
push 4
call fcn.00401210
add esp, 0x10
push str.User_wants_FLATTEN_BUILD___This_will_be_a_SIMULATE___Not_reading_writing_from_a_port_n
push 0xbe6
push str.main
push 5
call fcn.00401210
mov esi, dword [esp + 0x28]
add esp, 0x10
mov byte [0x238a7c3], 1
mov byte [0x238a85f], 1
mov byte [0x238a861], 1
mov byte [0x238a749], bl
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4045e5
sub eax, edx
cmp eax, 9
ja 0x4045f8
mov eax, 9
push eax
push str.wipefirst
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x404699
push 0x3fff
lea edx, [esp + 0x8bd]
push ebx
push edx
mov byte [esp + 0x8c4], bl
call fcn.0041d060
add esp, 0xc
push str.User_wants_wipefirst___Will_write_zeros_for_the_first_16KB_of_every__program__tag_n
push 0xbf0
push str.main
push 5
call fcn.00401210
mov eax, str.Zeros16KB.bin
add esp, 0x10
mov byte [0x238a85d], 1
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404658
sub eax, ecx
push eax
mov edx, 0x42d92c
mov ecx, str.Zeros16KB.bin
call fcn.00410f40
add esp, 4
mov esi, eax
push esi
push edi
lea eax, [esp + 0x8c0]
push 0x4000
push eax
call fcn.00419ea9
push esi
call fcn.0041a4c4
mov esi, dword [esp + 0x2c]
add esp, 0x14
jmp 0x4046fc
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4046a1
sub eax, edx
cmp eax, 0xa
ja 0x4046b4
mov eax, 0xa
push eax
push str.erasefirst
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4046fc
push str.User_wants_erasefirst___Will_issue__erase__tag_before_every__program__tag_n
push 0xbfb
push str.main
push 5
call fcn.00401210
mov al, byte [0x3b86ea8]
add esp, 0x10
mov byte [0x238a85e], 1
cmp al, 0x6e
je 0x4046fc
cmp al, 0x4e
jne 0x404a41
mov eax, dword [esp + 0x1c]
add esi, edi
adc eax, ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x24]
jl 0x403f40
jg 0x404722
cmp esi, dword [esp + 0x40]
jb 0x403f40
call fcn.004146d0
xor ebx, ebx
xor esi, esi
cmp dword [0x238a834], ebx
jl 0x404d9f
jg 0x404750
cmp dword [0x238a830], ebx
jbe 0x404d9f
jmp 0x404750
mov eax, esi
imul eax, eax, 0x890
mov cl, byte [eax + 0x238d248]
cmp byte [0x3b86ea8], cl
je 0x40476a
test cl, cl
jne 0x4047d1
lea edi, [eax + 0x238ca08]
call fcn.0040fe90
test eax, eax
jne 0x4047d1
mov eax, edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404780
mov ecx, dword [0x238a758]
push 0
push 0x800
push 0
push 0x800
push 0
sub eax, edx
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xb
add ecx, 0x273b380
push edi
push ecx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404a69
add dword [0x238a758], 1
adc dword [0x238a75c], 0
mov eax, dword [0x238a834]
add esi, 1
adc ebx, 0
cmp ebx, eax
jl 0x404750
mov ecx, dword [0x238a830]
jg 0x4047f4
cmp esi, ecx
jb 0x404750
xor edi, edi
cmp eax, edi
jl 0x404d9f
jg 0x404808
cmp ecx, edi
jbe 0x404d9f
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
cmp eax, edi
jl 0x404b30
jg 0x404822
cmp ecx, edi
jbe 0x404b30
mov eax, dword [0x238a760]
jmp 0x404830
mov esi, edi
imul esi, esi, 0x890
cmp byte [esi + 0x238d249], 0x72
jne 0x404b04
mov cl, byte [esi + 0x238d248]
cmp byte [0x3b86ea8], cl
je 0x40485b
test cl, cl
jne 0x404b04
cmp byte [0x2389f30], 0
je 0x404aa1
lea edi, [esi + 0x238ca08]
mov ecx, edi
lea ebx, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404873
push 0
push 0x800
push 0
push 0x800
push 0
sub ecx, ebx
push ecx
push 0
push 0
push 0
push 0
shl eax, 0xb
add eax, 0x5c08ec0
push edi
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404c8f
lea ebx, [esi + 0x238c9c8]
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4048c0
sub eax, edx
mov ecx, eax
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4048d0
push 0
push 0x800
push 0
push 0x800
push 0
push ecx
mov ecx, dword [0x238a760]
push 0
push 0
push 0
sub eax, esi
push eax
shl ecx, 0xb
add ecx, 0x5c08ec0
push ebx
push ecx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x404aec
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404927
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc41
push str.main
push 1
call fcn.00401210
add esp, 0x20
mov ecx, dword [esp + 0x48bc]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.00417d45
mov esp, ebp
pop ebp
ret
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x404980
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404980
sub eax, edx
push eax
push 0x3b886c0
push str.Failed_to_copy__s_of_length__lld_bytes_into_flattenbuildto
push 0xbab
push str.main
push edi
call fcn.00401210
add esp, 0x18
push edi
jmp 0x40354f
mov eax, 0x23f8260
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4049b5
sub eax, edx
push eax
push 0x23f8260
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildvariant
push 0xbce
push str.main
push edi
call fcn.00401210
add esp, 0x18
push edi
jmp 0x40354f
mov eax, 0x3b86ea8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4049f0
sub eax, edx
push eax
push 0x3b86ea8
push str.Failed_to_copy_fh.attrs.MemoryName_string__s_of_length__lld_bytes_into_flattenbuildvariant
push 0xbd4
push str.main
push edi
call fcn.00401210
add esp, 0x18
push edi
jmp 0x40354f
push edi
push 0x42d830
push str.Failed_to_copy_string__s_of_length__lld_bytes_into_flattenbuildvariant
push 0xbda
push str.main
push edi
call fcn.00401210
add esp, 0x18
push edi
jmp 0x40354f
push 0x3b86ea8
push 0x3b86ea8
push str._n_nIt_looks_like_you_chose___erasefirst_with_MemoryName_s._nThis_is_a___memorynameNAND_feature___n_n_tWhat_you_are_asking_to_do_here_is_issue_an__erase__command_for_every__program__tag_n_tBut_on__s_this_will_have_the_effect_of_erasing_the_entire_device_every_time_for_each__program__tag._n_tAt_a_high_level_this_means_only_your_last_file_will_be_programmed___n_n_nYou_dont_want_this_feature_and_you_are_looking_for_either___wipefirst_or___erase_n_n_n_n_t_tSomething_like:____fh_loader.exe___erase___port_etc_etc_n_n_n_n_t_t____________Or:____fh_loader.exe___wipefirst___port_etc_etc_n_n
push 0xc0a
push str.main
push edi
call fcn.00401210
add esp, 0x18
push edi
jmp 0x40354f
mov edx, dword [0x238a75c]
imul esi, esi, 0x890
mov eax, dword [0x238a758]
push edx
push eax
add esi, 0x238ca08
push esi
push str.Failed_to_copy_string__s_into_search_path__i_
push 0xc22
push str.main
push 1
call fcn.00401210
add esp, 0x1c
jmp 0x404959
lea esi, [esi + 0x238c9c8]
mov ecx, esi
lea edi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404ab0
push 0
push 0x800
push 0
push 0x800
push 0
sub ecx, edi
push ecx
push 0
push 0
push 0
push 0
shl eax, 0xb
add eax, 0x5c08ec0
push esi
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404ccc
mov eax, dword [0x238a760]
mov edi, dword [esp + 0x18]
add eax, 1
adc dword [0x238a764], 0
mov dword [0x238a760], eax
mov ecx, dword [esp + 0x1c]
add edi, 1
adc ecx, 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ecx
cmp ecx, dword [0x238a834]
jl 0x404830
jg 0x404b30
cmp edi, dword [0x238a830]
jb 0x404830
call fcn.0040ff30
xor ebx, ebx
xor eax, eax
xor ecx, ecx
mov dword [0x238a760], eax
mov dword [0x238a764], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
cmp dword [0x238a834], ebx
jl 0x404d8e
jg 0x404b70
cmp dword [0x238a830], ebx
jbe 0x404d8e
jmp 0x404b70
mov esi, ecx
imul esi, esi, 0x890
cmp byte [esi + 0x238d249], 0x70
jne 0x404d63
mov dl, byte [esi + 0x238d248]
cmp byte [0x3b86ea8], dl
je 0x404b9b
test dl, dl
jne 0x404d63
cmp byte [0x2389f30], 0
je 0x404d09
lea edi, [esi + 0x238ca08]
mov ecx, edi
lea ebx, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404bb3
push 0
push 0x800
push 0
push 0x800
push 0
sub ecx, ebx
push ecx
push 0
push 0
push 0
push 0
shl eax, 0xb
add eax, 0x5c08ec0
push edi
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404e8d
lea ebx, [esi + 0x238c9c8]
mov eax, ebx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404c00
sub eax, edx
mov ecx, eax
mov eax, edi
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x404c10
mov edx, dword [0x238a760]
push 0
push 0x800
push 0
push 0x800
push 0
push ecx
push 0
push 0
push 0
sub eax, esi
push eax
shl edx, 0xb
add edx, 0x5c08ec0
push ebx
push edx
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x404d49
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404c67
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc69
jmp 0x40494a
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ca4
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc3b
jmp 0x40494a
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ce1
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc49
jmp 0x40494a
lea esi, [esi + 0x238c9c8]
mov ecx, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x404d14
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub ecx, edi
push ecx
push ebx
push ebx
push ebx
push ebx
shl eax, 0xb
add eax, 0x5c08ec0
push esi
push eax
call fcn.0040b1b0
add esp, 0x30
or eax, edx
je 0x404eca
mov eax, dword [0x238a760]
mov ecx, dword [esp + 0x18]
add eax, 1
adc dword [0x238a764], 0
mov dword [0x238a760], eax
xor ebx, ebx
mov edx, dword [esp + 0x1c]
add ecx, 1
adc edx, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
cmp edx, dword [0x238a834]
jl 0x404b70
jg 0x404d8e
cmp ecx, dword [0x238a830]
jb 0x404b70
call fcn.0040ff30
mov dword [0x238a760], ebx
mov dword [0x238a764], ebx
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x20]
mov ecx, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
jl 0x4061f7
jg 0x404dc9
cmp eax, ecx
jbe 0x4061f7
xor ebx, ebx
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push ecx
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404de5
sub eax, edx
cmp eax, 5
ja 0x404df8
mov eax, 5
push eax
push str.port
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x404f08
mov eax, 0x3b886c0
lea edx, [eax + 1]
jmp 0x404e20
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e20
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x23f7a60
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x406179
mov eax, 0x3b886c0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404e60
sub eax, edx
push eax
push 0x3b886c0
push str.Failed_to_copy__s_of_length__lld_bytes_into_port_name
push 0xc8f
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x40354d
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ea2
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc63
jmp 0x40494a
mov eax, dword [esp + 0x18]
imul eax, eax, 0x890
lea edx, [eax + 0x238c9c8]
mov eax, edx
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404ee0
mov ecx, dword [0x238a764]
push ecx
mov ecx, dword [0x238a760]
push ecx
sub eax, esi
push eax
push edx
push str.Failed_to_copy_string__s_of_length__i_into_XMLFileTable__i_
push 0xc71
jmp 0x40494a
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404f10
sub eax, edx
cmp eax, 9
ja 0x404f23
mov eax, 9
push eax
push str.loglevel
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40500c
push 0x3b886c0
call fcn.004195d5
cdq
mov ecx, eax
add esp, 4
or ecx, edx
jne 0x404f77
push str.User_requested_minimal_logging_with___loglevel0
push 0xc9b
push str.main
push 2
call fcn.00401210
add esp, 0x10
mov byte [0x43740e], 2
jmp 0x406179
cmp eax, 2
jne 0x404fab
cmp edx, ebx
jne 0x404fab
push str.User_requested_verbose_logging_with___loglevel2
push 0xca0
push str.main
push eax
call fcn.00401210
add esp, 0x10
mov byte [0x43740e], 5
mov byte [0x2389f2b], 1
jmp 0x406179
cmp eax, 3
jne 0x404fe7
cmp edx, ebx
jne 0x404fe7
push str.User_requested_super_verbose_logging_with___loglevel3
push 0xca6
push str.main
push 2
call fcn.00401210
add esp, 0x10
mov byte [0x43740e], 5
mov byte [0x238a7c1], 1
mov byte [0x2389f2b], 1
jmp 0x406179
push str.User_requested_semi_verbose_logging_with___loglevel1___This_is_default
push 0xcad
push str.main
push 2
call fcn.00401210
add esp, 0x10
mov byte [0x43740e], 4
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405014
sub eax, edx
cmp eax, 0xc
ja 0x405027
mov eax, 0xc
push eax
push str.interactive
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40507a
push str.User_wants_INTERACTIVE_n
push 0xcb5
push str.main
push 5
call fcn.00401210
push 0x3b886c0
call fcn.004195d5
add esp, 0x14
mov byte [0x238a859], al
cmp al, 2
jbe 0x406179
mov byte [0x238a859], 2
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405082
sub eax, edx
cmp eax, 4
ja 0x405095
mov eax, 4
push eax
push str.lun
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40513e
push 0x3b886c0
push str.User_is_specifying_lun_s_n
push 0xcbf
push str.main
push 5
call fcn.00401210
add esp, 0x14
push 0x3b886c0
call fcn.004195d5
cdq
add esp, 4
mov esi, edx
push esi
push eax
push str.MyLun_lld_n
push 0xcc1
push str.main
push 5
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
call fcn.00401210
add esp, 0x18
cmp esi, ebx
jl 0x406179
jg 0x405116
cmp dword [esp + 0x50], 7
jbe 0x406179
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push str.In_most_cases_devices_only_have_LUN_0_1_2_3_4_5_6_7._You_have_specified_to_use_LUN__lld_and_this_might_fail_n_n
push 0xcc4
push str.main
push 3
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405146
sub eax, edx
cmp eax, 0xc
ja 0x405159
mov eax, 0xc
push eax
push str.num_sectors
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4051d2
push 0x3b886c0
push str.User_is_specifying_num_sectors_s_n
push 0xccc
push str.main
push 5
call fcn.00401210
add esp, 0x14
lea ecx, [esp + 0x4f]
push ecx
push 0x3b886c0
call fcn.0040b350
add esp, 8
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
cmp byte [esp + 0x4f], bl
je 0x4061a6
push edx
push eax
push str.MyNumSectors_lld_n
push 0xcd6
push str.main
push 5
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4051e0
sub eax, edx
cmp eax, 7
ja 0x4051f3
mov eax, 7
push eax
push 0x42bb24
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40526c
push 0x3b886c0
push str.User_is_specifying_trials_s_n
push 0xcdd
push str.main
push 5
call fcn.00401210
add esp, 0x14
lea edx, [esp + 0x3f]
push edx
push 0x3b886c0
call fcn.0040b350
add esp, 8
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
cmp byte [esp + 0x3f], bl
je 0x4061c1
push edx
push eax
push str.MyTrials_lld_n
push 0xce7
push str.main
push 5
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405274
sub eax, edx
cmp eax, 0xd
ja 0x405287
mov eax, 0xd
push eax
push 0x42bb48
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405300
push 0x3b886c0
push str.User_is_specifying_start_sector_s_n
push 0xcee
push str.main
push 5
call fcn.00401210
add esp, 0x14
lea eax, [esp + 0x3e]
push eax
push 0x3b886c0
call fcn.0040b350
add esp, 8
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
cmp byte [esp + 0x3e], bl
je 0x4061dc
push edx
push eax
push str.MyStartSector_lld_n
push 0xcf8
push str.main
push 5
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405308
sub eax, edx
cmp eax, 7
ja 0x40531b
mov eax, 7
push eax
push str.noreset
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40533d
mov byte [0x238a749], bl
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405345
sub eax, edx
cmp eax, 5
ja 0x405358
mov eax, 5
push eax
push str.reset
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40537b
mov byte [0x238a749], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405383
sub eax, edx
cmp eax, 0xe
ja 0x405396
mov eax, 0xe
push eax
push str.signeddigests
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4053e7
mov eax, 0x3b886c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053b5
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x23f8a60
call fcn.0040b1b0
add esp, 0x30
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4053f0
sub eax, edx
cmp eax, 0xf
ja 0x405403
mov eax, 0xf
push eax
push str.chaineddigests
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405454
mov eax, 0x3b886c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405422
push ebx
push 0x800
push ebx
push 0x800
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x3b886c0
push 0x253aac0
call fcn.0040b1b0
add esp, 0x30
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405460
sub eax, edx
cmp eax, 0x13
ja 0x405473
mov eax, 0x13
push eax
push str.setactivepartition
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40568e
push 0x100000
push ebx
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4054c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4054c0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x405501
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405510
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, esi
cmp eax, 0x19
jb 0x405543
push 0x19
lea ecx, [esi + 0x277b380]
push str._setbootablestoragedrive
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [esi + 0x277b399], bl
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.value__i_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405570
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405583
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x4055b5
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4055c0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xb
jb 0x40560d
mov edx, dword [str.___n__data__n]
mov ecx, dword [0x42df90]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42df94]
mov dword [eax + 0x277b384], ecx
mov cl, byte [0x42df96]
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], cl
mov byte [eax + 0x277b38b], bl
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405615
push ebx
push 0x100000
push ebx
push 0x1000
push ebx
sub eax, edx
mov edx, dword [0x437420]
push eax
push ebx
push ebx
push ebx
push ebx
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, ebx
mov dword [0x437424], eax
cmp eax, ebx
jg 0x40567a
jl 0x406179
cmp dword [0x437420], 0x1f40
jb 0x406179
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xd1c
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405696
sub eax, edx
cmp eax, 0xf
ja 0x4056a9
mov eax, 0xf
push eax
push str.getstorageinfo
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4058de
push 0x100000
push ebx
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4056f1
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x405732
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405740
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0x10
jb 0x40578b
mov edx, dword [str._getstorageinfo]
mov ecx, dword [0x42df9c]
mov dword [eax + 0x277b380], edx
mov edx, dword [0x42dfa0]
mov dword [eax + 0x277b384], ecx
mov ecx, dword [0x42dfa4]
mov dword [eax + 0x277b388], edx
mov dword [eax + 0x277b38c], ecx
mov byte [eax + 0x277b390], bl
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.physical_partition_number__i_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4057b8
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
jmp 0x4057d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4057d0
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x405802
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405810
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xb
jb 0x40585d
mov edx, dword [str.___n__data__n]
mov ecx, dword [0x42df90]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42df94]
mov dword [eax + 0x277b384], ecx
mov cl, byte [0x42df96]
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], cl
mov byte [eax + 0x277b38b], bl
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405865
push ebx
push 0x100000
push ebx
push 0x1000
push ebx
sub eax, edx
mov edx, dword [0x437420]
push eax
push ebx
push ebx
push ebx
push ebx
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, ebx
mov dword [0x437424], eax
cmp eax, ebx
jg 0x4058ca
jl 0x406179
cmp dword [0x437420], 0x1f40
jb 0x406179
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xd31
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4058e6
sub eax, edx
cmp eax, 0xc
ja 0x4058f9
mov eax, 0xc
push eax
push str.dontsorttags
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40591b
mov byte [0x43740d], bl
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405923
sub eax, edx
cmp eax, 0x13
ja 0x405936
mov eax, 0x13
push eax
push str.showdigestperpacket
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405960
mov byte [0x2389f2a], 1
mov byte [0x2389f2b], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405968
sub eax, edx
cmp eax, 0x11
ja 0x40597b
mov eax, 0x11
push eax
push str.showdigestperfile
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4059ba
push 0x800
mov edx, 0x42c604
mov ecx, str.DigestsPerFile.txt
mov byte [0x2389f2d], 1
call fcn.00410f40
add esp, 4
mov dword [0x238a784], eax
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4059c2
sub eax, edx
cmp eax, 0x16
ja 0x4059d5
mov eax, 0x16
push eax
push str.showpercentagecomplete
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4059f8
mov byte [0x2389f2c], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405a00
sub eax, edx
cmp eax, 0x12
ja 0x405a13
mov eax, 0x12
push eax
push str.createcommandtrace
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405a36
mov byte [0x2389f2b], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405a40
sub eax, edx
cmp eax, 8
ja 0x405a53
mov eax, 8
push eax
push str.sendxml
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405ab2
mov eax, dword [0x238a760]
push eax
push 0x5c08ec0
push ebx
push 0x800
push 0x3b886c0
call fcn.0040ef90
mov dword [0x238a760], eax
shl eax, 0xb
add esp, 0x14
mov dword [0x238a764], edx
mov byte [eax + 0x5c08ec0], bl
call fcn.0040ff30
mov dword [0x238a760], ebx
mov dword [0x238a764], ebx
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ac0
sub eax, edx
cmp eax, 7
ja 0x405ad3
mov eax, 7
push eax
push str.verbose
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405b0f
push str.User_wants_FIREHOSE_VERBOSE___Target_will_log_much_of_what_it_is_doing_n
push 0xd62
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a85c], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405b17
sub eax, edx
cmp eax, 0xd
ja 0x405b2a
mov eax, 0xd
push eax
push str.zlpawarehost
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405b97
push 0x3b886c0
call fcn.004195d5
cdq
add esp, 4
mov dword [0x3a865f0], eax
mov dword [0x3a865f4], edx
cmp edx, ebx
jl 0x405b77
jg 0x405b65
cmp eax, 1
jbe 0x405b77
mov eax, 1
xor edx, edx
mov dword [0x3a865f0], eax
mov dword [0x3a865f4], edx
push edx
push eax
push str.User_set_ZLPAWAREHOST_to__lld_n
push 0xd6d
push str.main
push 5
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ba0
sub eax, edx
cmp eax, 0x12
ja 0x405bb3
mov eax, 0x12
push eax
push str.verify_programming
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405bef
push str.User_wants_verify_programming_n
push 0xd72
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a7c0], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405bf7
sub eax, edx
cmp eax, 0xd
ja 0x405c0a
mov eax, 0xd
push eax
push str.testvipimpact
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405c46
push str.User_wants_testvipimpact_n
push 0xd78
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a74b], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405c50
sub eax, edx
cmp eax, 8
ja 0x405c63
mov eax, 8
push eax
push str.simulate
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405c9f
push str.User_wants_SIMULATION___Not_reading_writing_from_a_port_n
push 0xd7e
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a7c3], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ca7
sub eax, edx
cmp eax, 0xd
ja 0x405cba
mov eax, 0xd
push eax
push str.createdigests
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405d04
push str.User_wants_SIMULATION__CreateDigests____Not_reading_writing_from_a_port_n
push 0xd84
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a85b], 1
mov byte [0x238a7c3], 1
mov byte [0x2389f2a], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405d10
sub eax, edx
cmp eax, 9
ja 0x405d23
mov eax, 9
push eax
push str.skipwrite
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405d68
push str.User_wants_skipwrite___Will_not_commit_to_flash._Use_this_to_benchmark_USB_speed_n
push 0xd8c
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov dword [0x3a865f8], 1
mov dword [0x3a865fc], ebx
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405d70
sub eax, edx
cmp eax, 9
ja 0x405d83
mov eax, 9
push eax
push str.skippatch
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405dbe
push str.User_wants_skippatch__LOAD_PATCH_PROGRAM_FILES0____Will_issue_any__patch_commands_n
push 0xd92
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x437401], bl
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405dc6
sub eax, edx
cmp eax, 0xf
ja 0x405dd9
mov eax, 0xf
push eax
push str.skipstorageinit
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405e1e
push str.User_wants_skipstorageinit___Will_not_initialize_storage_with__configure__i.e._handleConfigure___n
push 0xd98
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov dword [0x3a86640], 1
mov dword [0x3a86644], ebx
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405e26
sub eax, edx
cmp eax, 0xd
ja 0x405e39
mov eax, 0xd
push eax
push str.readbogusdata
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405e75
push str.User_wants_ReadBogusDataBeforeSendingConfigure___Will_attempt_to_read_4KB_of_data_before_sending__configure__command_n
push 0xd9e
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a7c2], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405e80
sub eax, edx
cmp eax, 0x11
ja 0x405e93
mov eax, 0x11
push eax
push str.skipharddriveread
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405ecf
push str.User_wants_skipharddriveread___Will_get_filesizes_from_files__but_data_will_be_garbage_n
push 0xda5
push str.main
push 5
call fcn.00401210
add esp, 0x10
mov byte [0x238a85a], 1
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405ed7
sub eax, edx
cmp eax, 0x16
ja 0x405eea
mov eax, 0x16
push eax
push str.maxpayloadsizeinbytes
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405f3a
push 0x3b886c0
call fcn.004195d5
add esp, 4
cdq
push edx
push eax
push str.User_set_MaxPayloadSizeToTargetInBytes_to__ld_n
push 0xdac
push str.main
push 5
mov dword [0x3a86580], eax
mov dword [0x3a86584], edx
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405f42
sub eax, edx
cmp eax, 0x13
ja 0x405f55
mov eax, 0x13
push eax
push str.comportopentimeout
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x405fa4
push 0x3b886c0
call fcn.0041a444
fstp dword [0x437404]
fld dword [0x437404]
push ecx
fstp qword [esp]
push str.User_set_ComPortOpenTimeout_to__f_n
push 0xdb2
push str.main
push 4
call fcn.00401210
add esp, 0x18
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405fb0
sub eax, edx
cmp eax, 0x1a
ja 0x405fc3
mov eax, 0x1a
push eax
push str.maxdigesttablesizeinbytes
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406034
push 0x3b886c0
call fcn.004195d5
add esp, 4
cdq
push edx
push eax
push str.User_set_MaxDigestTableSizeInBytes_to__ld_n
push 0xdb8
push str.main
push 5
mov dword [0x3a86598], eax
mov dword [0x3a8659c], edx
call fcn.00401210
mov ecx, dword [0x3a8659c]
mov edx, dword [0x3a86598]
add esp, 0x18
push ebx
push 0x20
push ecx
push edx
call fcn.00421c30
mov dword [0x238a7b8], eax
mov dword [0x238a7bc], edx
jmp 0x406179
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406040
sub eax, edx
cmp eax, 3
ja 0x406053
mov eax, 3
push eax
push 0x42bc94
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406140
push 0x100000
push ebx
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
push 0x277b380
mov eax, str._data__n
movsb byte es:[edi], byte [esi]
call fcn.0040b0e0
add esp, 4
push 0x277b380
mov eax, str._NOP_value_ping_
call fcn.0040b0e0
add esp, 4
push 0x277b380
mov eax, str.___n__data__n
call fcn.0040b0e0
mov eax, 0x277b380
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4060d1
push ebx
push 0x100000
push ebx
push 0x1000
push ebx
sub eax, ecx
push eax
mov eax, dword [0x437420]
push ebx
push ebx
push ebx
push ebx
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, ebx
mov dword [0x437424], eax
cmp eax, ebx
jg 0x40612c
jl 0x406179
cmp dword [0x437420], 0x1f40
jb 0x406179
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xdc8
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406148
sub eax, edx
cmp eax, 0xe
ja 0x40615b
mov eax, 0xe
push eax
push str.forceoverwrite
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406179
mov byte [0x238a862], 1
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
add ecx, 1
adc eax, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x24]
jl 0x404dcb
jg 0x4061f9
cmp ecx, dword [esp + 0x20]
jb 0x404dcb
jmp 0x4061f9
push 0x3b886c0
push str.Call_to_stringToNumber_failed_for_MyNumSectors_with_value__s
push 0xcd2
push str.main
push 4
jmp 0x403545
push 0x3b886c0
push str.Call_to_stringToNumber_failed_for_MyTrials_with_value__s
push 0xce3
push str.main
push 4
jmp 0x403545
push 0x3b886c0
push str.Call_to_stringToNumber_failed_for_MyStartSector_with_value__s
push 0xcf4
push str.main
push 4
jmp 0x403545
xor ebx, ebx
call fcn.0040ff30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [0x238a760], ebx
mov dword [0x238a764], ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
cmp eax, ebx
jl 0x408785
jg 0x406240
cmp ecx, 1
jbe 0x408785
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push 0x3b886c0
push ecx
call fcn.00401610
mov eax, 0x238c1c0
add esp, 8
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406260
sub eax, edx
cmp eax, 0x11
ja 0x406273
mov eax, 0x11
push eax
push str.getgptmainbackup
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406a41
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4062c0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4062c0
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 7
jb 0x406302
mov ecx, dword [str._data__n]
mov dx, word [0x42d000]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d002]
mov word [eax + 0x277b384], dx
mov byte [eax + 0x277b386], cl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406310
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 6
jb 0x406346
mov ecx, dword [0x42e37c]
mov dx, word [0x42e380]
mov dword [eax + 0x277b380], ecx
mov word [eax + 0x277b384], dx
mov byte [eax + 0x277b386], 0
mov eax, dword [0x3a865cc]
mov ecx, dword [0x3a865c8]
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406372
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406385
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x4063b8
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov ebx, 0x1000
cmp dword [0x3a865c8], ebx
jne 0x4063d5
cmp dword [0x3a865cc], 0
jne 0x4063d5
push str.num_partition_sectors_6_
jmp 0x4063da
push str.num_partition_sectors_34_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4063f4
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406407
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x40643a
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.filename_gpt_main_d.bin_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406467
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406480
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x4064b3
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.physical_partition_number__i_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4064e0
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4064f3
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x406526
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push str.start_sector_0_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406545
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406558
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x40658b
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406593
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xb
jb 0x4065e1
mov edx, dword [str.___n__data__n]
mov ecx, dword [0x42df90]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42df94]
mov dword [eax + 0x277b384], ecx
mov cl, byte [0x42df96]
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], cl
mov byte [eax + 0x277b38b], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4065f0
push 0
push 0x100000
push 0
push ebx
push 0
sub eax, edx
mov edx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x408837
jl 0x406659
cmp dword [0x437420], 0x1f40
jae 0x408837
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406687
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x4066c9
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4066d1
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 6
jb 0x406707
mov edx, dword [0x42e37c]
mov cx, word [0x42e380]
mov dword [eax + 0x277b380], edx
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], 0
mov edx, dword [0x3a865cc]
mov eax, dword [0x3a865c8]
push edx
push eax
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406733
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406746
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x406779
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
cmp dword [0x3a865c8], ebx
jne 0x406791
cmp dword [0x3a865cc], 0
jne 0x406791
push str.num_partition_sectors_5_
jmp 0x406796
push str.num_partition_sectors_33_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067b0
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067c3
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x4067f6
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.filename_gpt_backup_d.bin_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406823
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406836
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x406869
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3b886c0
call fcn.004195d5
add esp, 4
push eax
push str.physical_partition_number__i_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406896
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4068b0
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x4068e3
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
cmp dword [0x3a865c8], ebx
jne 0x4068fb
cmp dword [0x3a865cc], 0
jne 0x4068fb
push str.start_sector_NUM_DISK_SECTORS_5._
jmp 0x406900
push str.start_sector_NUM_DISK_SECTORS_33._
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406920
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406933
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x406966
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406970
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xb
jb 0x4069be
mov ecx, dword [str.___n__data__n]
mov edx, dword [0x42df90]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42df94]
mov dword [eax + 0x277b384], edx
mov dl, byte [0x42df96]
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], dl
mov byte [eax + 0x277b38b], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4069c6
push 0
push 0x100000
push 0
push ebx
push 0
sub eax, edx
push eax
mov eax, dword [0x437420]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x406a2d
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe2b
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406a50
sub eax, edx
cmp eax, 0x15
ja 0x406a63
mov eax, 0x15
push eax
push str.forcecontentsxmlpaths
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406a9f
push str.User_requested_forcecontentsxmlpaths
push 0xe34
push str.main
push 4
call fcn.00401210
add esp, 0x10
mov byte [0x2389f30], 1
jmp 0x408759
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406aa7
sub eax, edx
cmp eax, 0xc
ja 0x406aba
mov eax, 0xc
push eax
push str.verify_build
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406b04
push str.User_requested_verify_build__NOTE:_This_is_to_be_used_with___contentsxml
push 0xe39
push str.main
push 4
call fcn.00401210
add esp, 0x10
mov byte [0x2389f31], 1
mov byte [0x238a7c3], 1
mov byte [0x238a749], 0
jmp 0x408759
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b10
sub eax, edx
cmp eax, 0xf
ja 0x406b23
mov eax, 0xf
push eax
push str.benchmarkwrites
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406cd1
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x406b70
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406b70
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x406bb2
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406bc0
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, esi
cmp eax, 0x4d
jb 0x406bf4
push 0x4d
lea ecx, [esi + 0x277b380]
push str._benchmark_test_TestWritePerformance__trials_500__TestWritePerformance_1_
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [esi + 0x277b3cd], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406c00
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xa
jb 0x406c42
mov ecx, dword [str.___n__data_]
mov edx, dword [0x42d688]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42d68c]
mov dword [eax + 0x277b384], edx
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406c50
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
mov edx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x406cbd
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe4c
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406ce0
sub eax, edx
cmp eax, 0xe
ja 0x406cf3
mov eax, 0xe
push eax
push str.benchmarkreads
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x406ea1
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x406d40
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406d40
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x406d82
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406d90
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, esi
cmp eax, 0x4b
jb 0x406dc4
push 0x4b
lea ecx, [esi + 0x277b380]
push str._benchmark_test_TestReadPerformance__trials_500__TestReadPerformance_1_
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [esi + 0x277b3cb], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406dd0
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xa
jb 0x406e12
mov ecx, dword [str.___n__data_]
mov edx, dword [0x42d688]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42d68c]
mov dword [eax + 0x277b384], edx
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406e20
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
mov edx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x406e8d
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe5f
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406eb0
sub eax, edx
cmp eax, 0x1a
ja 0x406ec3
mov eax, 0x1a
push eax
push str.benchmarkdigestperformance
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x407071
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x406f10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406f10
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x406f52
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406f60
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, esi
cmp eax, 0x4f
jb 0x406f94
push 0x4f
lea ecx, [esi + 0x277b380]
push str._benchmark_test_TestDigestPerformance__trials_500__TestDigestPerformance_1_
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [esi + 0x277b3cf], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406fa0
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xa
jb 0x406fe2
mov ecx, dword [str.___n__data_]
mov edx, dword [0x42d688]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42d68c]
mov dword [eax + 0x277b384], edx
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x406ff0
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
mov edx, dword [0x437420]
push eax
push 0
push 0
push 0
push 0
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x40705d
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe71
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407080
sub eax, edx
cmp eax, 0xc
ja 0x407093
mov eax, 0xc
push eax
push str.benchmarkddr
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x40730f
push 0x100000
push eax
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
jmp 0x4070e0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4070e0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x407122
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407130
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, esi
cmp eax, 0x22
jb 0x407164
push 0x22
lea ecx, [esi + 0x277b380]
push str._benchmark_test_TestDDRValidity_
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [esi + 0x277b3a2], 0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push edx
push eax
push str.trials__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407190
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4071a3
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x4071d6
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4071e0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0x14
jb 0x407238
mov edx, dword [str.TestDDRValidity_1_]
mov ecx, dword [0x42e630]
mov dword [eax + 0x277b380], edx
mov edx, dword [0x42e634]
mov dword [eax + 0x277b384], ecx
mov ecx, dword [0x42e638]
mov dword [eax + 0x277b388], edx
mov edx, dword [0x42e63c]
mov dword [eax + 0x277b38c], ecx
mov dword [eax + 0x277b390], edx
mov byte [eax + 0x277b394], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407240
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xa
jb 0x407282
mov edx, dword [str.___n__data_]
mov ecx, dword [0x42d688]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42d68c]
mov dword [eax + 0x277b384], ecx
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407290
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
push eax
mov eax, dword [0x437420]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x4072fb
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe89
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407317
sub eax, edx
cmp eax, 0xa
ja 0x40732a
mov eax, 0xa
push eax
push str.sendimage
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x4081e8
push 1
mov ecx, 0x3b886c0
call fcn.0040f4a0
add esp, 4
mov dword [esp + 0x74], eax
test eax, eax
jne 0x40737a
cmp byte [0x2389f2f], al
je 0x40884b
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
jmp 0x4073af
mov eax, dword [0x43741c]
mov ecx, dword [0x437418]
mov edx, dword [0x238a86c]
push eax
mov eax, dword [0x238a868]
push ecx
push edx
push eax
call fcn.00428010
or ecx, ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
je 0x4073af
add dword [esp + 0x30], 1
adc dword [esp + 0x34], 0
mov ecx, dword [0x238a86c]
mov edx, dword [0x238a868]
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
push ecx
push edx
push str.File_size_is__lld_bytes
push 0xeb3
push str.main
push 5
call fcn.00401210
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
push eax
push ebx
push str.NumSectors_needed__lld
push 0xeb4
push str.main
push 5
call fcn.00401210
add esp, 0x30
test edi, edi
jl 0x407456
jg 0x407408
test esi, esi
je 0x407456
cmp edi, dword [esp + 0x34]
jg 0x407435
jl 0x407414
cmp esi, ebx
jae 0x407435
push edi
push esi
push edi
push esi
push str.NumSectors_changed_to__lld_by___num_sectors_lld
push 0xebc
mov ebx, esi
push str.main
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edi
push 5
jmp 0x40744e
mov ecx, dword [esp + 0x34]
push ecx
push ebx
push edi
push esi
push str.User_specified___num_sectors_lld_but_file_only_has__lld_sectors._Ignoring___num_sectors_n_n
push 0xebf
push str.main
push 3
call fcn.00401210
add esp, 0x20
mov edx, ebx
or edx, dword [esp + 0x34]
je 0x40885f
cmp byte [0x238a85d], 0
je 0x40783b
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4074a0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x4074e2
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4074f0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 9
jb 0x407530
mov edx, dword [0x42d004]
mov ecx, dword [0x42d008]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d00c]
mov dword [eax + 0x277b384], ecx
mov byte [eax + 0x277b388], dl
mov byte [eax + 0x277b389], 0
mov eax, dword [0x43741c]
mov ecx, dword [0x437418]
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407560
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407573
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x4075a6
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov ecx, dword [0x43741c]
mov edx, dword [0x437418]
push ecx
push edx
push 0
push 0x4000
call fcn.00421c30
push edx
push eax
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4075e1
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4075f4
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x407627
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push str.Zeros16KB.bin
push str.filename__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
jmp 0x407650
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407650
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407663
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x407696
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov ecx, dword [0x3a865dc]
mov edx, dword [0x3a865d8]
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4076c3
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4076d6
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x407709
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3a86660
push str.start_sector__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407730
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407743
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x407776
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407780
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xa
jb 0x4077c2
mov edx, dword [str.___n__data_]
mov ecx, dword [0x42d688]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42d68c]
mov dword [eax + 0x277b384], ecx
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4077d0
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
push eax
mov eax, dword [0x437420]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x408873
jl 0x40783b
cmp dword [0x437420], 0x1f40
jae 0x408873
cmp byte [0x238a85e], 0
je 0x407b8b
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407876
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x4078b8
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4078c0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x407902
mov edx, dword [str._erase]
mov cx, word [0x42d660]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d662]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], 0
mov eax, dword [0x43741c]
mov ecx, dword [0x437418]
push eax
push ecx
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407930
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407943
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x407976
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov ecx, dword [esp + 0x34]
push ecx
push ebx
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
jmp 0x4079a0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4079a0
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4079b3
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x4079e6
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov ecx, dword [0x3a865dc]
mov edx, dword [0x3a865d8]
push ecx
push edx
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a13
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a26
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x407a59
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push 0x3a86660
push str.start_sector__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a80
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a93
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x407ac6
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ad0
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xa
jb 0x407b12
mov edx, dword [str.___n__data_]
mov ecx, dword [0x42d688]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42d68c]
mov dword [eax + 0x277b384], ecx
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], 0
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407b20
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, edx
push eax
mov eax, dword [0x437420]
push 0
push 0
push 0
push 0
shl eax, 0xc
add eax, 0x3cc8ec0
push 0x277b380
push eax
call fcn.0040b1b0
mov eax, dword [0x437424]
add esp, 0x30
add dword [0x437420], 1
adc eax, 0
mov dword [0x437424], eax
test eax, eax
jg 0x408887
jl 0x407b8b
cmp dword [0x437420], 0x1f40
jae 0x408887
mov esi, dword [esp + 0x74]
test esi, esi
je 0x407baf
push 0x800
mov edx, 0x42e7e0
mov ecx, esi
call fcn.00410f40
mov edi, eax
add esp, 4
mov dword [esp + 0x70], edi
jmp 0x407bb3
mov edi, dword [esp + 0x70]
push str..ffu
push 0x3b886c0
call fcn.00418fb0
add esp, 8
mov ebx, eax
test esi, esi
je 0x407da9
push edi
push 0x1c
lea ecx, [esp + 0x8c]
push 1
push ecx
call fcn.00419c29
add esp, 0x10
cmp eax, 0x1c
je 0x407d27
push 0
push 0
push 0
push edi
call fcn.0041935a
add esp, 0x10
test ebx, ebx
je 0x407da9
push edi
push 0x20
lea edx, [esp + 0x8c]
push 1
push edx
call fcn.00419c29
add esp, 0x10
cmp eax, 0x20
jne 0x407da9
push 0
push 0
push 0
push edi
call fcn.0041935a
push 0xb
lea eax, [esp + 0x9c]
push str.SignedImage
push eax
call fcn.004182c7
add esp, 0x1c
test eax, eax
jne 0x407da9
push 0x3b886c0
push str._s_is_being_treated_as_a_windows_FFU_image
push 0xf17
push str.main
push 4
call fcn.00401210
add esp, 0x14
push 0xd58
call fcn.00418f16
mov esi, eax
mov eax, 0x3b886c0
add esp, 4
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x407c82
sub eax, ecx
inc eax
push eax
push 0x3b886c0
push esi
call fcn.00420e80
mov ecx, dword [0x437418]
mov edx, dword [0x43741c]
mov eax, dword [esp + 0x5c]
add esp, 0xc
mov dword [esi + 0x800], ecx
mov ecx, dword [esp + 0x54]
push edi
push esi
mov dword [esi + 0x804], edx
mov dword [esi + 0x808], eax
mov dword [esi + 0x80c], ecx
call fcn.00402770
add esp, 8
call fcn.00402a20
mov eax, esi
call fcn.00402af0
xor edi, edi
cmp dword [esi + 0x924], edi
je 0x407cf6
mov edx, dword [esi + 0x940]
push edx
call fcn.00418387
add esp, 4
cmp dword [esi + 0x91c], edi
je 0x407d0d
mov eax, dword [esi + 0x944]
push eax
call fcn.00418387
add esp, 4
push esi
call fcn.00418387
add esp, 4
mov dword [esi + 0x940], edi
mov dword [esi + 0x944], edi
jmp 0x4081b5
cmp dword [esp + 0x84], 0xed26ff3a
jne 0x407bed
cmp word [esp + 0x88], 1
jne 0x407bed
push 0
push 0
push 0
push edi
call fcn.0041935a
add esp, 0x10
push 0x3b886c0
push str._s_is_being_treated_as_a_sparse_image
push 0xf12
push str.main
push 4
call fcn.00401210
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov ecx, dword [0x43741c]
add esp, 0x14
push edx
mov edx, dword [0x437418]
push eax
mov eax, dword [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push eax
push ecx
push 0x3b886c0
push edi
call fcn.00402050
add esp, 0x20
jmp 0x4081b5
push 0x100000
xor ebx, ebx
push ebx
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0xc
movsb byte es:[edi], byte [esi]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407dd8
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 7
jb 0x407e19
mov edx, dword [str._data__n]
mov cx, word [0x42d000]
mov dword [eax + 0x277b380], edx
mov dl, byte [0x42d002]
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], dl
mov byte [eax + 0x277b387], bl
mov eax, 0x277b380
lea edx, [eax + 1]
cmp byte [0x2389f2f], bl
je 0x407e70
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e30
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 6
jb 0x407ec7
mov edx, dword [0x42e37c]
mov cx, word [0x42e380]
mov dword [eax + 0x277b380], edx
mov word [eax + 0x277b384], cx
mov byte [eax + 0x277b386], bl
jmp 0x407ec7
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e70
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 9
jb 0x407eaf
mov ecx, dword [0x42d004]
mov edx, dword [0x42d008]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d00c]
mov dword [eax + 0x277b384], edx
mov byte [eax + 0x277b388], cl
mov byte [eax + 0x277b389], bl
cmp byte [0x2389f2e], bl
je 0x407ec7
mov dword [0x437418], 1
mov dword [0x43741c], ebx
mov edx, dword [0x43741c]
mov eax, dword [0x437418]
push edx
push eax
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ef3
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f06
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x407f38
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f61
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f74
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x407fa6
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
push 0x3b886c0
push str.filename__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407fd0
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407fe3
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x408015
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408040
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408053
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x408085
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, dword [esp + 0x5c]
cmp eax, ebx
jl 0x4080a2
jg 0x408095
cmp dword [esp + 0x58], ebx
jb 0x4080a2
mov ecx, dword [esp + 0x58]
push eax
push ecx
push str.start_sector__lld__Version_1_
jmp 0x4080ad
mov edx, dword [esp + 0x58]
push eax
push edx
push str.start_sector_NUM_DISK_SECTORS_lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4080c7
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4080e0
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x408112
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408120
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 0xa
jb 0x408161
mov ecx, dword [str.___n__data_]
mov edx, dword [0x42d688]
mov dword [eax + 0x277b380], ecx
mov cx, word [0x42d68c]
mov dword [eax + 0x277b384], edx
mov word [eax + 0x277b388], cx
mov byte [eax + 0x277b38a], bl
mov eax, 0x277b380
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408170
push ebx
push 0x100000
push ebx
push 0x1000
push ebx
sub eax, edx
mov edx, dword [0x437420]
push eax
push ebx
push ebx
push ebx
push ebx
shl edx, 0xc
add edx, 0x3cc8ec0
push 0x277b380
push edx
call fcn.0040b1b0
add esp, 0x30
add dword [0x437420], 1
adc dword [0x437424], ebx
cmp dword [0x437424], 0
jg 0x4081d4
jl 0x408759
cmp dword [0x437420], 0x1f40
jb 0x408759
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xf4b
jmp 0x40353e
mov eax, 0x238c1c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081f0
sub eax, edx
cmp eax, 0xa
ja 0x408203
mov eax, 0xa
push eax
push str.stresstest
push 0x238c1c0
call fcn.004182c7
add esp, 0xc
test eax, eax
jne 0x408759
push 0x3fff
push eax
mov byte [esp + 0x8c0], al
lea eax, [esp + 0x8c1]
push eax
call fcn.0041d060
add esp, 0xc
push str.User_wants_stresstest___Also_enabling_verify_programming._Ensure_this_passes_before_leaving_bring_up_lab_n
push 0xf59
push str.main
push 5
call fcn.00401210
push str.Zeros1GB.bin
push str.Creating_1GB_all_zero_file__s_n
push 0xf5d
push str.main
push 4
mov byte [0x238a748], 1
mov byte [0x238a7c0], 1
call fcn.00401210
mov eax, str.Zeros1GB.bin
add esp, 0x24
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x408285
sub eax, ecx
push eax
mov edx, 0x42d92c
mov ecx, str.Zeros1GB.bin
call fcn.00410f40
add esp, 4
mov esi, eax
mov edi, 0x10000
jmp 0x4082b0
push esi
push 1
lea ecx, [esp + 0x8c0]
push 0x4000
push ecx
call fcn.00419ea9
push 0x42e8f8
call fcn.0041984f
add esp, 0x14
dec edi
jne 0x4082b0
push esi
call fcn.0041a4c4
mov edx, dword [0x43741c]
mov eax, dword [0x437418]
add esp, 4
push edx
push eax
push edi
push 0x40000000
mov dword [0x238a868], 0x40000000
mov dword [0x238a86c], edi
call fcn.00428010
or ecx, ebx
mov ebx, eax
mov dword [esp + 0x6c], edx
je 0x408317
add ebx, 1
adc dword [esp + 0x6c], edi
push 0
push 0x40000000
push str.File_size_is__lld_bytes
push 0xf74
push str.main
push 5
call fcn.00401210
mov ecx, dword [esp + 0x84]
push ecx
push ebx
push str.NumSectors_needed__lld
push 0xf75
push str.main
push 5
call fcn.00401210
push 0x100000
push 0
push 0x277b380
call fcn.0041d060
mov ecx, 0xa
mov esi, 0x42bfb8
mov edi, 0x277b380
rep movsd dword es:[edi], dword [esi]
mov eax, 0x277b380
add esp, 0x3c
movsb byte es:[edi], byte [esi]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x408381
sub eax, ecx
mov edx, 0xffff7
sub edx, eax
cmp edx, 7
jb 0x4083c3
mov ecx, dword [str._data__n]
mov dx, word [0x42d000]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d002]
mov word [eax + 0x277b384], dx
mov byte [eax + 0x277b386], cl
mov byte [eax + 0x277b387], 0
mov eax, 0x277b380
lea edx, [eax + 1]
jmp 0x4083d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4083d0
sub eax, edx
mov edx, 0xffff7
sub edx, eax
cmp edx, 9
jb 0x408410
mov ecx, dword [0x42d004]
mov edx, dword [0x42d008]
mov dword [eax + 0x277b380], ecx
mov cl, byte [0x42d00c]
mov dword [eax + 0x277b384], edx
mov byte [eax + 0x277b388], cl
mov byte [eax + 0x277b389], 0
mov edx, dword [0x43741c]
mov eax, dword [0x437418]
push edx
push eax
push str.SECTOR_SIZE_IN_BYTES__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408440
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408453
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x408486
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, dword [esp + 0x6c]
push eax
push ebx
push 0x42d044
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
jmp 0x4084b0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4084b0
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4084c3
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x4084f6
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
push str.Zeros1GB.bin
push str.filename__s_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x10
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408520
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408533
sub eax, edx
mov esi, eax
mov eax, 0xffff7
sub eax, edi
cmp esi, eax
ja 0x408566
push esi
lea ecx, [edi + 0x277b380]
push 0x253b2c0
push ecx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push str.physical_partition_number__lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408590
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4085a3
sub eax, edx
mov ecx, 0xffff7
mov esi, eax
sub ecx, edi
cmp esi, ecx
ja 0x4085d6
push esi
lea edx, [edi + 0x277b380]
push 0x253b2c0
push edx
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, dword [esp + 0x5c]
test eax, eax
jl 0x4085f4
jg 0x4085e7
cmp dword [esp + 0x58], 0
jb 0x4085f4
push eax
mov eax, dword [esp + 0x5c]
push eax
push str.start_sector__lld_
jmp 0x4085ff
mov ecx, dword [esp + 0x58]
push eax
push ecx
push str.start_sector_NUM_DISK_SECTORS_lld_
push 0x100000
push 0x253b2c0
call fcn.004195e0
mov eax, 0x277b380
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408620
sub eax, edx
mov edi, eax
mov eax, 0x253b2c0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408633
sub eax, edx
mov edx, 0xffff7
mov esi, eax
sub edx, edi
cmp esi, edx
ja 0x408666
push esi
lea eax, [edi + 0x277b380]
push 0x253b2c0
push eax
call fcn.00420e80
add esp, 0xc
mov byte [edi + esi + 0x277b380], 0
mov eax, 0x277b380
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408670
sub eax, edx
mov ecx, 0xffff7
sub ecx, eax
cmp ecx, 0xa
jb 0x4086b2
mov edx, dword [str.___n__data_]
mov ecx, dword [0x42d688]
mov dword [eax + 0x277b380], edx
mov dx, word [0x42d68c]
mov dword [eax + 0x277b384], ecx
mov word [eax + 0x277b388], dx
mov byte [eax + 0x277b38a], 0
xor edi, edi
cmp dword [esp + 0x7c], edi
jl 0x408759
jg 0x4086ca
cmp dword [esp + 0x78], edi
jbe 0x408759
mov ecx, dword [0x437420]
mov eax, 0x277b380
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4086d8
push 0
push 0x100000
push 0
push 0x1000
push 0
sub eax, esi
push eax
push 0
push 0
push 0
push 0
shl ecx, 0xc
add ecx, 0x3cc8ec0
push 0x277b380
push ecx
call fcn.0040b1b0
mov ecx, dword [0x437420]
mov eax, dword [0x437424]
add esp, 0x30
add ecx, 1
adc eax, 0
mov dword [0x437420], ecx
mov dword [0x437424], eax
test eax, eax
jg 0x40889b
jl 0x408743
cmp ecx, 0x1f40
jae 0x40889b
inc edi
mov eax, edi
cdq
cmp edx, dword [esp + 0x7c]
jl 0x4086d0
jg 0x408759
cmp eax, dword [esp + 0x78]
jb 0x4086d0
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x1c]
adc eax, 0
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x44]
jl 0x406240
jg 0x408783
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x18], eax
jb 0x406240
xor ebx, ebx
cmp byte [0x238a7c3], 0
je 0x4088af
push str.Remember:_This_is_a_simulation._Nothing_will_be_sent_to_target__COM_PORT_NOT_OPENED
push 0xfa8
push str.main
push 2
call fcn.00401210
push 0x42e958
push 0xfa9
push str.main
push 2
call fcn.00401210
push 0x42e984
push 0xfaa
push str.main
push 2
call fcn.00401210
push 0x42e9b0
push 0xfab
push str.main
push 2
call fcn.00401210
add esp, 0x40
push 0x42e9dc
push 0xfac
push str.main
push 2
call fcn.00401210
push 0x42ea08
push 0xfad
push str.main
push 2
call fcn.00401210
push str.__________________________n
push 0xfae
push str.main
push 2
call fcn.00401210
add esp, 0x30
jmp 0x4089c2
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xe03
jmp 0x40353e
push 0x3b886c0
push str.The_file_you_specified_with___sendimage_s_could_not_be_found
push 0xe9f
jmp 0x40353e
push 0x3b886c0
push str.Nothing_to_send___File_is_empty___FileSizeNumSectors0_for___sendimage_s___USE___num_sectors200___sectorsizeinbytes512
push 0xec5
jmp 0x40353e
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xee5
jmp 0x40353e
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xf04
jmp 0x40353e
push 0x3cc8ec0
push str.1._Too_many_XML_files_in_XMLStringTable__max_is__d
push 0xf9a
jmp 0x40353e
xor ecx, ecx
cmp ecx, 0x23f7a60
je 0x409509
mov eax, 0x23f7a60
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4088c5
sub eax, edx
je 0x409509
push 0x23f7a60
push str.User_wants_to_talk_to_port__s
push 0xfb8
push str.main
push 4
call fcn.00401210
add esp, 0x14
call fcn.0040ad20
cmp eax, 1
je 0x40354d
mov edx, dword [0x238a824]
push 0x253aaa0
push edx
mov dword [0x253aaa0], 0x14
mov dword [0x253aaa4], ebx
mov dword [0x253aaa8], 0x64
mov dword [0x253aaac], 1
mov dword [0x253aab0], 0xa
call dword [sym.imp.KERNEL32.dll_SetCommTimeouts]
test eax, eax
jne 0x408962
push str.Error_setting_com_port_timeouts
push 0x12d0
push str.SetPortTimeouts
push 1
call fcn.00401210
add esp, 0x10
jmp 0x40354d
cmp byte [0x238a7c2], 0
je 0x4089c2
push str.Attempting_to_read_4KB_to_flush_out_any_possible_strange_first_log_packet_since_user_chose_ReadBogusDataBeforeSendingConfigure
push 0xfc4
push str.main
push 2
call fcn.00401210
push 0x297b440
mov eax, 0x1000
call fcn.0040abc0
xor ecx, ecx
add esp, 0x14
mov dword [0x238a790], eax
mov dword [0x238a794], ecx
cmp ecx, ebx
jl 0x4089c2
jg 0x4089aa
cmp eax, ebx
jbe 0x4089c2
push str.main
push eax
push 0x297b440
mov ecx, 0xfc8
call fcn.0040aea0
add esp, 0xc
cmp byte [0x238a861], 0
je 0x408ec1
mov eax, 0x3b86ea8
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4089d7
sub eax, edx
mov ecx, eax
mov eax, str.config_
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4089f0
push ebx
push 0x800
push ebx
push 0x800
push ebx
push ecx
push ebx
push ebx
push ebx
sub eax, esi
push eax
push 0x3b86ea8
push str.config_
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x408a5d
mov eax, 0x3b86ea8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408a30
sub eax, edx
push eax
push 0x3b86ea8
push str.Failed_to_copy_string__s_of_length__i_into_ConfigXMLName
push 0xfd2
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x404959
mov eax, str.config_
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408a65
push ebx
push 4
push ebx
push 0x800
push ebx
push 4
push ebx
push ebx
push ebx
sub eax, edx
push eax
push str..xml
push str.config_
call fcn.0040b1b0
add esp, 0x30
or eax, edx
jne 0x408ab9
push 4
push str..xml
push str.Failed_to_copy_string__s_of_length__i_into_ConfigXMLName
push 0xfd8
push str.main
push 1
call fcn.00401210
add esp, 0x18
jmp 0x404959
push 0x800
mov edx, 0x42c604
mov ecx, str.config_
call fcn.00410f40
add esp, 4
push str.__xml_version_1.0_____n
push eax
mov dword [0x238a780], eax
call fcn.00419c46
mov eax, dword [0x238a780]
push str._configuration__n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.______NOTE:_This_is_an__Autogenerated_file_____n
push ecx
call fcn.00419c46
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
add esp, 0x18
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
test eax, eax
jl 0x408b5f
jg 0x408b24
cmp edx, ebx
jbe 0x408b5f
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + edi*4]
push ecx
mov edx, 0x800
push 0x42d010
sub edx, esi
push edx
lea eax, [esp + esi + 0xc4]
push eax
call fcn.004195e0
add esp, 0x10
add esi, eax
add edi, 1
adc ebx, 0
cmp ebx, dword [esp + 0x6c]
jl 0x408b24
jg 0x408b5f
cmp edi, dword [esp + 0x68]
jb 0x408b24
mov edx, dword [0x238a780]
lea ecx, [esp + 0xb8]
push ecx
push str.______NOTE:__s_____n
push edx
call fcn.00419c46
mov eax, dword [0x238a780]
add esp, 0xc
push str.___options__n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.____DOWNLOAD_PROTOCOL________FIREHOSE_n
push ecx
call fcn.00419c46
add esp, 0x10
cmp byte [0x437400], 0
je 0x408bb6
mov edx, dword [0x238a780]
push str.____LOAD_RAW_PROGRAM_FILES___true_n
push edx
jmp 0x408bc1
mov eax, dword [0x238a780]
push str.____LOAD_RAW_PROGRAM_FILES___false_n
push eax
call fcn.00419c46
add esp, 8
cmp byte [0x437401], 0
je 0x408be0
mov ecx, dword [0x238a780]
push str.____LOAD_PATCH_PROGRAM_FILES_true_n
push ecx
jmp 0x408bec
mov edx, dword [0x238a780]
push str.____LOAD_PATCH_PROGRAM_FILES_false_n
push edx
call fcn.00419c46
mov eax, dword [0x238a780]
add esp, 8
push str.____options__n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.___search_paths__n
push ecx
call fcn.00419c46
mov edx, dword [0x238a780]
push 0x23f9260
push str._____s_n
push edx
call fcn.00419c46
xor esi, esi
add esp, 0x1c
xor edi, edi
cmp dword [0x238a75c], esi
jl 0x408c7b
jg 0x408c44
cmp dword [0x238a758], esi
jbe 0x408c7b
mov ecx, dword [0x238a780]
mov eax, esi
shl eax, 0xb
add eax, 0x273b380
push eax
push str._____s_n
push ecx
call fcn.00419c46
add esp, 0xc
add esi, 1
adc edi, 0
cmp edi, dword [0x238a75c]
jl 0x408c44
jg 0x408c7b
cmp esi, dword [0x238a758]
jb 0x408c44
mov edx, dword [0x238a780]
push str.____search_paths__n
push edx
call fcn.00419c46
mov eax, dword [0x238a780]
push str.___rawprogram__n
push eax
call fcn.00419c46
xor esi, esi
add esp, 0x10
xor edi, edi
cmp dword [0x238a834], esi
jl 0x408d16
jg 0x408cc0
cmp dword [0x238a830], esi
jbe 0x408d16
jmp 0x408cc0
mov eax, esi
imul eax, eax, 0x890
cmp byte [eax + 0x238d249], 0x72
jne 0x408cfe
mov cl, byte [eax + 0x238d248]
cmp byte [0x3b86ea8], cl
je 0x408ce3
test cl, cl
jne 0x408cfe
mov edx, dword [0x238a780]
lea ecx, [eax + 0x238c9c8]
push ecx
push str._____s_n
push edx
call fcn.00419c46
add esp, 0xc
add esi, 1
adc edi, 0
cmp edi, dword [0x238a834]
jl 0x408cc0
jg 0x408d16
cmp esi, dword [0x238a830]
jb 0x408cc0
mov eax, dword [0x238a780]
push str.____rawprogram__n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.___patch__n
push ecx
call fcn.00419c46
xor esi, esi
add esp, 0x10
xor edi, edi
cmp dword [0x238a834], esi
jl 0x408da5
jg 0x408d50
cmp dword [0x238a830], esi
jbe 0x408da5
mov eax, esi
imul eax, eax, 0x890
cmp byte [eax + 0x238d249], 0x70
jne 0x408d8d
mov cl, byte [eax + 0x238d248]
cmp byte [0x3b86ea8], cl
je 0x408d73
test cl, cl
jne 0x408d8d
lea edx, [eax + 0x238c9c8]
mov eax, dword [0x238a780]
push edx
push str._____s_n
push eax
call fcn.00419c46
add esp, 0xc
add esi, 1
adc edi, 0
cmp edi, dword [0x238a834]
jl 0x408d50
jg 0x408da5
cmp esi, dword [0x238a830]
jb 0x408d50
mov ecx, dword [0x238a780]
push str.____patch__n
push ecx
call fcn.00419c46
mov edx, dword [0x238a780]
push str.___file_mappings__n
push edx
call fcn.00419c46
mov eax, dword [0x238a780]
push str.__NOTE:_Do_not_trust_these_mappings._These_are_only_POSSIBLE_file_path_mappings_n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.__NOTE:_If_any_of_the_files_are_also_found_in_the_search_paths_listed_above__that_file_will_be_used_n_n
push ecx
call fcn.00419c46
xor ebx, ebx
add esp, 0x20
xor edi, edi
cmp dword [0x238a834], ebx
jl 0x408e85
jg 0x408e10
cmp dword [0x238a830], ebx
jbe 0x408e85
lea esp, [esp]
mov esi, edi
imul esi, esi, 0x890
mov al, byte [esi + 0x238d249]
cmp al, 0x72
je 0x408e6d
cmp al, 0x70
je 0x408e6d
mov al, byte [esi + 0x238d248]
cmp byte [0x3b86ea8], al
je 0x408e38
test al, al
jne 0x408e6d
mov eax, dword [0x238a780]
lea edx, [esi + 0x238ca08]
push edx
push str._____s
push eax
call fcn.00419c46
mov edx, dword [0x238a780]
add esp, 0xc
lea ecx, [esi + 0x238c9c8]
push ecx
push 0x42ee28
push edx
call fcn.00419c46
add esp, 0xc
add edi, 1
adc ebx, 0
cmp ebx, dword [0x238a834]
jl 0x408e10
jg 0x408e85
cmp edi, dword [0x238a830]
jb 0x408e10
mov eax, dword [0x238a780]
push str.____file_mappings__n
push eax
call fcn.00419c46
mov ecx, dword [0x238a780]
push str.____configuration__n
push ecx
call fcn.00419c46
mov edx, dword [0x238a780]
push edx
call fcn.0041a4c4
add esp, 0x14
mov dword [0x238a780], 0
xor ebx, ebx
cmp byte [0x2389f2b], 0
je 0x408ef5
push 0x800
mov edx, 0x42c604
mov ecx, str.command_trace.txt
call fcn.00410f40
add esp, 4
push eax
mov dword [0x238a778], eax
call fcn.0041a4c4
add esp, 4
mov dword [0x238a778], ebx
mov eax, dword [0x3a8659c]
mov ecx, dword [0x3a86598]
push ebx
push 0x20
push eax
push ecx
call fcn.00421c30
mov dword [0x238a7b8], eax
sub eax, 0x36
mov dword [0x238a7bc], edx
sbb edx, ebx
cmp byte [0x238a85b], 0
mov dword [0x238a7a0], eax
mov dword [0x238a7a4], edx
je 0x408f56
push 0x10
mov edx, 0x42d92c
mov ecx, str.DIGEST_TABLE.bin
call fcn.00410f40
add esp, 4
push eax
mov dword [0x238a77c], eax
call fcn.0041a4c4
add esp, 4
mov dword [0x238a77c], ebx
call fcn.0040ea00
mov eax, 0x277b380
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408f63
push ebx
push 0x100000
push ebx
push 0x1000
push ebx
sub eax, edx
push eax
push ebx
push ebx
push ebx
push ebx
push 0x277b380
push 0x3cc8ec0
call fcn.0040b1b0
add esp, 0x30
cmp byte [0x238a749], 0
je 0x408f9e
call fcn.0040e860
call fcn.004161b0
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [0x297b420], edx
imul edx, edx, 0x3e8
sub ecx, edx
imul ecx, ecx, 0x3e8
cmp byte [0x43740d], 0
mov dword [0x297b424], ecx
je 0x409010
push str.Sorting_TAGS_to_ensure_order_is__configure___erase___others___patch___power_
push 0x1062
push str.main
push 4
call fcn.00401210
push str.If__you_dont_want_this__use___dontsorttags_n
push 0x1063
push str.main
push 4
call fcn.00401210
add esp, 0x20
call fcn.00415e40
jmp 0x409029
push str.Not_sorting_tags_since___dontsorttags_was_provided_n
push 0x1067
push str.main
push 4
call fcn.00401210
add esp, 0x10
cmp byte [0x2389f2c], 0
je 0x40910b
mov dl, byte [0x238a7c3]
mov byte [0x238a858], dl
mov byte [0x238a7c3], 1
mov byte [0x238a860], 1
mov dword [0x238a740], ebx
mov dword [0x238a744], ebx
call fcn.00409fe0
call fcn.00410000
cmp byte [0x238a7c0], 0
mov eax, dword [0x238a740]
mov edx, dword [0x238a744]
mov dword [0x238a738], eax
mov dword [0x238a73c], edx
je 0x4090c2
mov dword [esp + 0x40], eax
mov eax, edx
mov ecx, edx
and eax, 0x7fffffff
mov dword [esp + 0x44], eax
fild qword [esp + 0x40]
and ecx, 0x80000000
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebx
fild qword [esp + 0x40]
fchs
faddp st(1)
fadd st(0), st(0)
call fcn.00429126
mov dword [0x238a738], eax
mov dword [0x238a73c], edx
cmp edx, ebx
ja 0x4090ca
cmp eax, ebx
jbe 0x4090fa
push ebx
push 0x100000
push edx
push eax
mov edx, 0x253b2c0
call fcn.00414590
push 0x253b2c0
push str._n_nTotal_to_be_tansferd_with__program__or__read__is__s_n_n
push 0x1081
push str.main
push 4
call fcn.00401210
add esp, 0x24
mov al, byte [0x238a858]
mov byte [0x238a7c3], al
mov byte [0x238a860], 0
mov dword [0x238a740], ebx
mov dword [0x238a744], ebx
call fcn.00409fe0
call fcn.00410000
call esi
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [0x24f9a60], edx
imul edx, edx, 0x3e8
sub ecx, edx
imul ecx, ecx, 0x3e8
cmp byte [0x238a7c3], 0
mov dword [0x24f9a64], ecx
jne 0x409168
mov eax, dword [0x238a824]
cmp eax, ebx
je 0x409168
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x238a824], ebx
cmp byte [0x238a85b], 0
je 0x409176
call fcn.00409540
push 0x42ef58
push 0x109a
push str.main
push 2
call fcn.00401210
push str.Files_used_and_their_paths
push 0x109b
push str.main
push 2
call fcn.00401210
add esp, 0x20
xor eax, eax
xor edi, edi
cmp dword [0x238a754], ebx
jl 0x4091ff
jg 0x4091c0
cmp dword [0x238a750], ebx
jbe 0x4091ff
jmp 0x4091c0
mov esi, eax
add esi, 1
adc edi, ebx
shl eax, 0xb
add eax, 0x2a7b460
push eax
push edi
push esi
push str._3lld__s
push 0x109f
push str.main
push 2
call fcn.00401210
add esp, 0x1c
mov eax, esi
cmp edi, dword [0x238a754]
jl 0x4091c0
jg 0x4091ff
cmp eax, dword [0x238a750]
jb 0x4091c0
push 0x42c81c
call fcn.0041984f
mov eax, 0x287b420
add esp, 4
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409214
sub eax, edx
je 0x4092df
push 0x432994
call fcn.0041984f
add esp, 4
push 0x432cb4
call fcn.0041984f
add esp, 4
push str._t_________________________________________n
call fcn.0041984f
add esp, 4
push str._t____________________________n
call fcn.0041984f
add esp, 4
push str._t__V__V_____________________n
call fcn.0041984f
add esp, 4
push str._t__________________________n
call fcn.0041984f
add esp, 4
push str._t________________________________________n
call fcn.0041984f
add esp, 4
push str._t________________________________________n_n
call fcn.0041984f
add esp, 4
push 0x42ef58
push 0x10a7
push str.main
push 2
call fcn.00401210
push str.NOTE:_There_were_WARNINGS___Repeated_here__but_please_see_log_for_more_detail
push 0x10a8
push str.main
push 2
call fcn.00401210
push 0x287b420
push str._s_nNOTE:_There_were_WARNINGS___Repeated_above__but_please_see_log_for_more_detail_n_n_n
call fcn.0041984f
push 0x42ef58
push 0x10ab
push str.main
push 2
call fcn.00401210
add esp, 0x38
cmp byte [0x238a7c3], 0
je 0x40938c
push str.Remember:_This_was_a_simulation._Nothing_was_sent_to_a_target
push 0x10b0
push str.main
push 2
call fcn.00401210
push 0x42e958
push 0x10b1
push str.main
push 2
call fcn.00401210
push 0x42e984
push 0x10b2
push str.main
push 2
call fcn.00401210
push 0x42e9b0
push 0x10b3
push str.main
push 2
call fcn.00401210
add esp, 0x40
push 0x42e9dc
push 0x10b4
push str.main
push 2
call fcn.00401210
push 0x42ea08
push 0x10b5
push str.main
push 2
call fcn.00401210
push str.__________________________n
push 0x10b6
push str.main
push 2
call fcn.00401210
add esp, 0x30
push str.____________________done_
push 0x10ba
push str.main
push 2
call fcn.00401210
push 0x42f0c4
push 0x10bb
push str.main
push 2
call fcn.00401210
push 0x42f0e0
push 0x10bc
push str.main
push 2
call fcn.00401210
push 0x42f0fc
push 0x10bd
push str.main
push 2
call fcn.00401210
add esp, 0x40
push str._________________
push 0x10be
push str.main
push 2
call fcn.00401210
push str._______________
push 0x10bf
push str.main
push 2
call fcn.00401210
add esp, 0x20
cmp byte [0x2389f32], 0
je 0x40942b
push str.Not_Finished_Successfully___There_were_ERRORS_n
push 0x10c2
jmp 0x409435
push str.All_Finished_Successfully_n
push 0x10c4
push str.main
push 2
call fcn.00401210
fldz
mov ecx, dword [0x238a740]
add esp, 0x10
sub esp, 8
fstp qword [esp]
push ecx
mov esi, 4
mov edx, 0x24f9a60
mov ecx, 0x297b420
call fcn.00413d80
add esp, 0xc
cmp byte [0x238a861], 0
je 0x409496
push str.config_
push str.config_
push str._n_n_nCreated__s._n_nNOTE:_You_dont_need_to_use___contentsxml_anymore._YOU_CAN_NOW_USE___sendxml_s_n_n
push 0x10ce
push str.main
push 2
call fcn.00401210
add esp, 0x18
cmp byte [0x2389f31], 0
je 0x4094ef
cmp dword [0x437408], ebx
jl 0x4094ef
push 0x42f210
push 0x10d4
push str.main
push 4
call fcn.00401210
mov eax, dword [0x437408]
imul eax, eax, 0x890
lea edx, [eax + 0x238ca08]
push edx
lea eax, [eax + 0x238c9c8]
push eax
push str.QSaharaServer.exe__p_.COM27__s_13:_s__b__s_n
push 0x10d5
push str.main
push 4
call fcn.00401210
add esp, 0x28
cmp byte [0x2389f32], 0
mov byte [0x43740c], 0
jne 0x40354d
push ebx
jmp 0x40354f
push str.Port_device_name_not_specified__Example:___port.COM19
push 0xfb4
push str.main
push 1
call fcn.00401210
add esp, 0x10
jmp 0x40354d
push str.ERROR:_Calling_getcwd___failed
call fcn.0041984f
add esp, 4
push esi
call fcn.0041a80c
int3