Function at 0x404a60
Capabilities:
Contain obfuscated stackstrings
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x380
lea esi, [esp + 0x20c]
mov dword [0x5364f4], 0x8000
mov dword [0x5364fc], 0x1000000
mov dword [0x536504], 0xf00000
mov dword [0x536508], 0x100
mov dword [0x53650c], 0x800
mov byte [esp + 0x7f], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [0x536b60], 0
mov dword [0x536b5c], 0x1100000
push 0x170
push 0x50c338
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push str.ANDROID_SERIAL
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
add esp, 4
mov dword [0x5364d8], eax
xor eax, eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc4], 0
mov ebx, eax
mov edi, 1
lea eax, [esp + 0xc8]
push eax
push esi
push str.a::hls:S:vw
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00464ec0
add esp, 0x14
lea ecx, [eax - 0x3f]
cmp ecx, 0x38
ja case.default.0x404b6f
mov al, 1
jmp dword [ecx*4 + section..rdata]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x5364e0
mov eax, dword [0x50f8ac]
push dword [eax]
call fcn.0040c190
add esp, 0x14
test al, al
mov eax, ebx
jne case.0x404b6f.119
jmp 0x407425
cmp eax, 0xffffffff
je 0x4051d3
test eax, eax
jne case.0x404b6f.64
mov eax, dword [esp + 0xc8]
mov byte [esp + 0x2b], bl
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0
shl eax, 4
mov esi, dword [esp + eax + 0x20c]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x407436
mov ebx, eax
cmp eax, 0xb
jae 0x404c77
mov eax, ebx
lea edi, [esp + 0x131]
add al, bl
test ebx, ebx
mov byte [esp + 0x130], al
jne 0x404caa
jmp 0x404cb5
mov eax, dword [0x50f8ac]
mov edx, dword [eax]
mov al, 1
mov dword [esp + 0xbc], eax
mov eax, ebx
test edx, edx
je case.0x404b6f.119
lea ecx, [esp + 0x60]
push edx
call fcn.0041cf50
mov eax, ebx
jmp case.0x404b6f.119
mov eax, dword [0x50f8ac]
mov eax, dword [eax]
mov dword [0x5364d8], eax
mov eax, ebx
jmp case.0x404b6f.119
call fcn.00422990
mov eax, ebx
jmp case.0x404b6f.119
mov byte [0x5364de], 1
mov eax, ebx
jmp case.0x404b6f.119
mov dword [esp + 4], esi
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.00416880
add esp, 4
or esi, 1
mov dword [esp + 0x138], eax
mov edi, eax
mov dword [esp + 0x130], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x134], ebx
push ebx
push esi
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
lea edi, [esp + 0x130]
movzx ecx, byte [esp + 0x130]
mov edx, dword [esp + 0x134]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 4
jne 0x404d10
mov ecx, edi
push 4
push str.base
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x404e1e
movzx eax, byte [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 7
jne 0x404d4c
mov ecx, edi
push 7
push str.cmdline
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x404e60
movzx eax, byte [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0x14
jne 0x404d88
mov ecx, edi
push 0x14
push str.disable_verification
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x404e73
movzx eax, byte [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0xe
lea esi, [esp + 0x20c]
jne 0x404dcb
mov ecx, edi
push 0xe
push str.disable_verity
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x404e96
movzx eax, byte [esp + 0x130]
mov edx, dword [esp + 0x134]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 5
jne 0x404def
mov ecx, edi
push 5
push str.force
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x404ecb
push str.header_version
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404e38
push 0
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x536510], eax
jmp 0x404f1a
push 0x10
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x536238], eax
jmp 0x404e7a
push 0x50c30e
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404e9f
mov ecx, 0x5364b4
mov eax, dword [0x50f8ac]
push dword [eax]
call fcn.0041cf50
jmp 0x404f1a
mov eax, dword [0x50f8ac]
mov ecx, 0x5364a8
push dword [eax]
call fcn.0041cf50
jmp 0x404e7a
mov byte [0x5364dc], 1
mov bl, 1
lea esi, [esp + 0x20c]
test byte [esp + 0x130], 1
jne 0x404f26
jmp 0x404f35
mov byte [0x5364dd], 1
jmp 0x404f1a
push str.kernel_offset
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404ed2
push 0x10
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5364f4], eax
jmp 0x404f1a
mov byte [esp + 0x7f], 1
jmp 0x404f1a
push str.os_patch_level
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404ef7
mov eax, dword [0x50f8ac]
push dword [eax]
push 0x5364e8
call 0x4074f0
jmp 0x404f1a
push str.os_version
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404f47
mov eax, dword [0x50f8ac]
push dword [eax]
push 0x5364e8
call fcn.004075a0
mov bl, 1
test byte [esp + 0x130], 1
je 0x404f35
push dword [esp + 0x138]
call fcn.00416a20
add esp, 4
test bl, bl
movzx eax, byte [esp + 0x2b]
jne case.0x404b6f.119
jmp 0x405313
push str.page_size
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404f7c
push 0
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov bl, 1
test eax, eax
mov dword [0x53650c], eax
jne 0x404f1c
jmp 0x407442
push str.ramdisk_offset
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404fab
push 0x10
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5364fc], eax
jmp 0x404f1a
mov bl, 1
push str.skip_reboot
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x404fdb
mov al, 1
mov dword [esp + 0xc4], eax
test byte [esp + 0x130], 1
jne 0x404f26
jmp 0x404f35
mov bl, 1
push str.skip_secondary
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x40500b
mov al, 1
mov dword [esp + 0xc0], eax
test byte [esp + 0x130], 1
jne 0x404f26
jmp 0x404f35
push str.slot
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x405029
lea ecx, [esp + 0x90]
jmp 0x404e4f
push str.dtb_offset
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x405062
push 0x10
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x536b5c], eax
mov dword [0x536b60], 0
jmp 0x404f1a
push str.tags_offset
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x405091
push 0x10
push 0
mov eax, dword [0x50f8ac]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x536508], eax
jmp 0x404f1a
push str.unbuffered
lea eax, [esp + 0x134]
push eax
call fcn.0040bff0
add esp, 8
test al, al
je 0x4050e2
push 1
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edi, eax
call eax
add esp, 4
push 0
push 4
push 0
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_setvbuf
add esp, 0x10
push 2
call edi
add esp, 4
push 0
push 4
push 0
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_setvbuf
add esp, 0x10
jmp 0x404f1a
push str.version
lea eax, [esp + 0x134]
push eax
call fcn.0040bff0
add esp, 8
test al, al
je 0x40744c
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov edi, eax
lea eax, [esp + 0xd8]
push eax
call fcn.004014f0
add esp, 4
test byte [esp + 0xd8], 1
lea eax, [esp + 0xd9]
je 0x405134
mov eax, dword [esp + 0xe0]
push eax
push str.29.0.5
push str.fastboot_version__s__s_n
push edi
call fcn.0040c070
add esp, 0x10
test byte [esp + 0xd8], 1
je 0x405161
push dword [esp + 0xe0]
call fcn.00416a20
add esp, 4
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov edi, eax
lea eax, [esp + 0xd8]
push eax
call fcn.00422300
add esp, 4
test byte [esp + 0xd8], 1
lea eax, [esp + 0xd9]
je 0x405196
mov eax, dword [esp + 0xe0]
push eax
push str.Installed_as__s_n
push edi
call fcn.0040c070
add esp, 0xc
test byte [esp + 0xd8], 1
je 0x4051be
push dword [esp + 0xe0]
call fcn.00416a20
add esp, 4
xor ebx, ebx
test byte [esp + 0x130], 1
jne 0x404f26
jmp 0x404f35
mov eax, dword [0x50f8b0]
mov ecx, ebx
mov edx, dword [eax]
mov eax, dword [ebp + 8]
sub eax, edx
or cl, byte [esp + 0xbc]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x5c], edx
lea ecx, [ecx + edx*4]
mov dword [esp + 4], ecx
jne 0x40520b
test eax, eax
jne 0x40520b
push str.no_command
call fcn.00407800
add esp, 4
jmp 0x405241
test eax, eax
jle 0x405241
mov eax, dword [esp + 4]
mov esi, dword [eax]
push str.devices
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x405604
push str.help
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je case.0x404b6f.104
call fcn.00407860
test eax, eax
je case.0x404b6f.63
mov esi, eax
lea edx, [esp + 0x1c0]
lea ecx, [esp + 0xd8]
lea edi, [esp + 0xf0]
lea eax, [esp + 0x108]
mov dword [esp + 0xd8], 0x50f6a4
mov dword [esp + 0xdc], 0x407bd0
mov byte [esp + 0x2b], bl
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xf0], 0x50f7ec
mov dword [esp + 0xf4], 0x407c10
mov dword [esp + 0x100], edi
mov dword [esp + 0x108], 0x50f6a4
mov dword [esp + 0x10c], 0x407cd0
mov dword [esp + 0x118], eax
mov dword [esp + 0x1d0], edx
push edx
call fcn.00416710
mov ecx, dword [esp + 0x100]
lea edx, [esp + 0x1d8]
test ecx, ecx
je 0x40534d
cmp edi, ecx
je 0x40535c
mov eax, dword [ecx]
mov ebx, edx
call dword [eax + 8]
mov dword [esp + 0x1e8], eax
jmp 0x40536b
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.usage:_fastboot__OPTION...__COMMAND..._n_nflashing:_n_update_ZIP_________________Flash_all_partitions_from_an_update.zip_package._n_flashall___________________Flash_all_partitions_from__ANDROID_PRODUCT_OUT._n____________________________On_A_B_devices__flashed_slot_is_set_as_active._n____________________________Secondary_images_may_be_flashed_to_inactive_slot._n_flash_PARTITION__FILENAME__Flash_given_partition__using_the_image_from_n_____________________________ANDROID_PRODUCT_OUT_if_no_filename_is_given._n_nbasics:_n_devices___l________________List_devices_in_bootloader___l:_with_device_paths_._n_getvar_NAME________________Display_given_bootloader_variable._n_reboot__bootloader_________Reboot_device._n_nlocking_unlocking:_n_flashing_lockunlock_______Lock_unlock_partitions_for_flashing_n_flashing_lock_criticalunlock_critical_n____________________________Lock_unlock_critical_bootloader_partitions._n_flashing_get_unlock_ability_n____________________________Check_whether_unlocking_is_allowed__1__or_not_0_._n_nadvanced:_n_erase_PARTITION____________Erase_a_flash_partition._n_format_:FS_TYPE_:SIZE___PARTITION_n____________________________Format_a_flash_partition._n_set_active_SLOT____________Set_the_active_slot._n_oem__COMMAND...____________Execute_OEM_specific_command._n_gsi_wipedisable___________Wipe_or_disable_a_GSI_installation__fastbootd_only_._n_wipe_super__SUPER_EMPTY____Wipe_the_super_partition._This_will_reset_it_to_n____________________________contain_an_empty_set_of_default_dynamic_partitions._n_nboot_image:_n_boot_KERNEL__RAMDISK__SECOND___n____________________________Download_and_boot_kernel_from_RAM._n_flash:raw_PARTITION_KERNEL__RAMDISK__SECOND___n____________________________Create_boot_image_and_flash_it._n___dtb_DTB__________________Specify_path_to_DTB_for_boot_image_header_version_2._n___cmdline_CMDLINE__________Override_kernel_command_line._n___base_ADDRESS_____________Set_kernel_base_address__default:_0x10000000_._n___kernel_offset____________Set_kernel_offset__default:_0x00008000_._n___ramdisk_offset___________Set_ramdisk_offset__default:_0x01000000_._n___tags_offset______________Set_tags_offset__default:_0x00000100_._n___dtb_offset_______________Set_dtb_offset__default:_0x01100000_._n___page_size_BYTES__________Set_flash_page_size__default:_2048_._n___header_version_VERSION___Set_boot_image_header_version._n___os_version_MAJOR_.MINOR_.PATCH___n____________________________Set_boot_image_OS_version__default:_0.0.0_._n___os_patch_level_YYYY_MM_DD_n____________________________Set_boot_image_OS_security_patch_level._n_nAndroid_Things:_n_stage_IN_FILE______________Sends_given_file_to_stage_for_the_next_command._n_get_staged_OUT_FILE________Writes_data_staged_by_the_last_command_to_a_file._n_noptions:_n__w_________________________Wipe_userdata._n__s_SERIAL__________________Specify_a_USB_device._n__s_tcpudp:HOST_:PORT______Specify_a_network_device._n__S_SIZE_KMG______________Break_into_sparse_files_no_larger_than_SIZE._n___force____________________Force_a_flash_operation_that_may_be_unsafe._n___slot_SLOT________________Use_SLOT__all_for_both_slots__other_for_n____________________________non_current_slot__default:_current_active_slot_._n___set_active_SLOT_________Sets_the_active_slot_before_rebooting._n___skip_secondary___________Dont_flash_secondary_slots_in_flashall_update._n___skip_reboot______________Dont_reboot_device_after_flashing._n___disable_verity___________Sets_disable_verity_when_flashing_vbmeta._n___disable_verification_____Sets_disable_verification_when_flashing_vbmeta._n___unbuffered_______________Dont_buffer_input_or_output._n___verbose___v______________Verbose_output._n___version__________________Display_version._n___help___h_________________Show_this_message._n
push eax
call fcn.0040c070
add esp, 8
xor edi, edi
test byte [esp + 0x60], 1
je 0x405328
push dword [esp + 0x68]
call fcn.00416a20
add esp, 4
test byte [esp + 0x90], 1
je 0x405341
push dword [esp + 0x98]
call fcn.00416a20
add esp, 4
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov ebx, edx
mov dword [esp + 0x1e8], 0
jmp 0x40536b
mov dword [esp + 0x1e8], edx
mov ebx, edx
mov eax, dword [ecx]
push edx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x118]
lea edi, [esp + 0x1f0]
test ecx, ecx
je 0x405396
lea eax, [esp + 0x108]
cmp eax, ecx
je 0x4053a3
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x200], eax
jmp 0x4053b0
mov dword [esp + 0x200], 0
jmp 0x4053b0
mov dword [esp + 0x200], edi
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
lea ecx, [esp + 0x130]
push 0
lea eax, [esp + 0x1c4]
push eax
push esi
call fcn.0045c150
mov ecx, dword [esp + 0x200]
cmp edi, ecx
je 0x4053e1
mov esi, dword [esp + 4]
test ecx, ecx
je 0x4053ea
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4053ea
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x1e8]
cmp ebx, ecx
je 0x405400
test ecx, ecx
je 0x405405
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x405405
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esp + 0x1d0]
lea eax, [esp + 0x1c0]
cmp eax, ecx
je 0x405425
mov ebx, dword [ebp + 8]
test ecx, ecx
je 0x40542d
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x40542d
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x130]
mov dword [0x5364cc], eax
call fcn.004228d0
fstp qword [esp + 0x1a0]
movzx eax, byte [esp + 0x90]
movsd xmm0, qword [esp + 0x1a0]
test al, 1
movsd qword [esp + 0x190], xmm0
je 0x405470
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x405491
jmp 0x405476
shr eax, 1
test eax, eax
jne 0x405491
lea ecx, [esp + 0x90]
push 0
push 0x50c0f0
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x40550f
lea ecx, [esp + 0x38]
lea edx, [esp + 0x90]
push 1
call fcn.00407d00
add esp, 4
test byte [esp + 0x90], 1
jne 0x4054bc
mov word [esp + 0x90], 0
jmp 0x4054f5
mov eax, dword [esp + 0x98]
mov byte [eax], 0
mov dword [esp + 0x94], 0
test byte [esp + 0x90], 1
je 0x4054f5
push dword [esp + 0x98]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0x98], eax
movsd qword [esp + 0x90], xmm0
movzx eax, byte [esp + 0x60]
test al, 1
je 0x405522
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x405540
jmp 0x405528
shr eax, 1
test eax, eax
jne 0x405540
lea ecx, [esp + 0x60]
push 0
push 0x50c0f0
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x4055a0
lea ecx, [esp + 0x38]
lea edx, [esp + 0x60]
push 0
call fcn.00407d00
add esp, 4
test byte [esp + 0x60], 1
jne 0x405562
mov word [esp + 0x60], 0
jmp 0x40558c
mov eax, dword [esp + 0x68]
mov byte [eax], 0
mov dword [esp + 0x64], 0
test byte [esp + 0x60], 1
je 0x40558c
push dword [esp + 0x68]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
cmp byte [esp + 0xbc], 0
je 0x40569d
movzx eax, byte [esp + 0x60]
test al, 1
je 0x4055c5
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x40569d
jmp 0x4055cf
shr eax, 1
test eax, eax
jne 0x40569d
lea ecx, [esp + 0x60]
push 0
push 0x50c0f0
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
jne 0x40569d
movzx eax, byte [esp + 0x90]
test al, 1
je 0x405615
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40563a
jmp 0x40561b
push 0
push 0x40a270
call fcn.00465570
jmp 0x405310
shr eax, 1
test eax, eax
jne 0x40563a
lea ecx, [esp + 0x90]
push 0
push 0x50c0f0
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x407332
lea ecx, [esp + 0x38]
lea edx, [esp + 0x90]
push 0
call fcn.00407d00
add esp, 4
test byte [esp + 0x60], 1
jne 0x40565f
mov word [esp + 0x60], 0
jmp 0x405689
mov eax, dword [esp + 0x68]
mov byte [eax], 0
mov dword [esp + 0x64], 0
test byte [esp + 0x60], 1
je 0x405689
push dword [esp + 0x68]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
lea eax, [eax + ebx*4]
sub eax, esi
je 0x406de5
sar eax, 2
cmp eax, 0x15555556
jae 0x40746e
shl eax, 2
lea edi, [eax + eax*2]
push edi
call fcn.00416880
add esp, 4
mov dword [esp + 0x30], eax
mov esi, eax
mov dword [esp + 0x2c], eax
add edi, eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x34], edi
cmp eax, ebx
je 0x406de5
shl ebx, 2
shl eax, 2
sub ebx, eax
mov eax, dword [esp + 4]
jmp 0x40576e
mov dword [esp + 0x5c], ebx
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
mov dword [esp + 0xb0], ecx
call fcn.00416880
mov ecx, dword [esp + 0xb0]
add esp, 4
or ebx, 1
mov dword [esi + 8], eax
mov dword [esi], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esi + 4], ecx
mov esi, eax
push ecx
push edi
push esi
mov edi, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, edi
add esp, 0xc
mov byte [esi + ecx], 0
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x30]
add eax, 4
add esi, 0xc
add ebx, 0xfffffffc
mov dword [esp + 0x30], esi
je 0x4057b2
mov edi, dword [eax]
mov dword [esp + 4], eax
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi + 8], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x407467
mov ecx, eax
cmp eax, 0xb
jae 0x405710
mov eax, ecx
add al, cl
mov byte [esi], al
inc esi
test ecx, ecx
jne 0x405744
jmp 0x405753
cmp dword [esp + 0x2c], esi
je 0x406de5
lea eax, [esp + 9]
lea esi, [esp + 0x80]
lea ecx, [esp + 0x38]
mov dword [esp + 0x5c], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], eax
mov dword [esp + 4], ecx
jmp 0x40581e
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
je 0x406e0e
mov ecx, esi
lea edx, [esp + 0x2c]
mov ebx, esi
call fcn.00407f90
movzx edx, byte [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov eax, edx
mov esi, ecx
shr eax, 1
and dl, 1
cmove esi, eax
cmp esi, 6
jne 0x40587d
mov esi, ebx
mov ecx, ebx
push 6
push str.getvar
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x405b26
movzx eax, byte [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, eax
shr eax, 1
and dl, 1
test dl, dl
mov esi, ecx
cmove esi, eax
cmp esi, 5
mov esi, ebx
jne 0x4058bb
mov ecx, esi
push 5
push str.erase
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x405b6b
movzx eax, byte [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, eax
shr eax, 1
and dl, 1
test dl, dl
lea edx, [esp + 0x81]
je 0x4058cf
mov edx, dword [esp + 0x88]
mov eax, ecx
mov dword [esp + 0x128], str.format
mov dword [esp + 0x124], eax
mov dword [esp + 0x120], edx
mov dword [esp + 0x12c], 6
sub esp, 0x10
movsd xmm0, qword [esp + 0x138]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x130]
movsd qword [esp], xmm0
call fcn.0045ace0
add esp, 0x10
test al, al
je 0x4059c0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov word [esp + 0x38], 0x3a02
mov byte [esp + 0x3a], 0
push dword [esp + 4]
push esi
lea eax, [esp + 0x10]
push eax
call fcn.0045aa40
add esp, 0xc
test byte [esp + 0x38], 1
je 0x40596c
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea esi, [esp + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 1
jbe 0x405b4e
test byte [eax + 0xc], 1
jne 0x405bc7
add eax, 0xc
inc eax
jmp 0x405bca
movzx ecx, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 9
jne 0x405a10
mov ecx, ebx
push 9
push str.signature
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x405c1b
movzx eax, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 6
jne 0x405a4e
mov esi, ebx
mov ecx, ebx
push 6
push 0x50c5a8
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x405e20
movzx eax, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0x11
jne 0x405a8c
mov esi, ebx
mov ecx, ebx
push 0x11
push str.reboot_bootloader
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x40602b
movzx eax, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0xf
mov esi, ebx
jne 0x405aca
mov ecx, esi
push 0xf
push str.reboot_recovery
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x406047
movzx eax, byte [esp + 0x80]
mov edx, dword [esp + 0x84]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 0xf
jne 0x405aee
mov ecx, esi
push 0xf
push str.reboot_fastboot
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x4060ce
push str.continue
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x405d9a
mov ecx, dword [0x5364cc]
push 0
push 0
call fcn.0045c3d0
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
mov ebx, dword [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, ebx
call fcn.00407f90
mov ecx, ebx
mov edx, ebx
call fcn.00408070
test byte [esp + 0x38], 1
jne 0x406397
jmp 0x4063a3
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
jmp 0x405efd
lea edi, [esp + 8]
lea edx, [esp + 0x2c]
mov ecx, edi
call fcn.00407f90
mov ebx, dword [esp + 4]
mov ecx, edi
mov dword [esp + 0x38], 0x50e930
lea edx, [esp + 0x90]
mov dword [esp + 0x48], ebx
push 1
push ebx
call fcn.00403c60
add esp, 8
mov ecx, dword [esp + 0x48]
cmp ebx, ecx
je 0x405e07
test ecx, ecx
je 0x405e0c
mov eax, dword [ecx]
call dword [eax + 0x14]
test byte [esp + 8], 1
jne 0x405e17
jmp 0x4063a3
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x18]
push eax
call fcn.0041cf50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 3
jb 0x405efd
test byte [eax + 0x18], 1
jne 0x405ef0
add eax, 0x18
inc eax
jmp 0x405ef3
mov esi, dword [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.00407f90
lea eax, [esp + 8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
push eax
push esi
call fcn.004015e0
add esp, 8
test al, al
je 0x4074a7
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 8]
cmp eax, 0x100
jne 0x4074b4
mov ecx, dword [0x5364cc]
lea eax, [esp + 0x19]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x12
mov dword [esp + 0x20], 0
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov byte [esp + 0x22], 0
push 0
push 0
lea eax, [esp + 0x10]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.0045d080
test byte [esp + 0x18], 1
je 0x405cc9
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov esi, dword [0x5364cc]
lea eax, [esp + 0x19]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0x12
mov dword [esp + 0x20], 0
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov byte [esp + 0x22], 0
push 0x20
call fcn.00416880
add esp, 4
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], 0x21
mov dword [esp + 0x74], 0x14
mov dword [eax + 0x10], 0x65727574
mov dword [eax + 0xc], 0x616e6769
mov dword [eax + 8], 0x7320676e
mov dword [eax + 4], 0x696c6c61
mov dword [eax], 0x74736e69
mov byte [eax + 0x14], 0
mov ecx, esi
push 0
push 0
push 0
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0045c370
test byte [esp + 0x70], 1
je 0x405d6f
push dword [esp + 0x78]
call fcn.00416a20
add esp, 4
test byte [esp + 0x18], 1
je 0x405d82
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov eax, dword [esp + 8]
mov esi, ebx
test eax, eax
je 0x406390
mov dword [esp + 0xc], eax
push eax
jmp 0x406381
push str.boot
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406063
mov ecx, dword [esp + 4]
lea esi, [esp + 0x2c]
mov edx, esi
call fcn.00407f90
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
cmp eax, dword [esp + 0x30]
je 0x406162
lea ecx, [esp + 0x18]
mov edx, esi
call fcn.00407f90
test byte [esp + 8], 1
jne 0x40617f
mov word [esp + 8], 0
jmp 0x4061a9
mov eax, dword [ecx]
call dword [eax + 0x10]
test byte [esp + 8], 1
je 0x4063a3
push dword [esp + 0x10]
jmp 0x40639b
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov edx, ecx
sub edx, eax
cmp edx, 0xc
mov dl, 1
mov dword [esp + 0x5c], edx
jne 0x4064e3
mov ecx, dword [esp + 4]
lea edx, [esp + 0x2c]
call fcn.00407f90
movzx ecx, byte [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 0xa
jne 0x405e8e
mov ecx, dword [esp + 4]
push 0xa
push str.bootloader
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x4064aa
movzx eax, byte [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 8
jne 0x405eb4
mov ecx, dword [esp + 4]
push 8
push str.recovery
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
test eax, eax
je 0x4064b5
push str.fastboot
push dword [esp + 8]
call fcn.0040bff0
add esp, 8
test al, al
mov esi, ebx
je 0x406205
mov al, 1
mov dword [esp + 0x5c], 0
mov dword [esp + 0xb0], eax
test byte [esp + 0x38], 1
jne 0x4064cf
jmp 0x4064db
mov eax, dword [eax + 0x20]
lea ecx, [esp + 0x70]
push eax
call fcn.0041cf50
lea edi, [esp + 0xa0]
mov edx, esi
mov ecx, edi
call fcn.00407f90
mov esi, dword [esp + 4]
lea eax, [esp + 0x18]
mov dword [esp + 0x38], 0x50ea58
mov ecx, edi
lea edx, [esp + 0x90]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], esi
push 1
push esi
call fcn.00403c60
add esp, 8
mov ecx, dword [esp + 0x48]
cmp esi, ecx
je 0x405fe2
test ecx, ecx
je 0x405f56
mov eax, dword [ecx]
call dword [eax + 0x14]
test byte [esp + 0xa0], 1
jne 0x405ff5
test byte [esp + 0x70], 1
jne 0x40600f
test byte [esp + 0x18], 1
je 0x405f82
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov esi, dword [esp + 8]
test esi, esi
je 0x405fcd
mov eax, dword [esp + 0xc]
cmp eax, esi
jne 0x405fa6
mov eax, esi
jmp 0x405fc0
cmp esi, edi
mov eax, edi
je 0x405fbc
test byte [eax - 0xc], 1
lea edi, [eax - 0xc]
je 0x405fa0
push dword [eax - 4]
call fcn.00416a20
add esp, 4
jmp 0x405fa0
mov eax, dword [esp + 8]
mov dword [esp + 0xc], esi
push eax
call fcn.00416a20
add esp, 4
mov esi, ebx
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
mov eax, dword [ecx]
call dword [eax + 0x10]
test byte [esp + 0xa0], 1
je 0x405f64
push dword [esp + 0xa8]
call fcn.00416a20
add esp, 4
test byte [esp + 0x70], 1
je 0x405f6f
push dword [esp + 0x78]
call fcn.00416a20
add esp, 4
test byte [esp + 0x18], 1
jne 0x405f76
jmp 0x405f82
mov al, 1
mov dword [esp + 0xb8], eax
test byte [esp + 0x80], 1
jne 0x4063b1
jmp 0x405810
mov al, 1
mov dword [esp + 0xb4], eax
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
push str.flash
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x4060ea
lea edi, [esp + 8]
lea ebx, [esp + 0x2c]
mov ecx, edi
mov edx, ebx
call fcn.00407f90
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
cmp eax, dword [esp + 0x30]
je 0x4063c5
mov ecx, dword [esp + 4]
mov edx, ebx
call fcn.00407f90
test byte [esp + 0x18], 1
jne 0x4063db
mov word [esp + 0x18], 0
jmp 0x406405
mov al, 1
mov dword [esp + 0xb0], eax
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
push str.flash:raw
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406238
lea ebx, [esp + 0x2c]
lea ecx, [esp + 8]
mov edx, ebx
call fcn.00407f90
lea ecx, [esp + 0x18]
mov edx, ebx
call fcn.00407f90
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
cmp eax, dword [esp + 0x30]
je 0x406595
mov ecx, dword [esp + 4]
mov edx, ebx
call fcn.00407f90
test byte [esp + 0x70], 1
jne 0x4065bb
mov word [esp + 0x70], 0
jmp 0x4065e5
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
jmp 0x4062de
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov dword [esp + 0xc], 0
test byte [esp + 8], 1
je 0x4061a9
push dword [esp + 0x10]
call fcn.00416a20
add esp, 4
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
movsd xmm0, qword [esp + 0x18]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
movsd qword [esp + 8], xmm0
je 0x4062de
lea ecx, [esp + 0x70]
mov edx, esi
call fcn.00407f90
test byte [esp + 0x18], 1
jne 0x4062a0
mov word [esp + 0x18], 0
jmp 0x4062ca
test byte [esp + 0x38], 1
lea eax, [esp + 0x39]
je 0x406214
mov eax, dword [esp + 0x40]
push eax
push str.unknown_reboot_target__s
call fcn.00407800
add esp, 8
mov al, 1
mov dword [esp + 0x5c], eax
test byte [esp + 0x38], 1
jne 0x4064cf
jmp 0x4064db
push str.flashall
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x40650b
push 0x50c161
lea edi, [esp + 0x94]
push edi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406652
xor ebx, ebx
cmp byte [esp + 0x2b], 0
setne bl
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Warning:_slot_set_to_all._Secondary_slots_will_not_be_flashed._n
push eax
call fcn.0040c070
add esp, 8
mov ecx, edi
mov edx, 1
push ebx
call fcn.00408690
jmp 0x4068f9
mov eax, dword [esp + 0x20]
mov byte [eax], 0
mov dword [esp + 0x1c], 0
test byte [esp + 0x18], 1
je 0x4062ca
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x70]
mov dword [esp + 0x20], eax
movsd qword [esp + 0x18], xmm0
mov edx, dword [esp + 4]
lea edi, [esp + 0x70]
lea eax, [esp + 0x18]
mov ecx, edi
push eax
lea eax, [esp + 0xc]
push eax
call fcn.004081d0
add esp, 8
mov esi, dword [0x5364cc]
lea edi, [esp + 0xa0]
mov ecx, edi
push str.boot.img
call fcn.0040bf70
mov ecx, esi
push 0
push 0
lea eax, [esp + 0x78]
push eax
push edi
call fcn.0045d080
test byte [esp + 0xa0], 1
je 0x40633d
push dword [esp + 0xa8]
call fcn.00416a20
add esp, 4
mov ecx, dword [0x5364cc]
push 0
push 0
call fcn.0045c290
mov eax, dword [esp + 0x70]
test eax, eax
je 0x406361
mov dword [esp + 0x74], eax
push eax
call fcn.00416a20
add esp, 4
test byte [esp + 0x18], 1
mov esi, ebx
je 0x406376
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
test byte [esp + 8], 1
je 0x406390
push dword [esp + 0x10]
call fcn.00416a20
add esp, 4
nop dword [eax]
test byte [esp + 0x38], 1
je 0x4063a3
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
test byte [esp + 0x80], 1
je 0x405810
push dword [esp + 0x88]
call fcn.00416a20
add esp, 4
jmp 0x405810
mov ecx, dword [esp + 4]
mov edx, edi
call fcn.00408530
test byte [esp + 0x18], 1
je 0x4060c2
mov eax, dword [esp + 0x20]
mov byte [eax], 0
mov dword [esp + 0x1c], 0
test byte [esp + 0x18], 1
je 0x406405
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 4]
movsd xmm0, qword [ecx]
mov eax, dword [ecx + 8]
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x18]
test al, 1
je 0x406430
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x40643a
jmp 0x407477
shr eax, 1
test eax, eax
je 0x407477
mov ebx, dword [esp + 4]
lea eax, [esp + 0x7f]
mov dword [esp + 0x38], 0x50eb40
lea ecx, [esp + 8]
lea edx, [esp + 0x90]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebx
push 1
push ebx
call fcn.00403c60
add esp, 8
mov ecx, dword [esp + 0x48]
cmp ebx, ecx
je 0x406495
test ecx, ecx
je 0x4067df
mov eax, dword [ecx]
call dword [eax + 0x14]
test byte [esp + 0x18], 1
je 0x405e0c
jmp 0x4067ea
mov eax, dword [ecx]
call dword [eax + 0x10]
test byte [esp + 0x18], 1
je 0x405e0c
jmp 0x4067ea
mov al, 1
mov dword [esp + 0xb8], eax
jmp 0x4064be
mov al, 1
mov dword [esp + 0xb4], eax
mov dword [esp + 0x5c], 0
mov esi, ebx
test byte [esp + 0x38], 1
je 0x4064db
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x4063a3
push str.junk_after_reboot_command
call fcn.00407800
add esp, 4
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
push str.update
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406676
push 0x50c161
lea eax, [esp + 0x94]
push eax
call fcn.0040bff0
add esp, 8
mov ebx, eax
test al, al
je 0x406555
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.Warning:_slot_set_to_all._Secondary_slots_will_not_be_flashed._n
push eax
call fcn.0040c070
add esp, 8
mov ecx, dword [esp + 4]
push str.update.zip
call fcn.0040bf70
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 8]
cmp eax, dword [esp + 0x30]
je 0x4068bc
lea edx, [esp + 0x2c]
call fcn.00407f90
test byte [esp + 0x38], 1
jne 0x40687e
mov word [esp + 0x38], 0
jmp 0x4068a8
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
jmp 0x406734
mov eax, dword [esp + 0x78]
mov byte [eax], 0
mov dword [esp + 0x74], 0
test byte [esp + 0x70], 1
je 0x4065e5
push dword [esp + 0x78]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x78], eax
movsd qword [esp + 0x70], xmm0
je 0x406734
mov ecx, dword [esp + 4]
lea edx, [esp + 0x2c]
call fcn.00407f90
test byte [esp + 0xa0], 1
jne 0x4066e1
mov word [esp + 0xa0], 0
jmp 0x40671a
xor eax, eax
cmp byte [esp + 0x2b], 0
mov ecx, dword [esp + 0xc0]
setne al
and cl, 1
movzx edx, cl
mov ecx, edi
push eax
call fcn.00408690
jmp 0x4068f9
push str.set_active
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406806
lea edi, [esp + 8]
lea edx, [esp + 0x2c]
mov ecx, edi
call fcn.00407f90
mov ecx, dword [esp + 4]
mov edx, edi
push 0
call fcn.00407d00
add esp, 4
test byte [esp + 8], 1
je 0x4066be
push dword [esp + 0x10]
call fcn.00416a20
add esp, 4
mov ecx, dword [0x5364cc]
push 0
push 0
push dword [esp + 0xc]
call fcn.0045cf50
test byte [esp + 0x38], 1
jne 0x406397
jmp 0x4063a3
mov eax, dword [esp + 0xa8]
mov byte [eax], 0
mov dword [esp + 0xa4], 0
test byte [esp + 0xa0], 1
je 0x40671a
push dword [esp + 0xa8]
call fcn.00416a20
add esp, 4
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x40]
movsd xmm0, qword [esp + 0x38]
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
lea edi, [esp + 0x1b4]
lea eax, [esp + 0xa0]
lea edx, [esp + 0x18]
mov ecx, edi
push eax
lea eax, [esp + 0x74]
push eax
call fcn.004081d0
add esp, 8
mov ebx, dword [esp + 4]
lea ecx, [esp + 8]
mov dword [esp + 0x38], 0x50ed0c
mov dword [esp + 0x3c], edi
lea edx, [esp + 0x90]
mov dword [esp + 0x48], ebx
push 1
push ebx
call fcn.00403c60
add esp, 8
mov ecx, dword [esp + 0x48]
cmp ebx, ecx
je 0x406793
test ecx, ecx
je 0x406798
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x406798
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x4067b3
mov dword [esp + 0x1b8], eax
push eax
call fcn.00416a20
add esp, 4
test byte [esp + 0xa0], 1
je 0x4067cc
push dword [esp + 0xa8]
call fcn.00416a20
add esp, 4
test byte [esp + 0x70], 1
je 0x4067df
push dword [esp + 0x78]
call fcn.00416a20
add esp, 4
test byte [esp + 0x18], 1
je 0x405e0c
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
test byte [esp + 8], 1
jne 0x405e17
jmp 0x4063a3
push str.stage
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406915
lea ebx, [esp + 8]
lea edx, [esp + 0x2c]
mov ecx, ebx
call fcn.00407f90
test byte [esp + 8], 1
lea ecx, [esp + 9]
je 0x40683a
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
call fcn.00408960
test al, al
je 0x407484
cmp dword [esp + 0x38], 0
jne 0x407484
mov ecx, dword [0x5364cc]
push 0
push 0
push dword [esp + 0x48]
push dword [esp + 0x54]
push ebx
call fcn.0045d140
test byte [esp + 8], 1
jne 0x405e17
jmp 0x4063a3
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov dword [esp + 0x3c], 0
test byte [esp + 0x38], 1
je 0x4068a8
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 8]
mov dword [esp + 0x40], eax
movsd qword [esp + 0x38], xmm0
mov eax, dword [esp + 0xc0]
and al, 1
test byte [esp + 0x38], 1
lea ecx, [esp + 0x39]
je 0x4068d4
mov ecx, dword [esp + 0x40]
or al, bl
lea edx, [esp + 0x90]
movzx eax, al
push eax
call fcn.004087e0
add esp, 4
test byte [esp + 0x38], 1
je 0x4068fc
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov al, 1
mov dword [esp + 0x5c], eax
test byte [esp + 0x80], 1
je 0x405810
jmp 0x4063b1
push str.get_staged
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406956
mov ebx, dword [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, ebx
call fcn.00407f90
mov ecx, dword [0x5364cc]
push 0
push 0
push ebx
call fcn.0045e620
test byte [esp + 0x38], 1
jne 0x406397
jmp 0x4063a3
push 0x50c70b
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406993
mov ebx, dword [esp + 4]
mov ecx, ebx
push 0x50c70b
call fcn.0040bf70
mov ecx, ebx
lea edx, [esp + 0x2c]
call fcn.00408a40
test byte [esp + 0x38], 1
jne 0x406397
jmp 0x4063a3
push str.flashing
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406a59
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
je 0x406ae2
sub ecx, eax
cmp ecx, 0xc
jne 0x406cfe
push str.unlock
push eax
call fcn.0040bff0
add esp, 8
test al, al
jne 0x406a2e
push str.lock
push dword [esp + 0x30]
call fcn.0040bff0
add esp, 8
test al, al
jne 0x406a2e
push str.unlock_critical
push dword [esp + 0x30]
call fcn.0040bff0
add esp, 8
test al, al
jne 0x406a2e
push str.lock_critical
push dword [esp + 0x30]
call fcn.0040bff0
add esp, 8
test al, al
jne 0x406a2e
push str.get_unlock_ability
push dword [esp + 0x30]
call fcn.0040bff0
add esp, 8
test al, al
je 0x406cfa
mov esi, dword [esp + 4]
mov ecx, esi
push str.flashing
call fcn.0040bf70
mov ecx, esi
lea edx, [esp + 0x2c]
call fcn.00408a40
test byte [esp + 0x38], 1
je 0x405fcd
jmp 0x406b4e
push str.create_logical_partition
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406aa8
mov edi, dword [esp + 4]
lea esi, [esp + 0x2c]
mov edx, esi
mov ecx, edi
call fcn.00407f90
lea esi, [esp + 8]
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.00407f90
mov ecx, dword [0x5364cc]
push esi
push edi
call fcn.0045c4c0
test byte [esp + 8], 1
jne 0x406b37
jmp 0x406b43
push str.delete_logical_partition
push ebx
call fcn.0040bff0
add esp, 8
test al, al
je 0x406af1
mov esi, dword [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.00407f90
mov ecx, dword [0x5364cc]
push esi
call fcn.0045c670
test byte [esp + 0x38], 1
je 0x405fcd
jmp 0x406b4e
push str.missing_flashing_command
call fcn.00407800
jmp 0x405fca
push str.resize_logical_partition
push ebx
call fcn.0040bff0
add esp, 8
test al, al
je 0x406b57
mov edi, dword [esp + 4]
lea esi, [esp + 0x2c]
mov edx, esi
mov ecx, edi
call fcn.00407f90
lea esi, [esp + 8]
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.00407f90
mov ecx, dword [0x5364cc]
push esi
push edi
call fcn.0045cda0
test byte [esp + 8], 1
je 0x406b43
push dword [esp + 0x10]
call fcn.00416a20
add esp, 4
test byte [esp + 0x38], 1
je 0x405fcd
push dword [esp + 0x40]
jmp 0x405fc5
push 0x50c7d9
push ebx
call fcn.0040bff0
add esp, 8
test al, al
je 0x406bb4
mov esi, dword [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, esi
call fcn.00407f90
push str.wipe
push esi
call fcn.0040bff0
add esp, 8
test al, al
je 0x406c14
mov esi, dword [0x5364cc]
lea edi, [esp + 8]
mov ecx, edi
push str.gsi:wipe
call fcn.0040bf70
lea eax, [esp + 0x18]
mov ecx, eax
push str.wiping_GSI
jmp 0x406c4e
push str.wipe_super
push ebx
call fcn.0040bff0
add esp, 8
test al, al
je 0x406c8f
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
cmp eax, dword [esp + 0x30]
je 0x406ccc
lea ecx, [esp + 8]
lea edx, [esp + 0x2c]
call fcn.00407f90
test byte [esp + 0x38], 1
jne 0x406d1c
mov word [esp + 0x38], 0
jmp 0x406d46
push str.disable
push dword [esp + 8]
call fcn.0040bff0
add esp, 8
test al, al
je 0x406caf
mov esi, dword [0x5364cc]
lea edi, [esp + 8]
mov ecx, edi
push str.gsi:disable
call fcn.0040bf70
lea eax, [esp + 0x18]
mov ecx, eax
push str.disabling_GSI
call fcn.0040bf70
mov ecx, esi
push 0
push 0
push 0
lea eax, [esp + 0x24]
push eax
push edi
call fcn.0045c370
test byte [esp + 0x18], 1
je 0x406c79
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
test byte [esp + 8], 1
je 0x406b43
push dword [esp + 0x10]
call fcn.00416a20
jmp 0x406cb9
test byte [esp + 0x80], 1
lea eax, [esp + 0x81]
je 0x406ca7
mov eax, dword [esp + 0x88]
push eax
push str.unknown_command__s
jmp 0x406d0f
push str.expected_wipe_or_disable
call fcn.00407800
add esp, 4
test byte [esp + 0x38], 1
je 0x405fcd
jmp 0x406b4e
lea esi, [esp + 0x18]
mov ecx, esi
push str.super_empty.img
call fcn.0040bf70
lea ecx, [esp + 8]
mov edx, esi
call fcn.00404890
test byte [esp + 0x38], 1
jne 0x406d5c
mov word [esp + 0x38], 0
jmp 0x406d86
mov eax, dword [esp + 0x2c]
test byte [eax], 1
jne 0x406d06
inc eax
jmp 0x406d09
mov eax, dword [eax + 8]
push eax
push str.unknown_flashing_command__s
call fcn.00407800
add esp, 8
jmp 0x405fcd
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov dword [esp + 0x3c], 0
test byte [esp + 0x38], 1
je 0x406d46
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 8]
mov dword [esp + 0x40], eax
movsd qword [esp + 0x38], xmm0
jmp 0x406dc5
mov eax, dword [esp + 0x40]
mov byte [eax], 0
mov dword [esp + 0x3c], 0
test byte [esp + 0x38], 1
je 0x406d86
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x38], 0
movsd xmm0, qword [esp + 8]
mov eax, dword [esp + 0x10]
test byte [esp + 0x18], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x40], eax
movsd qword [esp + 0x38], xmm0
je 0x406dc5
push dword [esp + 0x20]
call fcn.00416a20
add esp, 4
mov ecx, dword [esp + 4]
lea edx, [esp + 0x90]
call fcn.00408b90
test byte [esp + 0x38], 1
je 0x405fcd
jmp 0x406b4e
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x5c], 0
cmp byte [esp + 0x2b], 0
je 0x4070f8
mov eax, 0x6174656d
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x38], 0x10
mov dword [esp + 0x3d], 0x61746164
lea esi, [esp + 0x44]
lea edi, [esp + 0x50]
add eax, 0x10f10e08
mov dword [esp + 0x39], eax
mov byte [esp + 0x41], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov byte [esp + 0x44], 0xa
mov word [esp + 0x49], 0x65
mov dword [esp + 0x45], 0x68636163
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov byte [esp + 0x50], 0x10
mov dword [esp + 0x51], 0x6174656d
mov dword [esp + 0x55], 0x61746164
mov byte [esp + 0x59], 0
push 0x24
call fcn.00416880
add esp, 4
mov ebx, eax
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
call fcn.0041c200
lea ecx, [ebx + 0xc]
push esi
call fcn.0041c200
mov dword [esp + 0xac], ebx
lea ecx, [ebx + 0x18]
push edi
call fcn.0041c200
test byte [esp + 0x50], 1
je 0x406efb
push dword [esp + 0x58]
call fcn.00416a20
add esp, 4
test byte [esp + 0x44], 1
je 0x406f0e
push dword [esp + 0x4c]
call fcn.00416a20
add esp, 4
test byte [esp + 0x38], 1
mov edi, dword [esp + 0xac]
je 0x406f28
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov eax, 0x24
jmp 0x406f4c
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
mov eax, dword [esp + 4]
add edi, 0xc
add eax, 0xfffffff4
je 0x4070b6
mov ebx, dword [0x5364cc]
mov dword [esp + 4], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
push edi
push str.partition_type:
lea esi, [esp + 0x88]
push esi
call fcn.00420600
add esp, 0xc
mov ecx, ebx
push 0
lea eax, [esp + 0x3c]
push eax
push esi
call fcn.0045c970
test byte [esp + 0x80], 1
mov ebx, eax
je 0x406fae
push dword [esp + 0x88]
call fcn.00416a20
add esp, 4
movzx eax, byte [esp + 0x38]
test ebx, ebx
je 0x406fd0
test al, 1
jne 0x406f30
jmp 0x406f3c
test al, 1
je 0x406fde
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jne 0x406fe6
jmp 0x406fb7
mov ecx, eax
shr ecx, 1
test ecx, ecx
je 0x406fb7
mov ecx, dword [0x5364cc]
push 0
push 0
push edi
call fcn.0045c770
movzx eax, byte [edi]
test al, 1
je 0x407007
mov eax, dword [edi + 4]
cmp eax, 8
je 0x40700e
jmp 0x407020
shr eax, 1
cmp eax, 8
jne 0x407020
mov ecx, edi
push 8
push str.userdata
push 0xffffffffffffffff
push 0
call fcn.0041e0f0
lea eax, [esp + 8]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov ecx, edi
mov edx, 1
push eax
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x40]
push eax
call fcn.004094e0
add esp, 0xc
test byte [esp + 8], 1
je 0x40708d
push dword [esp + 0x10]
call fcn.00416a20
add esp, 4
test byte [esp + 0x80], 1
je 0x4070a6
push dword [esp + 0x88]
call fcn.00416a20
add esp, 4
test byte [esp + 0x38], 1
jne 0x406f30
jmp 0x406f3c
mov esi, dword [esp + 0xac]
test byte [esi + 0x18], 1
je 0x4070ce
push dword [esi + 0x20]
call fcn.00416a20
add esp, 4
test byte [esi + 0xc], 1
je 0x4070df
push dword [esi + 0x14]
call fcn.00416a20
add esp, 4
test byte [esi], 1
je 0x4070ef
push dword [esi + 8]
call fcn.00416a20
add esp, 4
push esi
call fcn.00416a20
add esp, 4
test byte [esp + 0xbc], 1
je 0x407116
mov ecx, dword [0x5364cc]
push 0
push 0
lea eax, [esp + 0x68]
push eax
call fcn.0045cf50
test byte [esp + 0xc4], 1
jne 0x40713c
mov eax, dword [esp + 0x5c]
and al, 1
je 0x40713c
mov ecx, dword [0x5364cc]
push 0
push 0
call fcn.0045cc10
jmp 0x407200
test byte [esp + 0xb8], 1
jne 0x407168
test byte [esp + 0xb4], 1
jne 0x4071c2
test byte [esp + 0xb0], 1
je 0x40720b
call fcn.004043c0
jmp 0x40720b
mov ecx, dword [0x5364cc]
mov byte [esp + 0xcc], 0x14
mov dword [esp + 0xcd], 0x746f6f62
mov dword [esp + 0xd1], 0x64616f6c
mov word [esp + 0xd5], 0x7265
mov byte [esp + 0xd7], 0
lea eax, [esp + 0xcc]
push 0
push 0
push eax
call fcn.0045ccf0
test byte [esp + 0xcc], 1
je 0x407200
push dword [esp + 0xd4]
jmp 0x4071f8
mov esi, dword [0x5364cc]
lea edi, [esp + 0x1a8]
mov ecx, edi
push str.recovery
call fcn.0040bf70
mov ecx, esi
push 0
push 0
push edi
call fcn.0045ccf0
test byte [esp + 0x1a8], 1
je 0x407200
push dword [esp + 0x1b0]
call fcn.00416a20
add esp, 4
mov ecx, dword [0x5364cc]
call fcn.0045ec50
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov esi, eax
call fcn.004228d0
fstp qword [esp + 0x198]
movsd xmm0, qword [esp + 0x198]
subsd xmm0, qword [esp + 0x190]
sub esp, 0x10
mov dword [esp], esi
movsd qword [esp + 8], xmm0
mov dword [esp + 4], str.Finished._Total_time:__.3fs_n
call fcn.0040c070
add esp, 0x10
mov ecx, dword [0x5364cc]
push 0
call fcn.0045f0d0
test eax, eax
je 0x40726a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x4072ad
mov eax, dword [esp + 0x30]
cmp eax, esi
jne 0x407286
mov eax, esi
jmp 0x4072a0
cmp esi, edi
mov eax, edi
je 0x40729c
test byte [eax - 0xc], 1
lea edi, [eax - 0xc]
je 0x407280
push dword [eax - 4]
call fcn.00416a20
add esp, 4
jmp 0x407280
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
push eax
call fcn.00416a20
add esp, 4
lea ecx, [esp + 0x130]
call fcn.0045c220
mov ecx, dword [esp + 0x118]
lea eax, [esp + 0x108]
cmp eax, ecx
je 0x4072dd
test ecx, ecx
lea esi, [esp + 0xf0]
je 0x4072e9
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4072e9
mov eax, dword [ecx]
call dword [eax + 0x10]
lea esi, [esp + 0xf0]
mov ecx, dword [esp + 0x100]
cmp esi, ecx
je 0x4072ff
test ecx, ecx
je 0x407304
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x407304
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0xd8]
cmp eax, ecx
je 0x407328
test ecx, ecx
je 0x405313
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x405313
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x405313
mov esi, dword [0x5364cc]
lea edi, [esp + 0x2c]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov ecx, edi
push str.current_slot
call fcn.0040bf70
lea eax, [esp + 0x38]
mov ecx, esi
push 0
push eax
push edi
call fcn.0045c970
test byte [esp + 0x2c], 1
mov esi, eax
je 0x407384
push dword [esp + 0x34]
call fcn.00416a20
add esp, 4
test esi, esi
mov esi, dword [esp + 4]
je 0x4073a4
mov dword [esp + 0xbc], 0
test byte [esp + 0x38], 1
je 0x40569d
jmp 0x40740f
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x38]
push 0
call fcn.00407d00
add esp, 4
test byte [esp + 0x60], 1
jne 0x4073c6
mov word [esp + 0x60], 0
jmp 0x4073f0
mov eax, dword [esp + 0x68]
mov byte [eax], 0
mov dword [esp + 0x64], 0
test byte [esp + 0x60], 1
je 0x4073f0
push dword [esp + 0x68]
call fcn.00416a20
add esp, 4
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x34]
movsd xmm0, qword [esp + 0x2c]
mov dword [esp + 0x68], eax
movsd qword [esp + 0x60], xmm0
test byte [esp + 0x38], 1
je 0x40569d
push dword [esp + 0x40]
call fcn.00416a20
add esp, 4
jmp 0x40569d
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
mov eax, dword [0x50f8ac]
push dword [eax]
push str.invalid_sparse_limit__s
call fcn.00422910
lea ecx, [esp + 0x130]
call fcn.0041bfb0
push str.invalid_page_size
call fcn.00422910
mov eax, dword [esp + 0xc8]
shl eax, 4
push dword [esp + eax + 0x20c]
push str.unknown_option__s
call fcn.00422910
mov ecx, esi
call fcn.0041bfb0
lea ecx, [esp + 0x2c]
call fcn.00465760
test byte [esp + 8], 1
je 0x4074bf
mov eax, dword [esp + 0x10]
jmp 0x4074c3
test byte [esp + 8], 1
je 0x407496
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
push dword [esp + 0xac]
push str.cannot_load__s
call fcn.00422910
test byte [esp + 0x38], 1
je 0x4074ce
mov esi, dword [esp + 0x40]
jmp 0x4074d2
push eax
push str.signature_must_be_256_bytes__got__zu_
call fcn.00422910
lea eax, [esp + 9]
push eax
push str.cannot_determine_image_filename_for__s
call fcn.00422910
lea esi, [esp + 0x39]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call sub.api_ms_win_crt_runtime_l1_1_0.dll_strerror
add esp, 4
push eax
push esi
push str.could_not_load__s:__s
call fcn.00422910
nop
push esi
sub esp, 0xc
mov esi, dword [esp + 0x18]
lea eax, [esp + 8]
mov ecx, esp
lea edx, [esp + 4]
push eax
push ecx
push edx
push str._u__u__u
push esi
call fcn.0040c090
add esp, 0x14
cmp eax, 3
je 0x407526
push esi
push str.OS_patch_level_should_be_YYYY_MM_DD:__s
call fcn.00407800
add esp, 8
mov eax, dword [esp + 4]
lea ecx, [eax - 0x7d0]
cmp ecx, 0x80
jb 0x407546
push eax
push str.year_out_of_range:__d
call fcn.00407800
add esp, 8
mov eax, dword [esp]
mov esi, dword [esp + 0x14]
lea ecx, [eax - 1]
cmp ecx, 0xc
jb 0x407566
push eax
push str.month_out_of_range:__d
call fcn.00407800
add esp, 8
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov edx, 0xfffff800
and eax, 0xf
and edx, dword [esi + 0x2c]
shl ecx, 4
add ecx, 0x300
and ecx, 0x7f0
or eax, ecx
or eax, edx
mov dword [esi + 0x2c], eax
add esp, 0xc
pop esi
ret 8