Function at 0x404db0
Capabilities:
Query environment variable
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3a0
lea esi, [esp + 0x22c]
mov dword [0x54951c], 0x8000
mov dword [0x549524], 0x1000000
mov dword [0x54952c], 0xf00000
mov dword [0x549530], 0x100
mov dword [0x549534], 0x800
mov byte [esp + 0x6b], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [0x549b88], 0
mov dword [0x549b84], 0x1100000
push 0x170
push 0x520338
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 [0x549500], eax
xor eax, eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
mov ebx, eax
mov edi, 1
lea eax, [esp + 0xd4]
push eax
push esi
push str.a::hls:S:vw
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0046a460
add esp, 0x14
lea ecx, [eax - 0x3f]
cmp ecx, 0x38
ja case.default.0x404ed3
mov al, 1
jmp dword [ecx*4 + section..rdata]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x549508
mov eax, dword [0x523bb8]
push dword [eax]
call fcn.0040ce00
add esp, 0x14
test al, al
mov eax, ebx
jne case.0x404ed3.119
jmp 0x407a55
cmp eax, 0xffffffff
mov byte [esp + 0x63], bl
je 0x405509
test eax, eax
jne case.0x404ed3.64
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x158], 0
shl eax, 4
mov esi, dword [esp + eax + 0x22c]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x407a66
mov ebx, eax
cmp eax, 0xb
jae 0x404fda
mov eax, ebx
lea edi, [esp + 0x151]
add al, bl
test ebx, ebx
mov byte [esp + 0x150], al
jne 0x40500d
jmp 0x405018
mov eax, dword [0x523bb8]
mov edx, dword [eax]
mov al, 1
mov dword [esp + 0xc8], eax
mov eax, ebx
test edx, edx
je case.0x404ed3.119
lea ecx, [esp + 0x80]
push edx
call fcn.0041ddc0
mov eax, ebx
jmp case.0x404ed3.119
mov eax, dword [0x523bb8]
mov eax, dword [eax]
mov dword [0x549500], eax
mov eax, ebx
jmp case.0x404ed3.119
call fcn.004237f0
mov eax, ebx
jmp case.0x404ed3.119
mov byte [0x549506], 1
mov eax, ebx
jmp case.0x404ed3.119
mov dword [esp + 0x6c], esi
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.00417780
add esp, 4
or esi, 1
mov dword [esp + 0x158], eax
mov edi, eax
mov dword [esp + 0x150], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x154], 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 + 0x150]
movzx ecx, byte [esp + 0x150]
mov edx, dword [esp + 0x154]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 4
jne 0x405073
mov ecx, edi
push 4
push str.base
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x405181
movzx eax, byte [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 7
jne 0x4050af
mov ecx, edi
push 7
push str.cmdline
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4051c3
movzx eax, byte [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0x14
jne 0x4050eb
mov ecx, edi
push 0x14
push str.disable_verification
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4051d6
movzx eax, byte [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0xe
lea esi, [esp + 0x22c]
jne 0x40512e
mov ecx, edi
push 0xe
push str.disable_verity
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4051eb
movzx eax, byte [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 5
jne 0x405152
mov ecx, edi
push 5
push str.force
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x405220
push str.header_version
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x40519b
push 0
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x549538], eax
jmp 0x40526f
push 0x10
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x549268], eax
jmp 0x4051dd
push 0x52030e
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4051f4
mov eax, dword [0x523bb8]
mov ecx, 0x5494dc
push dword [eax]
call fcn.0041ddc0
jmp 0x40526f
mov eax, dword [0x523bb8]
mov ecx, 0x5494d0
push dword [eax]
call fcn.0041ddc0
jmp 0x4051dd
mov byte [0x549504], 1
mov bl, 1
lea esi, [esp + 0x22c]
jmp 0x405271
mov byte [0x549505], 1
jmp 0x40526f
push str.kernel_offset
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x405227
push 0x10
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x54951c], eax
jmp 0x40526f
mov byte [esp + 0x6b], 1
jmp 0x40526f
push str.os_patch_level
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x40524c
mov eax, dword [0x523bb8]
push dword [eax]
push 0x549510
call 0x407b20
jmp 0x40526f
push str.os_version
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x40529c
mov eax, dword [0x523bb8]
push dword [eax]
push 0x549510
call fcn.00407be0
mov bl, 1
test byte [esp + 0x150], 1
je 0x40528a
push dword [esp + 0x158]
call fcn.00417920
add esp, 4
test bl, bl
movzx eax, byte [esp + 0x63]
jne case.0x404ed3.119
jmp 0x4056db
push str.page_size
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4052d1
push 0
push 0
mov eax, dword [0x523bb8]
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 [0x549534], eax
jne 0x405271
jmp 0x407a72
push str.ramdisk_offset
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x405300
push 0x10
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x549524], eax
jmp 0x40526f
mov bl, 1
push str.skip_reboot
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x405322
mov al, 1
mov dword [esp + 0xd8], eax
jmp 0x405271
mov bl, 1
push str.skip_secondary
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x405344
mov al, 1
mov dword [esp + 0xd0], eax
jmp 0x405271
push str.slot
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x40536e
mov eax, dword [0x523bb8]
lea ecx, [esp + 0xa0]
push dword [eax]
call fcn.0041ddc0
jmp 0x405271
push str.dtb_offset
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4053a7
push 0x10
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x549b84], eax
mov dword [0x549b88], 0
jmp 0x405271
push str.tags_offset
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4053d6
push 0x10
push 0
mov eax, dword [0x523bb8]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x549530], eax
jmp 0x405271
push str.unbuffered
lea eax, [esp + 0x154]
push eax
call fcn.0040cc20
add esp, 8
test al, al
je 0x405426
push 1
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
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
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 0x405271
push str.version
lea eax, [esp + 0x154]
push eax
call fcn.0040cc20
add esp, 8
test al, al
je 0x407a7c
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 + 0xe8]
push eax
call fcn.004014f0
add esp, 4
test byte [esp + 0xe8], 1
lea eax, [esp + 0xe9]
je 0x405478
mov eax, dword [esp + 0xf0]
push eax
push str.30.0.5
push str.fastboot_version__s__s_n
push edi
call fcn.0040cce0
add esp, 0x10
test byte [esp + 0xe8], 1
je 0x4054a5
push dword [esp + 0xf0]
call fcn.00417920
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 + 0xe8]
push eax
call fcn.00423120
add esp, 4
test byte [esp + 0xe8], 1
lea eax, [esp + 0xe9]
je 0x4054da
mov eax, dword [esp + 0xf0]
push eax
push str.Installed_as__s_n
push edi
call fcn.0040cce0
add esp, 0xc
test byte [esp + 0xe8], 1
je 0x405502
push dword [esp + 0xf0]
call fcn.00417920
add esp, 4
xor ebx, ebx
jmp 0x405271
mov eax, dword [0x523bbc]
mov ecx, dword [esp + 0xc8]
mov edx, dword [eax]
mov eax, dword [ebp + 8]
sub eax, edx
or cl, bl
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x64], edx
lea ecx, [ecx + edx*4]
mov dword [esp + 0x6c], ecx
jne 0x405541
test eax, eax
jne 0x405541
push str.no_command
call fcn.00407e60
add esp, 4
jmp 0x405577
test eax, eax
jle 0x405577
mov eax, dword [esp + 0x6c]
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 0x4059fe
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.0x404ed3.104
call fcn.00407ec0
test eax, eax
je case.0x404ed3.63
xorps xmm0, xmm0
mov esi, eax
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0xe8]
lea edi, [esp + 0x100]
lea eax, [esp + 0x118]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0xe8], 0x5239b0
mov dword [esp + 0xec], 0x408210
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x100], 0x523af8
mov dword [esp + 0x104], 0x408260
mov dword [esp + 0x110], edi
mov dword [esp + 0x118], 0x5239b0
mov dword [esp + 0x11c], 0x408320
mov dword [esp + 0x128], eax
movaps xmmword [esp + 0x1a0], xmm0
movaps xmmword [esp + 0x190], xmm0
movaps xmmword [esp + 0x180], xmm0
movaps xmmword [esp + 0x170], xmm0
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x150], xmm0
mov dword [esp + 0x1f0], edx
push edx
call fcn.00417610
mov ecx, dword [esp + 0x110]
lea edx, [esp + 0x1f8]
test ecx, ecx
je 0x40571b
cmp edi, ecx
je 0x40572a
mov eax, dword [ecx]
mov ebx, edx
call dword [eax + 8]
mov dword [esp + 0x208], eax
jmp 0x405739
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_snapshot_update_cancel_____On_devices_that_support_snapshot_based_updates__cancel_n____________________________an_in_progress_update._This_may_make_the_device_n____________________________unbootable_until_it_is_reflashed._n_snapshot_update_merge______On_devices_that_support_snapshot_based_updates__finish_n____________________________an_in_progress_update_if_it_is_in_the__merging__n____________________________phase._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
push eax
call fcn.0040cce0
add esp, 8
xor edi, edi
test byte [esp + 0x80], 1
je 0x4056f6
push dword [esp + 0x88]
call fcn.00417920
add esp, 4
test byte [esp + 0xa0], 1
je 0x40570f
push dword [esp + 0xa8]
call fcn.00417920
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 + 0x208], 0
jmp 0x405739
mov dword [esp + 0x208], edx
mov ebx, edx
mov eax, dword [ecx]
push edx
call dword [eax + 0xc]
mov ecx, dword [esp + 0x128]
lea edi, [esp + 0x210]
test ecx, ecx
je 0x405764
lea eax, [esp + 0x118]
cmp eax, ecx
je 0x405771
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x220], eax
jmp 0x40577e
mov dword [esp + 0x220], 0
jmp 0x40577e
mov dword [esp + 0x220], edi
mov eax, dword [ecx]
push edi
call dword [eax + 0xc]
lea ecx, [esp + 0x150]
push 0
lea eax, [esp + 0x1e4]
push eax
push esi
call fcn.0045fb40
mov ecx, dword [esp + 0x220]
cmp edi, ecx
je 0x4057af
mov esi, dword [esp + 0x6c]
test ecx, ecx
je 0x4057b8
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4057b8
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x208]
cmp ebx, ecx
je 0x4057ce
test ecx, ecx
je 0x4057d3
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4057d3
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esp + 0x1f0]
lea eax, [esp + 0x1e0]
cmp eax, ecx
je 0x4057f3
mov ebx, dword [ebp + 8]
test ecx, ecx
je 0x4057fb
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4057fb
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x150]
mov dword [0x5494f4], eax
call fcn.00423720
fstp qword [esp + 0x1c8]
movzx eax, byte [esp + 0xa0]
movsd xmm0, qword [esp + 0x1c8]
test al, 1
movsd qword [esp + 0x1b8], xmm0
je 0x40583e
mov eax, dword [esp + 0xa4]
test eax, eax
jne 0x40585f
jmp 0x405844
shr eax, 1
test eax, eax
jne 0x40585f
lea ecx, [esp + 0xa0]
push 0
push 0x5200f0
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4058dd
lea ecx, [esp + 0x20]
lea edx, [esp + 0xa0]
push 1
call fcn.00408350
add esp, 4
test byte [esp + 0xa0], 1
jne 0x40588a
mov word [esp + 0xa0], 0
jmp 0x4058c3
mov eax, dword [esp + 0xa8]
mov byte [eax], 0
mov dword [esp + 0xa4], 0
test byte [esp + 0xa0], 1
je 0x4058c3
push dword [esp + 0xa8]
call fcn.00417920
add esp, 4
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
movzx eax, byte [esp + 0x80]
test al, 1
je 0x4058f6
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x405917
jmp 0x4058fc
shr eax, 1
test eax, eax
jne 0x405917
lea ecx, [esp + 0x80]
push 0
push 0x5200f0
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x405995
lea ecx, [esp + 0x20]
lea edx, [esp + 0x80]
push 0
call fcn.00408350
add esp, 4
test byte [esp + 0x80], 1
jne 0x405942
mov word [esp + 0x80], 0
jmp 0x40597b
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov dword [esp + 0x84], 0
test byte [esp + 0x80], 1
je 0x40597b
push dword [esp + 0x88]
call fcn.00417920
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
cmp byte [esp + 0xc8], 0
je 0x405ab2
movzx eax, byte [esp + 0x80]
test al, 1
je 0x4059c0
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x405ab2
jmp 0x4059ca
shr eax, 1
test eax, eax
jne 0x405ab2
lea ecx, [esp + 0x80]
push 0
push 0x5200f0
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
jne 0x405ab2
movzx eax, byte [esp + 0xa0]
test al, 1
je 0x405a0f
mov eax, dword [esp + 0xa4]
jmp 0x405a11
push 0
push 0x40aa80
call fcn.0046ab50
jmp 0x4056d8
shr eax, 1
test eax, eax
jne 0x405a34
lea ecx, [esp + 0xa0]
push 0
push 0x5200f0
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x407952
lea ecx, [esp + 0x20]
lea edx, [esp + 0xa0]
push 0
call fcn.00408350
add esp, 4
test byte [esp + 0x80], 1
jne 0x405a5f
mov word [esp + 0x80], 0
jmp 0x405a98
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov dword [esp + 0x84], 0
test byte [esp + 0x80], 1
je 0x405a98
push dword [esp + 0x88]
call fcn.00417920
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
lea eax, [eax + ebx*4]
sub eax, esi
je 0x4073ee
sar eax, 2
cmp eax, 0x15555556
jae 0x407a9e
shl eax, 2
lea edi, [eax + eax*2]
push edi
call fcn.00417780
add esp, 4
mov dword [esp + 0x54], eax
mov esi, eax
mov dword [esp + 0x50], eax
add edi, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x58], edi
cmp eax, ebx
je 0x4073ee
shl ebx, 2
shl eax, 2
sub ebx, eax
mov eax, dword [esp + 0x6c]
jmp 0x405b7e
mov dword [esp + 0x64], ebx
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
mov dword [esp + 0xd0], ecx
call fcn.00417780
mov ecx, dword [esp + 0xd0]
add esp, 4
or ebx, 1
mov dword [esi + 8], eax
mov dword [esi], ebx
mov ebx, dword [esp + 0x64]
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 + 0x6c]
mov esi, dword [esp + 0x54]
add eax, 4
add esi, 0xc
add ebx, 0xfffffffc
mov dword [esp + 0x54], esi
je 0x405bc2
mov edi, dword [eax]
mov dword [esp + 0x6c], 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 0x407a97
mov ecx, eax
cmp eax, 0xb
jae 0x405b20
mov eax, ecx
add al, cl
mov byte [esi], al
inc esi
test ecx, ecx
jne 0x405b54
jmp 0x405b63
cmp dword [esp + 0x50], esi
je 0x4073ee
lea eax, [esp + 1]
lea esi, [esp + 0x90]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], eax
jmp 0x405c22
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x50]
cmp eax, dword [esp + 0x54]
je 0x407417
mov ecx, esi
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov edi, esi
call fcn.004085f0
movzx edx, byte [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, edx
mov esi, ecx
shr eax, 1
and dl, 1
cmove esi, eax
cmp esi, 6
jne 0x405c9e
mov esi, edi
mov ecx, edi
push 6
push str.getvar
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x405f48
movzx eax, byte [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, eax
shr eax, 1
and dl, 1
test dl, dl
mov esi, ecx
cmove esi, eax
cmp esi, 5
mov esi, edi
jne 0x405cdc
mov ecx, esi
push 5
push str.erase
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x405f9a
movzx eax, byte [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, eax
shr eax, 1
and dl, 1
test dl, dl
lea edx, [esp + 0x91]
je 0x405cf0
mov edx, dword [esp + 0x98]
mov eax, ecx
mov dword [esp + 0x140], str.format
mov dword [esp + 0x14c], eax
mov dword [esp + 0x148], edx
mov dword [esp + 0x144], 6
sub esp, 0x10
movsd xmm0, qword [esp + 0x150]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [esp], xmm0
call fcn.0045e4e0
add esp, 0x10
test al, al
je 0x405df0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov word [esp + 0x20], 0x3a02
mov byte [esp + 0x22], 0
push eax
push esi
lea eax, [esp + 8]
push eax
call fcn.0045e200
add esp, 0xc
test byte [esp + 0x20], 1
je 0x405da5
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 1
jbe 0x405f7d
test byte [eax + 0xc], 1
jne 0x406000
add eax, 0xc
inc eax
jmp 0x406003
movzx ecx, byte [esp + 0x90]
mov edx, dword [esp + 0x94]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 9
jne 0x405e40
mov ecx, edi
push 9
push str.signature
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x406053
movzx eax, byte [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 6
jne 0x405e7e
mov esi, edi
mov ecx, edi
push 6
push 0x5205a8
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x40628b
movzx eax, byte [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0x11
jne 0x405ebc
mov esi, edi
mov ecx, edi
push 0x11
push str.reboot_bootloader
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4064a8
movzx eax, byte [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
mov esi, edx
cmove esi, eax
cmp esi, 0xf
mov esi, edi
jne 0x405efa
mov ecx, esi
push 0xf
push str.reboot_recovery
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4064b6
movzx eax, byte [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 0xf
jne 0x405f1e
mov ecx, esi
push 0xf
push str.reboot_fastboot
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x406532
push str.continue
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4061ef
mov ecx, dword [0x5494f4]
push 0
push 0
call fcn.0045fdc0
jmp 0x406833
lea edi, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, edi
call fcn.004085f0
mov ecx, edi
mov edx, edi
call fcn.004086d0
jmp 0x406820
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
jmp 0x406376
mov ebx, esp
lea edx, [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, ebx
call fcn.004085f0
mov ecx, ebx
lea edi, [esp + 0x20]
mov dword [esp + 0x20], 0x522c3c
lea edx, [esp + 0xa0]
mov dword [esp + 0x30], edi
push 1
push edi
call fcn.00403f30
add esp, 8
mov ecx, dword [esp + 0x30]
cmp edi, ecx
je 0x406273
test ecx, ecx
je 0x406278
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x406278
mov eax, dword [eax + 0x14]
lea ecx, [esp + 0x10]
push eax
call fcn.0041ddc0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
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 0x406376
test byte [eax + 0x18], 1
jne 0x406369
add eax, 0x18
inc eax
jmp 0x40636c
lea esi, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, esi
call fcn.004085f0
mov eax, esp
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
push eax
push esi
call fcn.004015e0
add esp, 8
test al, al
je 0x407acf
mov eax, dword [esp + 4]
sub eax, dword [esp]
cmp eax, 0x100
jne 0x407adc
mov ecx, dword [0x5494f4]
lea eax, [esp + 0x11]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x10], 0x12
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov byte [esp + 0x1a], 0
push 0
push 0
lea eax, [esp + 8]
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00460b40
test byte [esp + 0x10], 1
je 0x40611a
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
mov esi, dword [0x5494f4]
lea eax, [esp + 0x11]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x10], 0x12
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov byte [esp + 0x1a], 0
push 0x20
call fcn.00417780
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 + 0x20]
push eax
call fcn.0045fd60
test byte [esp + 0x70], 1
je 0x4061c5
push dword [esp + 0x78]
call fcn.00417920
add esp, 4
test byte [esp + 0x10], 1
je 0x4061d8
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
mov eax, dword [esp]
mov esi, edi
test eax, eax
je 0x406820
mov dword [esp + 4], eax
push eax
jmp 0x40680a
push str.boot
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4064c4
lea esi, [esp + 0x50]
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov edx, esi
call fcn.004085f0
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
cmp eax, dword [esp + 0x54]
je 0x4065e7
lea ecx, [esp + 0x10]
mov edx, esi
call fcn.004085f0
test byte [esp], 1
jne 0x406606
mov word [esp], 0
mov esi, esp
jmp 0x406630
mov eax, dword [ecx]
call dword [eax + 0x10]
test byte [esp], 1
je 0x406833
push dword [esp + 8]
jmp 0x40682b
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov edx, ecx
sub edx, eax
cmp edx, 0xc
mov dl, 1
mov dword [esp + 0x64], edx
jne 0x40696a
lea ecx, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
call fcn.004085f0
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, ecx
mov esi, edx
shr eax, 1
and cl, 1
cmove esi, eax
cmp esi, 0xa
jne 0x406311
lea ecx, [esp + 0x20]
push 0xa
push str.bootloader
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x406931
movzx eax, byte [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, eax
shr eax, 1
and cl, 1
test cl, cl
cmovne eax, edx
cmp eax, 8
jne 0x406337
lea ecx, [esp + 0x20]
push 8
push str.recovery
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x40693c
push str.fastboot
lea eax, [esp + 0x24]
push eax
call fcn.0040cc20
add esp, 8
test al, al
mov esi, edi
je 0x40668d
mov al, 1
mov dword [esp + 0x64], 0
mov dword [esp + 0xbc], eax
jmp 0x40694f
mov eax, dword [eax + 0x20]
lea ecx, [esp + 0x70]
push eax
call fcn.0041ddc0
lea ebx, [esp + 0xb0]
lea edx, [esp + 0x50]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
mov ecx, ebx
call fcn.004085f0
lea eax, [esp + 0x10]
lea ecx, [esp + 0x70]
mov dword [esp + 0x20], 0x522d64
lea esi, [esp + 0x20]
lea edx, [esp + 0xa0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov ecx, ebx
mov dword [esp + 0x30], esi
push 1
push esi
call fcn.00403f30
add esp, 8
mov ecx, dword [esp + 0x30]
cmp esi, ecx
je 0x406463
test ecx, ecx
je 0x4063ee
mov eax, dword [ecx]
call dword [eax + 0x14]
test byte [esp + 0xb0], 1
jne 0x406472
test byte [esp + 0x70], 1
jne 0x40648c
test byte [esp + 0x10], 1
je 0x406416
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
mov esi, dword [esp]
test esi, esi
je 0x40645c
mov eax, dword [esp + 4]
cmp eax, esi
jne 0x406436
mov eax, esi
jmp 0x40644f
cmp esi, ebx
mov eax, ebx
je 0x40644c
test byte [eax - 0xc], 1
lea ebx, [eax - 0xc]
je 0x406430
push dword [eax - 4]
call fcn.00417920
add esp, 4
jmp 0x406430
mov eax, dword [esp]
mov dword [esp + 4], esi
push eax
call fcn.00417920
add esp, 4
mov esi, edi
jmp 0x406833
mov eax, dword [ecx]
call dword [eax + 0x10]
test byte [esp + 0xb0], 1
je 0x4063f8
push dword [esp + 0xb8]
call fcn.00417920
add esp, 4
test byte [esp + 0x70], 1
je 0x406403
push dword [esp + 0x78]
call fcn.00417920
add esp, 4
test byte [esp + 0x10], 1
jne 0x40640a
jmp 0x406416
mov al, 1
mov dword [esp + 0xc4], eax
jmp 0x406833
mov al, 1
mov dword [esp + 0xc0], eax
jmp 0x406833
push str.flash
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406540
mov ebx, esp
lea esi, [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, ebx
mov edx, esi
call fcn.004085f0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
cmp eax, dword [esp + 0x54]
je 0x406855
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.004085f0
jmp 0x406860
mov al, 1
mov dword [esp + 0xbc], eax
jmp 0x406833
push str.flash:raw
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4066b5
lea esi, [esp + 0x50]
mov ecx, esp
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov edx, esi
call fcn.004085f0
lea ecx, [esp + 0x10]
mov edx, esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
call fcn.004085f0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
cmp eax, dword [esp + 0x54]
je 0x406a21
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.004085f0
test byte [esp + 0x70], 1
jne 0x406a49
mov word [esp + 0x70], 0
mov esi, edi
jmp 0x406a75
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov esi, esp
jmp 0x406756
mov eax, dword [esp + 8]
mov esi, esp
mov byte [eax], 0
mov dword [esp + 4], 0
test byte [esp], 1
je 0x406630
push dword [esp + 8]
call fcn.00417920
add esp, 4
mov dword [esp], 0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
cmp ecx, dword [esp + 0x54]
mov dword [esp + 8], eax
movsd qword [esp], xmm0
je 0x406756
lea ecx, [esp + 0x70]
lea edx, [esp + 0x50]
call fcn.004085f0
test byte [esp + 0x10], 1
jne 0x406718
mov word [esp + 0x10], 0
jmp 0x406742
test byte [esp + 0x20], 1
lea eax, [esp + 0x21]
je 0x40669c
mov eax, dword [esp + 0x28]
push eax
push str.unknown_reboot_target__s
call fcn.00407e60
add esp, 8
mov al, 1
mov dword [esp + 0x64], eax
jmp 0x40694f
push str.flashall
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406981
push 0x520161
lea esi, [esp + 0xa4]
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406ae2
xor ebx, ebx
cmp byte [esp + 0x63], 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.0040cce0
add esp, 8
mov ecx, esi
mov edx, 1
push ebx
jmp 0x406afc
mov eax, dword [esp + 0x18]
mov byte [eax], 0
mov dword [esp + 0x14], 0
test byte [esp + 0x10], 1
je 0x406742
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x78]
movsd xmm0, qword [esp + 0x70]
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm0
lea eax, [esp + 0x10]
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x70]
lea edx, [esp + 0x20]
push eax
push esi
call fcn.00408830
add esp, 8
mov esi, dword [0x5494f4]
lea ebx, [esp + 0xb0]
mov ecx, ebx
push str.boot.img
call fcn.0040cba0
mov ecx, esi
push 0
push 0
lea eax, [esp + 0x78]
push eax
push ebx
call fcn.00460b40
test byte [esp + 0xb0], 1
je 0x4067c7
push dword [esp + 0xb8]
call fcn.00417920
add esp, 4
mov ecx, dword [0x5494f4]
push 0
push 0
call fcn.0045fc80
mov eax, dword [esp + 0x70]
mov esi, edi
test eax, eax
je 0x4067ed
mov dword [esp + 0x74], eax
push eax
call fcn.00417920
add esp, 4
test byte [esp + 0x10], 1
je 0x406800
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
test byte [esp], 1
je 0x406820
push dword [esp + 8]
call fcn.00417920
add esp, 4
nop word cs:[eax + eax]
nop dword [eax]
test byte [esp + 0x20], 1
je 0x406833
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
test byte [esp + 0x90], 1
je 0x405c10
push dword [esp + 0x98]
call fcn.00417920
add esp, 4
jmp 0x405c10
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.00408b90
test byte [esp + 0x10], 1
jne 0x406879
mov word [esp + 0x10], 0
lea edx, [esp + 0xa0]
mov esi, edi
jmp 0x4068b3
mov eax, dword [esp + 0x18]
lea edx, [esp + 0xa0]
mov esi, edi
mov byte [eax], 0
mov dword [esp + 0x14], 0
test byte [esp + 0x10], 1
je 0x4068b3
push dword [esp + 0x18]
call fcn.00417920
lea edx, [esp + 0xa4]
add esp, 4
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0x18], eax
movsd qword [esp + 0x10], xmm0
movzx eax, byte [esp + 0x10]
test al, 1
je 0x4068d6
mov eax, dword [esp + 0x14]
jmp 0x4068d8
shr eax, 1
test eax, eax
je 0x407aa7
lea eax, [esp + 0x6b]
lea ecx, [esp + 0x10]
mov dword [esp + 0x20], 0x522e4c
lea edi, [esp + 0x20]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov ecx, esp
mov dword [esp + 0x30], edi
push 1
push edi
call fcn.00403f30
add esp, 8
mov ecx, dword [esp + 0x30]
cmp edi, ecx
je 0x406927
test ecx, ecx
je 0x406ca2
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x406ca2
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x406ca2
mov al, 1
mov dword [esp + 0xc4], eax
jmp 0x406945
mov al, 1
mov dword [esp + 0xc0], eax
mov dword [esp + 0x64], 0
mov esi, edi
test byte [esp + 0x20], 1
je 0x406962
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
je 0x406833
push str.junk_after_reboot_command
call fcn.00407e60
jmp 0x406830
push str.update
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406b0f
push 0x520161
lea eax, [esp + 0xa4]
push eax
call fcn.0040cc20
add esp, 8
mov ebx, eax
test al, al
je 0x4069cb
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.0040cce0
add esp, 8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x20]
push str.update.zip
call fcn.0040cba0
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
je 0x406d8b
mov ecx, esp
lea edx, [esp + 0x50]
call fcn.004085f0
test byte [esp + 0x20], 1
jne 0x406d4e
mov word [esp + 0x20], 0
jmp 0x406d78
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
mov esi, edi
jmp 0x406bd8
mov eax, dword [esp + 0x78]
mov esi, edi
mov byte [eax], 0
mov dword [esp + 0x74], 0
test byte [esp + 0x70], 1
je 0x406a75
push dword [esp + 0x78]
call fcn.00417920
add esp, 4
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
cmp ecx, dword [esp + 0x54]
mov dword [esp + 0x78], eax
movsd qword [esp + 0x70], xmm0
je 0x406bd8
lea ecx, [esp + 0x20]
lea edx, [esp + 0x50]
call fcn.004085f0
test byte [esp + 0xb0], 1
jne 0x406b85
mov word [esp + 0xb0], 0
jmp 0x406bbe
xor eax, eax
cmp byte [esp + 0x63], 0
mov ecx, dword [esp + 0xd0]
setne al
and cl, 1
movzx edx, cl
mov ecx, esi
push eax
call fcn.00408cf0
add esp, 4
mov al, 1
mov dword [esp + 0x64], eax
jmp 0x40645c
push str.set_active
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406cbe
mov edi, esp
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, edi
call fcn.004085f0
lea ecx, [esp + 0x20]
mov edx, edi
push 0
call fcn.00408350
add esp, 4
test byte [esp], 1
je 0x406b6c
push dword [esp + 8]
call fcn.00417920
add esp, 4
mov ecx, dword [0x5494f4]
push 0
push 0
lea eax, [esp + 0x28]
push eax
call fcn.00460940
jmp 0x406820
mov eax, dword [esp + 0xb8]
mov byte [eax], 0
mov dword [esp + 0xb4], 0
test byte [esp + 0xb0], 1
je 0x406bbe
push dword [esp + 0xb8]
call fcn.00417920
add esp, 4
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
mov dword [esp + 0xb8], eax
movsd qword [esp + 0xb0], xmm0
lea edi, [esp + 0x130]
lea eax, [esp + 0xb0]
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x138], 0
lea edx, [esp + 0x10]
mov ecx, edi
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00408830
add esp, 8
mov dword [esp + 0x20], 0x523018
mov dword [esp + 0x24], edi
lea edi, [esp + 0x20]
mov ecx, esp
lea edx, [esp + 0xa0]
mov dword [esp + 0x30], edi
push 1
push edi
call fcn.00403f30
add esp, 8
mov ecx, dword [esp + 0x30]
cmp edi, ecx
je 0x406c56
test ecx, ecx
je 0x406c5b
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x406c5b
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, dword [esp + 0x130]
test eax, eax
je 0x406c76
mov dword [esp + 0x134], eax
push eax
call fcn.00417920
add esp, 4
test byte [esp + 0xb0], 1
je 0x406c8f
push dword [esp + 0xb8]
call fcn.00417920
add esp, 4
test byte [esp + 0x70], 1
je 0x406ca2
push dword [esp + 0x78]
call fcn.00417920
add esp, 4
test byte [esp + 0x10], 1
je 0x406278
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
jmp 0x406278
push str.stage
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406dd6
mov ecx, esp
lea edx, [esp + 0x50]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
call fcn.004085f0
test byte [esp], 1
xorps xmm0, xmm0
lea ecx, [esp + 1]
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x20], xmm0
je 0x406d11
mov ecx, dword [esp + 8]
lea edx, [esp + 0x20]
call fcn.00409090
test al, al
je 0x407ab3
cmp dword [esp + 0x20], 0
jne 0x407ab3
mov ecx, dword [0x5494f4]
push 0
push 0
push dword [esp + 0x30]
push dword [esp + 0x3c]
lea eax, [esp + 0x10]
push eax
call fcn.00460c00
jmp 0x406278
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x406d78
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov dword [esp + 0x20], 0
mov eax, dword [esp + 8]
movsd xmm0, qword [esp]
mov dword [esp + 0x28], eax
movsd qword [esp + 0x20], xmm0
mov eax, dword [esp + 0xd0]
and al, 1
test byte [esp + 0x20], 1
lea ecx, [esp + 0x21]
lea edx, [esp + 0xa0]
je 0x406daa
mov ecx, dword [esp + 0x28]
or al, bl
movzx eax, al
push eax
call fcn.00408ea0
add esp, 4
test byte [esp + 0x20], 1
je 0x406dcb
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov al, 1
mov dword [esp + 0x64], eax
jmp 0x406833
push str.get_staged
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406e24
lea edi, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, edi
call fcn.004085f0
mov ecx, dword [0x5494f4]
push 0
push 0
push edi
call fcn.004621b0
jmp 0x406820
push 0x52070b
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406e56
lea edi, [esp + 0x20]
mov ecx, edi
push 0x52070b
call fcn.0040cba0
mov ecx, edi
lea edx, [esp + 0x50]
call fcn.00409190
jmp 0x406820
push str.flashing
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406f11
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
je 0x406fcc
sub ecx, eax
cmp ecx, 0xc
jne 0x407264
push str.unlock
push eax
call fcn.0040cc20
add esp, 8
test al, al
jne 0x406ef1
push str.lock
push dword [esp + 0x54]
call fcn.0040cc20
add esp, 8
test al, al
jne 0x406ef1
push str.unlock_critical
push dword [esp + 0x54]
call fcn.0040cc20
add esp, 8
test al, al
jne 0x406ef1
push str.lock_critical
push dword [esp + 0x54]
call fcn.0040cc20
add esp, 8
test al, al
jne 0x406ef1
push str.get_unlock_ability
push dword [esp + 0x54]
call fcn.0040cc20
add esp, 8
test al, al
je 0x407260
lea esi, [esp + 0x20]
mov ecx, esi
push str.flashing
call fcn.0040cba0
mov ecx, esi
lea edx, [esp + 0x50]
call fcn.00409190
jmp 0x40705d
push str.create_logical_partition
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406f82
lea esi, [esp + 0x50]
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov edx, esi
call fcn.004085f0
mov ebx, esp
mov edx, esi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, ebx
call fcn.004085f0
mov ecx, dword [0x5494f4]
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.0045feb0
jmp 0x40704b
push str.delete_logical_partition
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x406fdb
lea esi, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, esi
call fcn.004085f0
mov ecx, dword [0x5494f4]
push esi
call fcn.00460060
jmp 0x40705d
push str.missing_flashing_command
call fcn.00407e60
jmp 0x406459
push str.resize_logical_partition
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x407071
lea esi, [esp + 0x50]
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov edx, esi
call fcn.004085f0
mov ebx, esp
mov edx, esi
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, ebx
call fcn.004085f0
mov ecx, dword [0x5494f4]
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.00460790
test byte [esp], 1
je 0x40705d
push dword [esp + 8]
call fcn.00417920
add esp, 4
test byte [esp + 0x20], 1
je 0x40645c
push dword [esp + 0x28]
jmp 0x406454
push 0x5207d9
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4070e2
lea esi, [esp + 0x20]
lea edx, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, esi
call fcn.004085f0
push str.wipe
push esi
call fcn.0040cc20
add esp, 8
test al, al
je 0x407140
mov esi, dword [0x5494f4]
mov ecx, esp
push str.gsi:wipe
call fcn.0040cba0
lea ebx, [esp + 0x10]
mov ecx, ebx
push str.wiping_GSI
jmp 0x407177
push str.wipe_super
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x4071ab
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
cmp eax, dword [esp + 0x54]
je 0x407234
mov ecx, esp
lea edx, [esp + 0x50]
call fcn.004085f0
test byte [esp + 0x20], 1
jne 0x407282
mov word [esp + 0x20], 0
jmp 0x4072ac
push str.disable
lea eax, [esp + 0x24]
push eax
call fcn.0040cc20
add esp, 8
test al, al
je 0x407205
mov esi, dword [0x5494f4]
mov ecx, esp
push str.gsi:disable
call fcn.0040cba0
lea ebx, [esp + 0x10]
mov ecx, ebx
push str.disabling_GSI
call fcn.0040cba0
mov ecx, esi
push 0
push 0
push 0
push ebx
lea eax, [esp + 0x10]
push eax
call fcn.0045fd60
test byte [esp + 0x10], 1
je 0x40704b
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
jmp 0x40704b
push str.snapshot_update
push edi
call fcn.0040cc20
add esp, 8
test al, al
je 0x407214
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
cmp eax, dword [esp + 0x54]
je 0x4072c1
mov ecx, esp
lea edx, [esp + 0x50]
call fcn.004085f0
test byte [esp + 0x20], 1
jne 0x407346
mov word [esp + 0x20], 0
jmp 0x407370
push str.expected_wipe_or_disable
call fcn.00407e60
jmp 0x40705a
test byte [esp + 0x90], 1
lea eax, [esp + 0x91]
je 0x40722c
mov eax, dword [esp + 0x98]
push eax
push str.unknown_command__s
jmp 0x407275
lea esi, [esp + 0x10]
mov ecx, esi
push str.super_empty.img
call fcn.0040cba0
mov ecx, esp
mov edx, esi
call fcn.00404bd0
test byte [esp + 0x20], 1
jne 0x4072ca
mov word [esp + 0x20], 0
jmp 0x4072f4
mov eax, dword [esp + 0x50]
test byte [eax], 1
jne 0x40726c
inc eax
jmp 0x40726f
mov eax, dword [eax + 8]
push eax
push str.unknown_flashing_command__s
call fcn.00407e60
add esp, 8
jmp 0x40645c
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x4072ac
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov dword [esp + 0x20], 0
mov eax, dword [esp + 8]
movsd xmm0, qword [esp]
mov dword [esp + 0x28], eax
movsd qword [esp + 0x20], xmm0
jmp 0x407331
xor eax, eax
xor ecx, ecx
jmp 0x40738b
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x4072f4
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov dword [esp + 0x20], 0
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
test byte [esp + 0x10], 1
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x28], eax
movsd qword [esp + 0x20], xmm0
je 0x407331
push dword [esp + 0x18]
call fcn.00417920
add esp, 4
lea ecx, [esp + 0x20]
lea edx, [esp + 0xa0]
call fcn.004092f0
jmp 0x40705d
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x407370
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov dword [esp + 0x20], 0
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 0x28], eax
mov cl, byte [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, ecx
shr dl, 1
test cl, 1
movzx ecx, dl
cmovne ecx, eax
test ecx, ecx
je 0x4073d5
push str.cancel
lea eax, [esp + 0x24]
push eax
call fcn.0040cca0
add esp, 8
test al, al
je 0x4073d5
push str.merge
lea eax, [esp + 0x24]
push eax
call fcn.0040cca0
add esp, 8
test al, al
je 0x4073d5
push str.expected:_snapshot_update__cancelmerge_
call fcn.00407e60
add esp, 4
mov ecx, dword [0x5494f4]
push 0
push 0
lea eax, [esp + 0x28]
push eax
call fcn.00460a40
jmp 0x40705d
mov dword [esp + 0x64], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
cmp byte [esp + 0x63], 0
je 0x407714
cmp byte [esp + 0x6b], 0
je 0x40742e
call fcn.004037a0
mov eax, 0x6174656d
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x10
mov dword [esp + 0x25], 0x61746164
lea esi, [esp + 0x2c]
lea edi, [esp + 0x38]
add eax, 0x10f10e08
mov dword [esp + 0x21], eax
mov byte [esp + 0x29], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x2c], 0xa
mov word [esp + 0x31], 0x65
mov dword [esp + 0x2d], 0x68636163
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x38], 0x10
mov dword [esp + 0x39], 0x6174656d
mov dword [esp + 0x3d], 0x61746164
mov byte [esp + 0x41], 0
push 0x24
call fcn.00417780
add esp, 4
mov ebx, eax
lea eax, [esp + 0x20]
mov ecx, ebx
push eax
call fcn.0041d0b0
lea ecx, [ebx + 0xc]
push esi
call fcn.0041d0b0
mov dword [esp + 0xcc], ebx
lea ecx, [ebx + 0x18]
push edi
call fcn.0041d0b0
test byte [esp + 0x38], 1
je 0x407510
push dword [esp + 0x40]
call fcn.00417920
add esp, 4
test byte [esp + 0x2c], 1
je 0x407523
push dword [esp + 0x34]
call fcn.00417920
add esp, 4
test byte [esp + 0x20], 1
mov edi, dword [esp + 0xcc]
je 0x40753d
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov eax, 0x24
jmp 0x40756c
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
mov eax, dword [esp + 0x6c]
add edi, 0xc
add eax, 0xfffffff4
je 0x4076d2
mov ebx, dword [0x5494f4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
push edi
push str.partition_type:
lea esi, [esp + 0x98]
push esi
call fcn.004213d0
add esp, 0xc
mov ecx, ebx
push 0
lea eax, [esp + 0x24]
push eax
push esi
call fcn.00460360
test byte [esp + 0x90], 1
mov ebx, eax
je 0x4075ce
push dword [esp + 0x98]
call fcn.00417920
add esp, 4
movzx eax, byte [esp + 0x20]
test ebx, ebx
je 0x4075f0
test al, 1
jne 0x407550
jmp 0x40755c
test al, 1
je 0x4075fe
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x407606
jmp 0x4075d7
mov ecx, eax
shr ecx, 1
test ecx, ecx
je 0x4075d7
mov ecx, dword [0x5494f4]
push 0
push 0
push edi
call fcn.00460160
movzx eax, byte [edi]
test al, 1
je 0x407627
mov eax, dword [edi + 4]
cmp eax, 8
je 0x40762e
jmp 0x407640
shr eax, 1
cmp eax, 8
jne 0x407640
mov ecx, edi
push 8
push str.userdata
push 0xffffffffffffffff
push 0
call fcn.0041ef70
mov eax, esp
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, edi
mov edx, 1
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00409c80
add esp, 0xc
test byte [esp], 1
je 0x4076a9
push dword [esp + 8]
call fcn.00417920
add esp, 4
test byte [esp + 0x90], 1
je 0x4076c2
push dword [esp + 0x98]
call fcn.00417920
add esp, 4
test byte [esp + 0x20], 1
jne 0x407550
jmp 0x40755c
mov esi, dword [esp + 0xcc]
test byte [esi + 0x18], 1
je 0x4076ea
push dword [esi + 0x20]
call fcn.00417920
add esp, 4
test byte [esi + 0xc], 1
je 0x4076fb
push dword [esi + 0x14]
call fcn.00417920
add esp, 4
test byte [esi], 1
je 0x40770b
push dword [esi + 8]
call fcn.00417920
add esp, 4
push esi
call fcn.00417920
add esp, 4
test byte [esp + 0xc8], 1
je 0x407735
mov ecx, dword [0x5494f4]
push 0
push 0
lea eax, [esp + 0x88]
push eax
call fcn.00460940
test byte [esp + 0xd8], 1
jne 0x40775b
mov eax, dword [esp + 0x64]
and al, 1
je 0x40775b
mov ecx, dword [0x5494f4]
push 0
push 0
call fcn.00460600
jmp 0x40781f
test byte [esp + 0xc4], 1
jne 0x407787
test byte [esp + 0xc0], 1
jne 0x4077e1
test byte [esp + 0xbc], 1
je 0x40782a
call fcn.004046a0
jmp 0x40782a
mov ecx, dword [0x5494f4]
mov byte [esp + 0xdc], 0x14
mov dword [esp + 0xdd], 0x746f6f62
mov dword [esp + 0xe1], 0x64616f6c
mov word [esp + 0xe5], 0x7265
mov byte [esp + 0xe7], 0
lea eax, [esp + 0xdc]
push 0
push 0
push eax
call fcn.004606e0
test byte [esp + 0xdc], 1
je 0x40781f
push dword [esp + 0xe4]
jmp 0x407817
mov esi, dword [0x5494f4]
lea edi, [esp + 0x1d4]
mov ecx, edi
push str.recovery
call fcn.0040cba0
mov ecx, esi
push 0
push 0
push edi
call fcn.004606e0
test byte [esp + 0x1d4], 1
je 0x40781f
push dword [esp + 0x1dc]
call fcn.00417920
add esp, 4
mov ecx, dword [0x5494f4]
call fcn.004627c0
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.00423720
fstp qword [esp + 0x1c0]
movsd xmm0, qword [esp + 0x1c0]
subsd xmm0, qword [esp + 0x1b8]
sub esp, 0x10
mov dword [esp], esi
movsd qword [esp + 8], xmm0
mov dword [esp + 4], str.Finished._Total_time:__.3fs_n
call fcn.0040cce0
add esp, 0x10
mov ecx, dword [0x5494f4]
push 0
call fcn.00462c40
test eax, eax
je 0x407889
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov esi, dword [esp + 0x50]
test esi, esi
je 0x4078cd
mov eax, dword [esp + 0x54]
cmp eax, esi
jne 0x4078a6
mov eax, esi
jmp 0x4078c0
cmp esi, edi
mov eax, edi
je 0x4078bc
test byte [eax - 0xc], 1
lea edi, [eax - 0xc]
je 0x4078a0
push dword [eax - 4]
call fcn.00417920
add esp, 4
jmp 0x4078a0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], esi
push eax
call fcn.00417920
add esp, 4
lea ecx, [esp + 0x150]
call fcn.0045fc10
mov ecx, dword [esp + 0x128]
lea eax, [esp + 0x118]
cmp eax, ecx
je 0x4078fd
test ecx, ecx
lea esi, [esp + 0x100]
je 0x407909
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x407909
mov eax, dword [ecx]
call dword [eax + 0x10]
lea esi, [esp + 0x100]
mov ecx, dword [esp + 0x110]
cmp esi, ecx
je 0x40791f
test ecx, ecx
je 0x407924
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x407924
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [esp + 0xf8]
lea eax, [esp + 0xe8]
cmp eax, ecx
je 0x407948
test ecx, ecx
je 0x4056db
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x4056db
mov eax, dword [ecx]
call dword [eax + 0x10]
jmp 0x4056db
mov esi, dword [0x5494f4]
lea edi, [esp + 0x50]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, edi
push str.current_slot
call fcn.0040cba0
lea eax, [esp + 0x20]
mov ecx, esi
push 0
push eax
push edi
call fcn.00460360
test byte [esp + 0x50], 1
mov esi, eax
je 0x4079a4
push dword [esp + 0x58]
call fcn.00417920
add esp, 4
test esi, esi
mov esi, dword [esp + 0x6c]
je 0x4079b9
mov dword [esp + 0xc8], 0
jmp 0x407a34
lea ecx, [esp + 0x50]
lea edx, [esp + 0x20]
push 0
call fcn.00408350
add esp, 4
test byte [esp + 0x80], 1
jne 0x4079e1
mov word [esp + 0x80], 0
jmp 0x407a1a
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov dword [esp + 0x84], 0
test byte [esp + 0x80], 1
je 0x407a1a
push dword [esp + 0x88]
call fcn.00417920
add esp, 4
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
test byte [esp + 0x20], 1
je 0x405ab2
push dword [esp + 0x28]
call fcn.00417920
add esp, 4
jmp 0x405ab2
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
mov eax, dword [0x523bb8]
push dword [eax]
push str.invalid_sparse_limit__s
call fcn.00423770
lea ecx, [esp + 0x150]
call fcn.0041ce60
push str.invalid_page_size
call fcn.00423770
mov eax, dword [esp + 0xd4]
shl eax, 4
push dword [esp + eax + 0x22c]
push str.unknown_option__s
call fcn.00423770
mov ecx, esi
call fcn.0041ce60
lea ecx, [esp + 0x50]
call fcn.0046ad70
test byte [esp], 1
je 0x407ae7
mov eax, dword [esp + 8]
jmp 0x407aeb
test byte [esp], 1
je 0x407ac1
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
push dword [esp + 0x6c]
push str.cannot_load__s
call fcn.00423770
test byte [esp + 0x20], 1
je 0x407af6
mov esi, dword [esp + 0x28]
jmp 0x407afa
push eax
push str.signature_must_be_256_bytes__got__zu_
call fcn.00423770
lea eax, [esp + 1]
push eax
push str.cannot_determine_image_filename_for__s
call fcn.00423770
lea esi, [esp + 0x21]
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.00423770
nop word cs:[eax + eax]
push esi
sub esp, 0xc
mov esi, dword [esp + 0x18]
lea eax, [esp + 8]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
lea edx, [esp + 4]
push eax
push ecx
push edx
push str._u__u__u
push esi
call fcn.0040cd00
add esp, 0x14
cmp eax, 3
je 0x407b6d
push esi
push str.OS_patch_level_should_be_YYYY_MM_DD:__s
call fcn.00407e60
add esp, 8
mov eax, dword [esp + 4]
lea ecx, [eax - 0x7d0]
cmp ecx, 0x80
jb 0x407b8d
push eax
push str.year_out_of_range:__d
call fcn.00407e60
add esp, 8
mov eax, dword [esp]
mov esi, dword [esp + 0x14]
lea ecx, [eax - 1]
cmp ecx, 0xc
jb 0x407bad
push eax
push str.month_out_of_range:__d
call fcn.00407e60
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