Function at 0x409747
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x3d0
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x248], 0x584c34
mov dword [esp + 0x24c], 0x40d270
lea edi, [esp + 0x248]
mov dword [esp + 0x258], edi
mov dword [esp + 0xc0], 0x584db4
mov dword [esp + 0xc4], 0x40d2c0
lea esi, [esp + 0xc0]
mov dword [esp + 0xd0], esi
push esi
push edi
push ebx
call fcn.0047b1f0
add esp, 0xc
mov ecx, dword [esp + 0xd0]
cmp ecx, esi
je 0x40960d
test ecx, ecx
je 0x40961b
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x409617
mov eax, dword [esp + 0xc0]
add eax, 0x10
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0x258]
cmp ecx, edi
je 0x409631
test ecx, ecx
je 0x40963f
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40963d
mov eax, dword [esp + 0x248]
add eax, 0x10
mov ecx, edi
call dword [eax]
mov esi, dword [ebp + 8]
mov dword [esp + 0xc], 0
push 0x38
call fcn.00420cd0
add esp, 4
xorpd xmm0, xmm0
movupd xmmword [eax], xmm0
movupd xmmword [eax + 0x10], xmm0
movupd xmmword [eax + 0x20], xmm0
mov dword [eax + 0x34], 0
mov dword [eax + 0x30], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [0x5b1323], 0x8000
mov dword [0x5b132b], 0x1000000
mov dword [0x5b1333], 0xf00000
mov dword [0x5b1337], 0x100
mov dword [0x5b133b], 0x800
mov dword [0x5b198f], 0
mov dword [0x5b198b], 0x1100000
push 0x180
push 0x580fac
push edi
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
jmp 0x409717
mov eax, dword [0x58508c]
mov eax, dword [eax]
mov dword [0x5b1310], eax
nop dword [eax]
lea eax, [esp + 0xbc]
push eax
push edi
push str.a::hls:S:vw
push ebx
push esi
call fcn.0048e3e0
add esp, 0x14
lea ecx, [eax - 0x3f]
cmp ecx, 0x38
ja case.default.0x409740
jmp dword [ecx*4 + 0x580150]
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x5b1308
mov eax, dword [0x58508c]
push dword [eax]
call fcn.00413220
add esp, 0x14
test al, al
jne 0x409720
jmp 0x40d104
test eax, eax
jne 0x409f1f
mov eax, dword [esp + 0xbc]
shl eax, 4
mov edi, dword [esp + eax + 0x248]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d0f8
mov ebx, eax
cmp eax, 0xb
jae 0x409828
mov eax, ebx
add al, bl
mov byte [esp + 0xc0], al
lea esi, [esp + 0xc1]
test ebx, ebx
jne 0x40985b
jmp 0x409866
mov eax, dword [esp + 0xc]
mov byte [eax + 0xa], 1
mov eax, dword [0x58508c]
mov eax, dword [eax]
test eax, eax
je 0x409720
lea ecx, [esp + 0x98]
push eax
call fcn.00424d80
jmp 0x409720
mov byte [0x5b1316], 1
jmp 0x409720
call fcn.00429240
jmp 0x409720
mov eax, dword [esp + 0xc]
mov byte [eax + 8], 1
jmp 0x409720
mov dword [esp + 0x74], edi
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420cd0
add esp, 4
mov esi, eax
mov dword [esp + 0xc8], eax
add edi, 2
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0xc4], ebx
push ebx
push edi
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
movzx eax, byte [esp + 0xc0]
mov esi, eax
shr esi, 1
mov edx, eax
and dl, 1
mov ecx, dword [esp + 0xc4]
mov edi, ecx
cmove edi, esi
cmp edi, 4
mov ebx, dword [ebp + 0xc]
jne 0x4098c6
lea ecx, [esp + 0xc0]
push 4
push str.base
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409d88
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 7
jne 0x409909
lea ecx, [esp + 0xc0]
push 7
push str.cmdline
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409da2
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0x14
jne 0x40994c
lea ecx, [esp + 0xc0]
push 0x14
push str.disable_verification
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409da9
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
jne 0x40998f
lea ecx, [esp + 0xc0]
push 0xe
push str.disable_verity
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409db2
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 5
jne 0x4099d2
lea ecx, [esp + 0xc0]
push 5
push str.force
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409dbb
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xa
jne 0x409a15
lea ecx, [esp + 0xc0]
push 0xa
push str.fs_options
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409dc5
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
jne 0x409a58
lea ecx, [esp + 0xc0]
push 0xe
push str.header_version
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409dd9
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 3
jne 0x409a9b
lea ecx, [esp + 0xc0]
push 3
push 0x580f89
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409df3
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xd
lea edi, [esp + 0xc0]
jne 0x409ae0
mov ecx, edi
push 0xd
push str.kernel_offset
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409e30
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xe
jne 0x409b13
mov ecx, edi
push 0xe
push str.os_patch_level
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409e4a
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov edi, ecx
cmove edi, esi
cmp edi, 0xa
jne 0x409b60
lea ecx, [esp + 0xc0]
push 0xa
push str.os_version
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409e5d
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 9
jne 0x409ba3
lea ecx, [esp + 0xc0]
push 9
push str.page_size
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409e70
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
jne 0x409be6
lea ecx, [esp + 0xc0]
push 0xe
push str.ramdisk_offset
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409e98
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xb
jne 0x409c29
lea ecx, [esp + 0xc0]
push 0xb
push str.skip_reboot
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409eb5
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
jne 0x409c6c
lea ecx, [esp + 0xc0]
push 0xe
push str.skip_secondary
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409ec2
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 4
lea edi, [esp + 0xc0]
jne 0x409cb1
mov ecx, edi
push 4
push str.slot
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409ecf
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xa
jne 0x409ce4
mov ecx, edi
push 0xa
push str.dtb_offset
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409edb
movzx eax, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov edx, eax
shr dl, 1
and al, 1
movzx edx, dl
mov esi, ecx
cmove esi, edx
cmp esi, 0xb
mov esi, dword [ebp + 8]
jne 0x409d29
mov ecx, edi
push 0xb
push str.tags_offset
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x409f02
movzx edx, byte [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, edx
and al, 1
shr edx, 1
test al, al
cmovne edx, ecx
cmp edx, 0xa
jne 0x40a875
mov ecx, edi
push 0xa
push str.unbuffered
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
jne 0x40a875
push 1
mov esi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
call esi
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 esi
mov esi, dword [ebp + 8]
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 0x409e07
push 0x10
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b1090], eax
jmp 0x409e04
mov ecx, 0x5b12d8
jmp 0x409df8
mov byte [0x5b1314], 1
jmp 0x409e04
mov byte [0x5b1315], 1
jmp 0x409e04
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc], 1
jmp 0x409e04
mov eax, dword [0x58508c]
push dword [eax]
call fcn.0040d2d0
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
jmp 0x409e04
push 0
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b133f], eax
jmp 0x409e04
mov ecx, 0x5b12e4
mov eax, dword [0x58508c]
push dword [eax]
call fcn.00424d80
mov esi, dword [ebp + 8]
test byte [esp + 0xc0], 1
lea edi, [esp + 0x248]
je 0x409720
push dword [esp + 0xc8]
call fcn.00420e70
add esp, 4
jmp 0x409720
push 0x10
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b1323], eax
jmp 0x409e04
mov eax, dword [0x58508c]
push dword [eax]
push 0x5b1317
call fcn.0040d530
jmp 0x409e04
mov eax, dword [0x58508c]
push dword [eax]
push 0x5b1317
call fcn.0040d5e0
jmp 0x409e04
push 0
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b133b], eax
test eax, eax
mov esi, dword [ebp + 8]
jne 0x409e07
jmp 0x40d115
push 0x10
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b132b], eax
jmp 0x409e04
mov eax, dword [esp + 0xc]
mov byte [eax + 9], 1
jmp 0x409e04
mov eax, dword [esp + 0xc]
mov byte [eax + 0xb], 1
jmp 0x409e04
mov ecx, dword [esp + 0xc]
add ecx, 0x10
jmp 0x409df8
push 0x10
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b198b], eax
mov dword [0x5b198f], 0
jmp 0x409e04
push 0x10
push 0
mov eax, dword [0x58508c]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5b1337], eax
jmp 0x409e07
cmp eax, 0xffffffff
jne case.0x409740.64
mov eax, dword [0x585090]
mov ebx, dword [eax]
sub esi, ebx
jne 0x409f47
mov eax, dword [esp + 0xc]
cmp byte [eax + 8], 0
jne 0x409f47
cmp byte [eax + 0xa], 0
je 0x40d168
mov eax, dword [ebp + 0xc]
lea edi, [eax + ebx*4]
test esi, esi
jle 0x409fb3
mov dword [esp + 0x74], edi
mov edi, dword [edi]
push 0x5811b7
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40a1b7
push 0x5811bf
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40a209
push str.disconnect
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40a4d5
push str.help
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
mov edi, dword [esp + 0x74]
je 0x40a74c
call fcn.00404a30
test eax, eax
je case.0x409740.63
xorpd xmm0, xmm0
movupd xmmword [esp + 0x148], xmm0
movupd xmmword [esp + 0x158], xmm0
movupd xmmword [esp + 0x168], xmm0
movupd xmmword [esp + 0x178], xmm0
movupd xmmword [esp + 0x188], xmm0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x140], 0x584e7c
mov dword [esp + 0x144], 0x40d880
lea ecx, [esp + 0x140]
mov dword [esp + 0x150], ecx
lea ecx, [esp + 0x158]
mov dword [esp + 0x158], 0x584fc4
mov dword [esp + 0x15c], 0x40d8d0
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x170]
mov dword [esp + 0x170], 0x584e7c
mov dword [esp + 0x174], 0x40d990
mov dword [esp + 0x180], ecx
lea ecx, [esp + 0x188]
mov dword [esp + 0x188], 0x584e7c
mov dword [esp + 0x18c], 0x40d9c0
mov dword [esp + 0x198], ecx
movapd xmmword [esp + 0x130], xmm0
movapd xmmword [esp + 0x120], xmm0
movapd xmmword [esp + 0x110], xmm0
movapd xmmword [esp + 0x100], xmm0
movapd xmmword [esp + 0xf0], xmm0
movapd xmmword [esp + 0xe0], xmm0
movapd xmmword [esp + 0xd0], xmm0
movapd xmmword [esp + 0xc0], xmm0
lea edx, [esp + 0x1d8]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1d8], 0x584e7c
mov dword [esp + 0x1dc], 0x40d880
lea ecx, [esp + 0x1f0]
mov dword [esp + 0x200], ecx
mov dword [esp + 0x1f0], 0x584fc4
mov dword [esp + 0x1f4], 0x40d8d0
lea ebx, [esp + 0x208]
mov dword [esp + 0x218], ebx
mov dword [esp + 0x208], 0x584e7c
mov dword [esp + 0x20c], 0x40d990
lea esi, [esp + 0x220]
mov dword [esp + 0x230], esi
mov dword [esp + 0x220], 0x584e7c
mov dword [esp + 0x224], 0x40d9c0
lea ecx, [esp + 0xc0]
push 0
push edx
push eax
call fcn.00476dd0
mov ecx, dword [esp + 0x230]
cmp ecx, esi
je 0x40a284
test ecx, ecx
je 0x40a292
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x40a28e
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_create_logical_partition_NAME_SIZE_n____________________________Create_a_logical_partition_with_the_given_name_and_n____________________________size__in_the_super_partition._n_delete_logical_partition_NAME_n____________________________Delete_a_logical_partition_with_the_given_name._n_resize_logical_partition_NAME_SIZE_n____________________________Change_the_size_of_the_named_logical_partition._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_fetch_PARTITION_OUT_FILE___Fetch_a_partition_image_from_the_device._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_sl
push eax
call fcn.004018d0
add esp, 8
xor esi, esi
jmp 0x40cea0
mov dword [esp + 0xc0], 0x583fcc
mov dword [esp + 0xc4], 0x40f9e0
lea esi, [esp + 0xc0]
mov dword [esp + 0xd0], esi
push 0
push esi
call fcn.004817b0
add esp, 8
mov ecx, dword [esp + 0xd0]
cmp ecx, esi
je 0x40a585
test ecx, ecx
je 0x40a593
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x40a58f
sub esi, ebx
cmp esi, 1
je 0x40a224
push 0
push 6
call fcn.0047b9c0
add esp, 8
test al, al
jne 0x40d07a
mov eax, dword [esp + 0x74]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x74], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d172
mov ebx, eax
cmp eax, 0xb
jae 0x40a5a4
mov eax, ebx
add al, bl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
test ebx, ebx
lea edi, [esp + 0xc0]
jne 0x40a5cd
jmp 0x40a5db
mov eax, dword [esp + 0x220]
add eax, 0x10
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0x218]
cmp ecx, ebx
je 0x40a2ad
test ecx, ecx
mov esi, dword [ebp + 8]
je 0x40a2be
mov eax, dword [ecx]
add eax, 0x14
mov ebx, ecx
jmp 0x40a2ba
mov eax, dword [esp + 0x208]
add eax, 0x10
mov esi, dword [ebp + 8]
mov ecx, ebx
call dword [eax]
mov edx, dword [esp + 0x200]
lea ecx, [esp + 0x1f0]
cmp edx, ecx
je 0x40a2e0
test edx, edx
mov ebx, dword [ebp + 0xc]
je 0x40a2ef
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40a2ed
mov eax, dword [esp + 0x1f0]
add eax, 0x10
mov ebx, dword [ebp + 0xc]
call dword [eax]
mov edx, dword [esp + 0x1e8]
lea ecx, [esp + 0x1d8]
cmp edx, ecx
je 0x40a30e
test edx, edx
je 0x40a31a
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40a318
mov eax, dword [esp + 0x1d8]
add eax, 0x10
call dword [eax]
lea ecx, [esp + 0xc0]
mov dword [0x5b12f0], ecx
mov eax, dword [esp + 0xc]
mov dword [eax + 0x34], ecx
call fcn.00429170
fstp qword [esp + 0x240]
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + 0x10]
test al, 1
je 0x40a34b
mov eax, dword [edx + 0x14]
jmp 0x40a34d
shr eax, 1
movsd xmm0, qword [esp + 0x240]
movsd qword [esp + 0x1a8], xmm0
test eax, eax
jne 0x40a380
add edx, 0x10
mov ecx, edx
push 0
push 0x5802eb
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40a3d0
mov edx, dword [esp + 0xc]
add edx, 0x10
lea ecx, [esp + 0x30]
push 1
call fcn.0040d9f0
add esp, 4
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x10]
test byte [eax + 0x10], 1
je 0x40a3bc
mov ecx, dword [eax + 0x18]
mov byte [ecx], 0
mov dword [eax + 0x14], 0
test byte [eax + 0x10], 1
je 0x40a3bc
push dword [eax + 0x18]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esi], xmm0
mov esi, dword [ebp + 8]
movzx eax, byte [esp + 0x98]
test al, 1
je 0x40a3e9
mov eax, dword [esp + 0x9c]
test eax, eax
jne 0x40a40a
jmp 0x40a3ef
shr eax, 1
test eax, eax
jne 0x40a40a
lea ecx, [esp + 0x98]
push 0
push 0x5802eb
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40a471
lea ecx, [esp + 0x30]
lea edx, [esp + 0x98]
push 0
call fcn.0040d9f0
add esp, 4
test byte [esp + 0x98], 1
je 0x40a457
mov eax, dword [esp + 0xa0]
mov byte [eax], 0
mov dword [esp + 0x9c], 0
test byte [esp + 0x98], 1
je 0x40a457
push dword [esp + 0xa0]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa0], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x98], xmm0
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xa], 0
je 0x40ad5f
movzx eax, byte [esp + 0x98]
test al, 1
je 0x40a494
mov eax, dword [esp + 0x9c]
jmp 0x40a496
shr eax, 1
test eax, eax
jne 0x40ad5f
lea ecx, [esp + 0x98]
push 0
push 0x5802eb
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
jne 0x40ad5f
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + 0x10]
test al, 1
je 0x40acd5
mov eax, dword [edx + 0x14]
jmp 0x40acd7
sub esi, ebx
cmp esi, 1
je 0x40a8c9
test esi, esi
lea edi, [esp + 0xc0]
jne 0x40a929
xorpd xmm0, xmm0
movapd xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov ecx, edi
call fcn.0048e460
mov dword [esp + 0x140], 0
lea esi, [esp + 0x140]
mov ecx, esi
push edi
call fcn.0048ed20
mov ecx, edi
push esi
call fcn.0048ec90
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
mov eax, dword [esp + 0x140]
cmp eax, 0xffffffff
je 0x40a558
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp + 0x140], 0xffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], esi
test byte [esp + 0xcc], 1
je 0x40aa56
push dword [esp + 0xd4]
jmp 0x40aa4e
mov eax, dword [esp + 0xc0]
add eax, 0x10
mov ecx, esi
call dword [eax]
mov ecx, 1
call fcn.0040f6c0
xor esi, esi
jmp 0x40cea0
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420cd0
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
add edi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
lea edi, [esp + 0xc0]
push ebx
push dword [esp + 0x78]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004019d0
add esp, 8
cmp dword [esp + 0xd4], 0
jne 0x40d17b
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x34]
lea eax, [esp + 0xc4]
push eax
call fcn.00424040
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x40], eax
test byte [esp + 0x34], 1
mov ebx, dword [esp + 0x74]
je 0x40a639
push dword [esp + 0x3c]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0xd4]
cmp eax, 0xffffffff
je 0x40a666
movsd xmm0, qword [0x581aa0]
movsd qword [esp + 0x140], xmm0
lea ecx, [esp + 0x68]
push edi
push ecx
call dword [esp + eax*4 + 0x148]
add esp, 8
mov dword [esp + 0xd4], 0xffffffff
test byte [esp + 0x10], 1
je 0x40a684
push dword [esp + 0x18]
call fcn.00420e70
add esp, 4
mov ecx, ebx
xor edx, edx
push 1
call fcn.0040f280
add esp, 4
test eax, eax
je case.0x409740.63
xorpd xmm0, xmm0
movapd xmmword [esp + 0x140], xmm0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
lea esi, [esp + 0x140]
mov ecx, esi
call fcn.0048e460
mov dword [esp], 0
mov edi, esp
mov ecx, edi
push esi
call fcn.0048ed20
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
push edi
push esi
call fcn.0048ea30
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d19c
mov ecx, eax
cmp eax, 0xb
jae 0x40a758
mov eax, ecx
add al, cl
mov byte [esp + 0x68], al
lea esi, [esp + 0x69]
test ecx, ecx
jne 0x40a782
jmp 0x40a791
mov esi, 1
jmp 0x40cea0
call fcn.0040d860
xor esi, esi
jmp 0x40cea0
mov ebx, ecx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov esi, ecx
call fcn.00420cd0
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x70], eax
add ebx, 2
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x6c], ecx
push ecx
push ebx
push esi
mov ebx, ecx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, ebx
add esp, 0xc
mov byte [esi + ecx], 0
mov dword [esp + 0x78], 0
lea eax, [esp + 0x68]
lea edx, [esp + 0x78]
lea esi, [esp + 0x10]
mov ecx, esi
push eax
push edx
call fcn.004141a0
cmp dword [eax], 0
jne 0x40a824
mov ebx, eax
push 0x1c
call fcn.00420cd0
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x18], ecx
movsd xmm0, qword [esp + 0x68]
movsd qword [eax + 0x10], xmm0
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x78]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], ecx
mov dword [ebx], eax
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
test ecx, ecx
je 0x40a813
mov dword [esp + 0x10], ecx
mov eax, dword [ebx]
push eax
push dword [esp + 0x18]
call fcn.004142b0
add esp, 8
inc dword [esp + 0x18]
test byte [esp + 0x68], 1
je 0x40a837
push dword [esp + 0x70]
call fcn.00420e70
add esp, 4
lea ecx, [esp + 0x140]
push esi
push edi
call fcn.0048e880
mov ecx, esi
push dword [esp + 0x14]
call fcn.00413610
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
mov eax, dword [esp]
cmp eax, 0xffffffff
je 0x40a869
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp], 0xffffffff
jmp 0x40ac92
lea eax, [esp + 0xc0]
push str.version
push eax
call fcn.00411ae0
add esp, 8
test al, al
je 0x40d1c6
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov esi, eax
lea edi, [esp + 0x140]
push edi
call fcn.004014f0
add esp, 4
test byte [esp + 0x140], 1
je 0x40a9ca
mov eax, dword [esp + 0x148]
jmp 0x40a9d1
mov eax, dword [esp + 0x74]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x74], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
lea edi, [esp + 0xc0]
jae 0x40d172
mov ebx, eax
cmp eax, 0xb
jae 0x40aa70
mov eax, ebx
add al, bl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
test ebx, ebx
jne 0x40aa99
jmp 0x40aaa7
xor esi, esi
push 0
push 6
call fcn.0047b9c0
add esp, 8
test al, al
je 0x40cea0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ebx, dword [eax]
sub esp, 0x14
movapd xmm0, xmmword [0x580120]
movupd xmmword [esp + 4], xmm0
mov dword [esp], str.system_core_fastboot_fastboot.cpp
lea edi, [esp + 0xd4]
mov ecx, edi
call fcn.0047ba20
mov ecx, edi
call fcn.0047b9f0
push 0x3c
push str.disconnect_command_can_receive_only_0_or_1_arguments._Usage:
push eax
call fcn.00415070
add esp, 0xc
push eax
call fcn.00414140
add esp, 4
push 0x2c
push str.fastboot_disconnect__disconnect_all_devices
push eax
call fcn.00415070
add esp, 0xc
push eax
call fcn.00414140
add esp, 4
push 0x3c
push str.fastboot_disconnect__tcp:udp:host:port___disconnect_device
push eax
call fcn.00415070
add esp, 0xc
mov ecx, edi
call fcn.0047baf0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], ebx
jmp 0x40cea0
lea eax, [esp + 0x141]
push eax
push str.34.0.3
push str.fastboot_version__s__s_n
push esi
call fcn.004018d0
add esp, 0x10
test byte [esp + 0x140], 1
je 0x40a9fe
push dword [esp + 0x148]
call fcn.00420e70
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 esi, eax
push edi
call fcn.0042a890
add esp, 4
test byte [esp + 0x140], 1
je 0x40aa27
mov eax, dword [esp + 0x148]
jmp 0x40aa2e
lea eax, [esp + 0x141]
push eax
push str.Installed_as__s_n
push esi
call fcn.004018d0
add esp, 0xc
test byte [esp + 0x140], 1
je 0x40aa56
push dword [esp + 0x148]
call fcn.00420e70
add esp, 4
test byte [esp + 0xc0], 1
je 0x40ce9e
push dword [esp + 0xc8]
jmp 0x40acc8
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420cd0
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
add edi, 2
mov dword [esp + 0x10], edi
lea edi, [esp + 0xc0]
mov dword [esp + 0x14], ebx
push ebx
push dword [esp + 0x78]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.004019d0
add esp, 8
cmp dword [esp + 0xd4], 0
jne 0x40d17b
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x34]
lea eax, [esp + 0xc4]
push eax
call fcn.00424040
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x40], eax
test byte [esp + 0x34], 1
je 0x40ab01
push dword [esp + 0x3c]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0xd4]
cmp eax, 0xffffffff
je 0x40ab2e
movsd xmm0, qword [0x581aa0]
movsd qword [esp + 0x140], xmm0
lea ecx, [esp + 0x68]
push edi
push ecx
call dword [esp + eax*4 + 0x148]
add esp, 8
mov dword [esp + 0xd4], 0xffffffff
test byte [esp + 0x10], 1
je 0x40ab4c
push dword [esp + 0x18]
call fcn.00420e70
add esp, 4
xorpd xmm0, xmm0
movapd xmmword [esp + 0x140], xmm0
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
lea edi, [esp + 0x140]
mov ecx, edi
call fcn.0048e460
mov dword [esp + 0x78], 0
lea esi, [esp + 0x78]
mov ecx, esi
push edi
call fcn.0048ed20
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea ecx, [esp + 0x10]
push esi
push edi
call fcn.0048ea30
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
push dword [esp + 0x74]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d19c
mov ebx, eax
cmp eax, 0xb
jae 0x40abfa
mov eax, ebx
add al, bl
mov byte [esp + 0x68], al
lea edi, [esp + 0x69]
test ebx, ebx
jne 0x40ac22
jmp 0x40ac30
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
call fcn.00420cd0
add esp, 4
mov edi, eax
mov dword [esp + 0x70], eax
add ebx, 2
mov dword [esp + 0x68], ebx
mov ebx, esi
lea esi, [esp + 0x78]
mov dword [esp + 0x6c], ebx
push ebx
push dword [esp + 0x78]
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
lea eax, [esp + 0x68]
lea edi, [esp + 0x10]
mov ecx, edi
push eax
call fcn.004143f0
test byte [esp + 0x68], 1
je 0x40ac57
push dword [esp + 0x70]
call fcn.00420e70
add esp, 4
lea ecx, [esp + 0x140]
push edi
push esi
call fcn.0048e880
mov ecx, edi
push dword [esp + 0x14]
call fcn.00413610
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
mov eax, dword [esp + 0x78]
cmp eax, 0xffffffff
je 0x40ac8a
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp + 0x78], 0xffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], esi
test byte [esp + 0x14c], 1
je 0x40acb3
push dword [esp + 0x154]
call fcn.00420e70
add esp, 4
test byte [esp + 0x140], 1
je 0x40ce9e
push dword [esp + 0x148]
call fcn.00420e70
add esp, 4
jmp 0x40ce9e
shr eax, 1
test eax, eax
jne 0x40acfc
add edx, 0x10
mov ecx, edx
push 0
push 0x5802eb
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40cf1f
mov edx, dword [esp + 0xc]
add edx, 0x10
lea ecx, [esp + 0x30]
push 0
call fcn.0040d9f0
add esp, 4
test byte [esp + 0x98], 1
je 0x40ad45
mov eax, dword [esp + 0xa0]
mov byte [eax], 0
mov dword [esp + 0x9c], 0
test byte [esp + 0x98], 1
je 0x40ad45
push dword [esp + 0xa0]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa0], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x98], xmm0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
lea eax, [ebx + esi*4]
lea ecx, [esp + 0x68]
push eax
push edi
call fcn.004129a0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40ca48
lea eax, [esp + 0x79]
mov dword [esp + 0x1a0], eax
lea eax, [esp + 1]
mov dword [esp + 0x1a4], eax
lea eax, [esp + 0x31]
mov dword [esp + 0xb8], eax
mov eax, dword [0x585088]
add eax, 8
mov dword [esp + 0x74], eax
lea edi, [esp + 0x78]
lea ebx, [esp + 0x68]
jmp 0x40ae02
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
lea ebx, [esp + 0x68]
je 0x40ca48
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x80], 0
mov ecx, edi
mov edx, ebx
call fcn.0040dc40
movzx edx, byte [esp + 0x78]
mov eax, edx
shr eax, 1
and dl, 1
mov ecx, dword [esp + 0x7c]
mov esi, ecx
cmove esi, eax
cmp esi, 6
jne 0x40ae6a
mov ecx, edi
push 6
push str.getvar
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b3a8
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
shr eax, 1
test dl, dl
mov esi, ecx
cmove esi, eax
cmp esi, 5
jne 0x40aea0
mov ecx, edi
push 5
push str.erase
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b401
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
shr eax, 1
lea esi, [esp + 0x79]
test dl, dl
je 0x40aeb1
mov esi, dword [esp + 0x80]
mov eax, ecx
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d0], esi
mov dword [esp + 0x1c8], str.format
mov dword [esp + 0x1cc], 6
sub esp, 0x10
movsd xmm0, qword [esp + 0x1d8]
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x1e0]
movsd qword [esp], xmm0
call fcn.0042b080
add esp, 0x10
test al, al
je 0x40afb0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov word [esp + 0x30], 0x3a02
lea esi, [esp + 0x30]
push esi
push edi
lea eax, [esp + 8]
push eax
call fcn.0042ad20
add esp, 0xc
test byte [esp + 0x30], 1
je 0x40af61
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 1
jbe 0x40b3db
test byte [eax + 0xc], 1
je 0x40b465
mov eax, dword [eax + 0x14]
jmp 0x40b468
movzx eax, byte [esp + 0x78]
mov esi, eax
shr esi, 1
mov edx, eax
and dl, 1
mov ecx, dword [esp + 0x7c]
mov ebx, ecx
cmove ebx, esi
cmp ebx, 9
jne 0x40aff8
mov ecx, edi
push 9
push str.signature
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b4c0
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 6
jne 0x40b034
mov ecx, edi
push 6
push 0x5809e1
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
lea edx, [esp + 0x68]
je 0x40b66e
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 0x11
jne 0x40b06c
mov ecx, edi
push 0x11
push str.reboot_bootloader
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b81a
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 0xf
jne 0x40b0a4
mov ecx, edi
push 0xf
push str.reboot_recovery
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b84f
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xf
jne 0x40b0d1
mov ecx, edi
push 0xf
push str.reboot_fastboot
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b87e
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov ebx, ecx
cmove ebx, esi
cmp ebx, 8
jne 0x40b113
mov ecx, edi
push 8
push str.continue
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b95b
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 4
jne 0x40b14b
mov ecx, edi
push 4
push str.boot
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40b96f
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 5
lea ebx, [esp + 0x68]
jne 0x40b187
mov ecx, edi
push 5
push str.flash
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40ba7e
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 9
jne 0x40b1b4
mov ecx, edi
push 9
push str.flash:raw
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40bb54
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov ebx, ecx
cmove ebx, esi
cmp ebx, 8
jne 0x40b1f6
mov ecx, edi
push 8
push str.flashall
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40bcb4
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov ebx, ecx
cmove ebx, esi
cmp ebx, 6
lea ebx, [esp + 0x68]
jne 0x40b232
mov ecx, edi
push 6
push str.update
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40bccc
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xa
jne 0x40b25f
mov ecx, edi
push 0xa
push str.set_active
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40be92
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov ebx, ecx
cmove ebx, esi
cmp ebx, 5
lea ebx, [esp + 0x68]
jne 0x40b2a5
mov ecx, edi
push 5
push str.stage
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40bfea
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xa
lea esi, [esp + 0x30]
jne 0x40b2d6
mov ecx, edi
push 0xa
push str.get_staged
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40c26b
movzx eax, byte [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
shr dl, 1
test al, 1
movzx eax, dl
cmovne eax, ecx
cmp eax, 3
jne 0x40b301
mov ecx, edi
push 3
push 0x581342
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40c3d3
push str.flashing
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40bce4
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
je 0x40d1e1
sub ecx, eax
cmp ecx, 0xc
jne 0x40d220
push str.unlock
push eax
call fcn.00411ae0
add esp, 8
test al, al
jne 0x40b39c
push str.lock
push dword [esp + 0x6c]
call fcn.00411ae0
add esp, 8
test al, al
jne 0x40b39c
push str.unlock_critical
push dword [esp + 0x6c]
call fcn.00411ae0
add esp, 8
test al, al
jne 0x40b39c
push str.lock_critical
push dword [esp + 0x6c]
call fcn.00411ae0
add esp, 8
test al, al
jne 0x40b39c
push str.get_unlock_ability
push dword [esp + 0x6c]
call fcn.00411ae0
add esp, 8
test al, al
je 0x40d21c
mov ecx, esi
push str.flashing
jmp 0x40c3da
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov ecx, esi
mov edx, esi
call fcn.0040dd20
jmp 0x40be60
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
jmp 0x40b6ef
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
mov ebx, ecx
call fcn.0040dc40
mov eax, dword [esp + 0xc]
add eax, 0x10
mov dword [esp + 0x30], 0x5837f4
lea esi, [esp + 0x30]
mov dword [esp + 0x40], esi
push 1
push esi
push eax
push ebx
call fcn.00403270
add esp, 0x10
mov ecx, dword [esp + 0x40]
cmp ecx, esi
je 0x40b650
test ecx, ecx
je 0x40b65b
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40b659
add eax, 0xd
lea ecx, [esp + 0x20]
push eax
call fcn.00424d80
mov eax, dword [esp]
mov ecx, dword [esp + 4]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
cmp ecx, 3
jb 0x40b6ef
test byte [eax + 0x18], 1
je 0x40b6df
mov eax, dword [eax + 0x20]
jmp 0x40b6e2
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
lea esi, [esp + 0x30]
mov ecx, esi
lea edx, [esp + 0x68]
call fcn.0040dc40
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ebx, esp
push ebx
push esi
call fcn.004018f0
add esp, 8
test al, al
je 0x40d11f
mov eax, dword [esp + 4]
sub eax, dword [esp]
cmp eax, 0x100
jne 0x40d153
mov ecx, dword [0x5b12f0]
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x12
lea eax, [esp + 0x21]
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
push 0
push 0
push ebx
lea eax, [esp + 0x2c]
push eax
call fcn.00477b60
test byte [esp + 0x20], 1
je 0x40b56e
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov esi, dword [0x5b12f0]
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x12
lea eax, [esp + 0x21]
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
push 0x20
call fcn.00420cd0
add esp, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0x88], 0x21
mov dword [esp + 0x8c], 0x14
movupd xmm0, xmmword [str.installing_signature]
movupd xmmword [eax], xmm0
mov dword [eax + 0x10], 0x65727574
mov byte [eax + 0x14], 0
mov eax, dword [esi]
mov ecx, esi
push 0
push 0
push 0
lea edx, [esp + 0x94]
push edx
lea edx, [esp + 0x30]
push edx
call dword [eax + 0x1c]
test byte [esp + 0x88], 1
je 0x40b628
push dword [esp + 0x90]
call fcn.00420e70
add esp, 4
test byte [esp + 0x20], 1
je 0x40b63b
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x40be60
mov dword [esp + 4], eax
push eax
jmp 0x40be50
mov eax, dword [esp + 0x30]
add eax, 0x10
mov ecx, esi
call dword [eax]
test byte [esp], 1
je 0x40be73
push dword [esp + 8]
jmp 0x40be6b
mov eax, dword [esp + 0x6c]
sub eax, dword [esp + 0x68]
cmp eax, 0xc
jne 0x40b913
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
lea edi, [esp + 0x30]
mov ecx, edi
call fcn.0040dc40
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov ecx, eax
push edi
push ebx
call fcn.00481db0
mov dword [esp], esi
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jae 0x40bb15
mov dword [esp], 0
mov dword [eax], esi
add dword [esp + 0x14], 4
jmp 0x40bb21
add eax, 0x19
lea ecx, [esp + 0x88]
push eax
call fcn.00424d80
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
lea edi, [esp + 0xa8]
mov ecx, edi
mov edx, ebx
call fcn.0040dc40
mov eax, dword [esp + 0xc]
add eax, 0x10
mov dword [esp + 0x30], 0x58391c
lea ecx, [esp + 0x20]
mov dword [esp + 0x34], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
push 1
push esi
push eax
push edi
call fcn.00403270
add esp, 0x10
mov ecx, dword [esp + 0x40]
cmp ecx, esi
je 0x40b772
test ecx, ecx
lea edi, [esp + 0x78]
je 0x40b781
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40b77f
mov eax, dword [esp + 0x30]
add eax, 0x10
mov ecx, esi
lea edi, [esp + 0x78]
call dword [eax]
test byte [esp + 0xa8], 1
jne 0x40b7dc
test byte [esp + 0x88], 1
jne 0x40b7f5
test byte [esp + 0x20], 1
je 0x40b7a8
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov esi, dword [esp]
test esi, esi
je 0x40be73
mov eax, dword [esp + 4]
mov ecx, esi
cmp eax, esi
jne 0x40b7c6
jmp 0x40b810
mov eax, ebx
cmp ebx, esi
je 0x40b80d
lea ebx, [eax - 0xc]
test byte [eax - 0xc], 1
je 0x40b7c0
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40b7c0
push dword [esp + 0xb0]
call fcn.00420e70
add esp, 4
test byte [esp + 0x88], 1
je 0x40b795
push dword [esp + 0x90]
call fcn.00420e70
add esp, 4
test byte [esp + 0x20], 1
jne 0x40b79c
jmp 0x40b7a8
mov ecx, dword [esp]
mov dword [esp + 4], esi
push ecx
jmp 0x40be6b
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov byte [esp + 0x30], 0x14
lea eax, [esp + 0x31]
mov word [eax + 8], 0x7265
mov dword [eax + 4], 0x64616f6c
mov dword [eax], 0x746f6f62
mov byte [esp + 0x3b], 0
mov ecx, esi
jmp 0x40b8ad
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov dword [esp + 0x38], 0
mov byte [esp + 0x30], 0x10
mov dword [esp + 0x31], 0x6f636572
mov dword [esp + 0x35], 0x79726576
jmp 0x40b8ab
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov dword [esp + 0x38], 0
mov byte [esp + 0x30], 0x10
mov dword [esp + 0x31], 0x74736166
mov dword [esp + 0x35], 0x746f6f62
mov ecx, eax
lea eax, [esp + 0x30]
push eax
push ebx
call fcn.00481db0
mov dword [esp], esi
test byte [esp + 0x30], 1
je 0x40b8ce
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
mov edx, esp
jae 0x40b8ed
mov ecx, dword [esp]
mov dword [esp], 0
mov dword [eax], ecx
add dword [esp + 0x14], 4
jmp 0x40b8f7
lea ecx, [esp + 0x10]
push edx
call fcn.00420900
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
je 0x40be73
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x40be73
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40c138
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.00481d80
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jae 0x40c115
mov dword [esp + 0x30], 0
mov dword [eax], esi
add dword [esp + 0x14], 4
jmp 0x40c123
mov ecx, dword [0x5b12f0]
push 0
push 0
call fcn.00477020
jmp 0x40be73
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x30]
lea esi, [esp + 0x68]
mov edx, esi
call fcn.0040dc40
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40bd59
lea ecx, [esp + 0x20]
mov edx, esi
call fcn.0040dc40
test byte [esp], 1
mov ebx, esp
je 0x40b9ef
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 4], 0
test byte [esp], 1
je 0x40b9ef
push dword [esp + 8]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
cmp eax, dword [esp + 0x6c]
je 0x40bd73
lea ecx, [esp + 0x88]
mov edx, esi
call fcn.0040dc40
test byte [esp + 0x20], 1
je 0x40ba5f
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40ba5f
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x90]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x88]
movsd qword [esp + 0x20], xmm0
jmp 0x40bd73
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov esi, esp
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40beee
lea ecx, [esp + 0x30]
mov edx, ebx
call fcn.0040dc40
test byte [esp + 0x20], 1
je 0x40bafa
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40bafa
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x20], xmm0
mov ebx, esp
jmp 0x40bf3b
lea ecx, [esp + 0x10]
mov eax, esp
push eax
call fcn.00420900
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
lea edi, [esp + 0x78]
je 0x40bb38
mov eax, dword [ecx]
call dword [eax + 0x18]
test byte [esp + 0x30], 1
je 0x40c138
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
jmp 0x40c138
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40c14b
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
test byte [esp + 0x88], 1
je 0x40bc0b
mov eax, dword [esp + 0x90]
mov byte [eax], 0
mov dword [esp + 0x8c], 0
test byte [esp + 0x88], 1
je 0x40bc0b
push dword [esp + 0x90]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x90], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x68]
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
cmp eax, dword [esp + 0x6c]
je 0x40c170
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
test byte [esp + 0xa8], 1
je 0x40bc95
mov eax, dword [esp + 0xb0]
mov byte [eax], 0
mov dword [esp + 0xac], 0
test byte [esp + 0xa8], 1
je 0x40bc95
push dword [esp + 0xb0]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb0], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0xa8], xmm0
jmp 0x40c170
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x10]
test al, 1
je 0x40c0e0
mov eax, dword [ecx + 0x14]
jmp 0x40c0e2
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x10]
test al, 1
je 0x40c2a1
mov eax, dword [ecx + 0x14]
jmp 0x40c2a3
push str.create_logical_partition
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c356
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
mov ebx, ecx
call fcn.0040dc40
mov ecx, dword [0x5b12f0]
push ebx
push esi
call fcn.004770d0
test byte [esp], 1
jne 0x40be4c
jmp 0x40be60
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ebx, esp
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
lea esi, [esp + 0x88]
mov ecx, esi
lea edx, [esp + 0x30]
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.0040de70
add esp, 8
mov ecx, dword [0x5b12f0]
mov dword [esp + 0xb0], 0
mov byte [esp + 0xa8], 0x10
mov dword [esp + 0xa9], 0x746f6f62
mov dword [esp + 0xad], 0x676d692e
push 0
push 0
push esi
lea eax, [esp + 0xb4]
push eax
call fcn.00477b60
test byte [esp + 0xa8], 1
je 0x40be09
push dword [esp + 0xb0]
call fcn.00420e70
add esp, 4
mov ecx, dword [0x5b12f0]
push 0
push 0
call fcn.00476f90
mov eax, dword [esp + 0x88]
test eax, eax
je 0x40be33
mov dword [esp + 0x8c], eax
push eax
call fcn.00420e70
add esp, 4
test byte [esp + 0x20], 1
je 0x40be46
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
test byte [esp], 1
je 0x40be60
push dword [esp + 8]
call fcn.00420e70
add esp, 4
nop dword [eax + eax]
test byte [esp + 0x30], 1
je 0x40be73
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
test byte [esp + 0x78], 1
je 0x40adf0
push dword [esp + 0x80]
call fcn.00420e70
add esp, 4
jmp 0x40adf0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esp
mov edx, ebx
mov ebx, ecx
call fcn.0040dc40
lea esi, [esp + 0x30]
mov ecx, esi
mov edx, ebx
push 0
call fcn.0040d9f0
add esp, 4
test byte [esp], 1
je 0x40bed9
push dword [esp + 8]
call fcn.00420e70
add esp, 4
mov ecx, dword [0x5b12f0]
push 0
push 0
push esi
call fcn.00477990
jmp 0x40be60
push esi
lea eax, [esp + 0x34]
push eax
call fcn.004015f0
add esp, 8
test byte [esp + 0x20], 1
mov ebx, esi
je 0x40bf27
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40bf27
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp + 0x20], xmm0
movzx eax, byte [esp + 0x20]
test al, 1
je 0x40bf4a
mov eax, dword [esp + 0x24]
jmp 0x40bf4c
shr eax, 1
test eax, eax
je 0x40d1a5
xorpd xmm0, xmm0
movupd xmmword [esp + 0x4c], xmm0
movapd xmmword [esp + 0x40], xmm0
movapd xmmword [esp + 0x30], xmm0
mov esi, dword [esp + 0xc]
add esi, 0x10
mov ecx, ebx
call fcn.004094a0
movzx eax, al
lea ecx, [esp + 0x30]
push eax
lea eax, [esp + 0x24]
push eax
push ebx
push esi
mov esi, ecx
call fcn.00481a70
mov ecx, esi
call fcn.00481ac0
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], eax
test byte [esp + 0x4c], 1
jne 0x40bfb7
test byte [esp + 0x40], 1
jne 0x40bfca
test byte [esp + 0x34], 1
jne 0x40bfe1
jmp 0x40c24f
push dword [esp + 0x54]
call fcn.00420e70
add esp, 4
test byte [esp + 0x40], 1
je 0x40bfab
push dword [esp + 0x48]
call fcn.00420e70
add esp, 4
test byte [esp + 0x34], 1
je 0x40c24f
push dword [esp + 0x3c]
jmp 0x40c247
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040dc40
xorpd xmm0, xmm0
movapd xmmword [esp + 0x40], xmm0
movapd xmmword [esp + 0x30], xmm0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0xffffffff
test byte [esp], 1
lea ecx, [esp + 1]
je 0x40c040
mov ecx, dword [esp + 8]
lea edx, [esp + 0x30]
call fcn.00404010
test al, al
je 0x40d1fa
cmp dword [esp + 0x30], 0
jne 0x40d1fa
mov ecx, dword [0x5b12f0]
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c4], esi
mov edx, dword [ecx]
mov ebx, dword [esp + 0x1c4]
push 0
push 0
push eax
push ebx
lea eax, [esp + 0x10]
push eax
call dword [edx + 0x18]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ebx, dword [eax]
cmp esi, 0xffffffff
je 0x40c09e
push esi
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], ebx
mov esi, dword [esp + 0x34]
test esi, esi
je 0x40b65b
mov eax, dword [esp + 0x38]
cmp eax, esi
jne 0x40c0c6
push esi
jmp 0x40c25e
mov eax, ebx
cmp ebx, esi
je 0x40c0ba
lea ebx, [eax - 8]
mov ecx, dword [eax - 8]
mov dword [eax - 8], 0
test ecx, ecx
je 0x40c0c0
push ecx
call dword [eax - 4]
add esp, 4
jmp 0x40c0c0
shr eax, 1
lea esi, [esp + 0x30]
mov ebx, esp
cmp eax, 3
jne 0x40c610
add ecx, 0x10
push 3
push 0x5807b1
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
je 0x40c5ef
mov ecx, dword [esp + 0xc]
jmp 0x40c610
lea ecx, [esp + 0x10]
lea eax, [esp + 0x30]
push eax
call fcn.00420900
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x40c138
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40be73
jmp 0x40d15e
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
lea esi, [esp + 0x30]
mov ebx, edi
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b8], 0
lea edi, [esp + 0x1b0]
mov ecx, edi
lea edx, [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0040de70
add esp, 8
mov eax, dword [esp + 0xc]
add eax, 0x10
mov dword [esp + 0x30], 0x583a04
mov dword [esp + 0x34], edi
mov dword [esp + 0x40], esi
push 1
push esi
push eax
lea eax, [esp + 0xc]
push eax
call fcn.00403270
add esp, 0x10
mov ecx, dword [esp + 0x40]
cmp ecx, esi
je 0x40c1f5
test ecx, ecx
mov edi, ebx
je 0x40c202
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40c200
mov eax, dword [esp + 0x30]
add eax, 0x10
mov ecx, esi
mov edi, ebx
call dword [eax]
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x40c21d
mov dword [esp + 0x1b4], eax
push eax
call fcn.00420e70
add esp, 4
test byte [esp + 0xa8], 1
je 0x40c236
push dword [esp + 0xb0]
call fcn.00420e70
add esp, 4
test byte [esp + 0x88], 1
je 0x40c24f
push dword [esp + 0x90]
call fcn.00420e70
add esp, 4
test byte [esp + 0x20], 1
je 0x40b65b
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
jmp 0x40b65b
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov ecx, dword [0x5b12f0]
push 0
push 0
push esi
call fcn.00479270
jmp 0x40be60
shr eax, 1
lea esi, [esp + 0x30]
cmp eax, 3
jne 0x40c2dc
add ecx, 0x10
push 3
push 0x5807b1
push 0xffffffffffffffff
push 0
call fcn.00425f30
test eax, eax
jne 0x40c2dc
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.004018d0
add esp, 8
mov byte [esp], 0x14
lea eax, [esp + 1]
mov word [eax + 8], 0x7069
mov dword [eax + 4], 0x7a2e6574
mov dword [eax], 0x61647075
mov byte [esp + 0xb], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40c3ed
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
test byte [esp], 1
je 0x40c33a
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 4], 0
test byte [esp], 1
je 0x40c33a
push dword [esp + 8]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [esp], xmm0
movzx eax, byte [esp]
jmp 0x40c3ef
push str.delete_logical_partition
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c54b
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov edx, esi
mov esi, eax
mov ecx, eax
push edx
push ebx
call fcn.00483550
mov dword [esp], esi
lea ecx, [esp + 0x10]
mov eax, esp
push eax
call fcn.00412960
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
je 0x40be60
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x40be60
mov ecx, esi
push 0x581342
call fcn.004119f0
mov ecx, esi
mov edx, ebx
call fcn.0040e1a0
jmp 0x40be60
mov al, 0x14
lea ebx, [esp + 1]
test al, 1
je 0x40c3fb
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x88], 0
lea eax, [esp + 0x88]
push eax
push ebx
call fcn.00489300
add esp, 8
test eax, eax
jne 0x40d1b1
mov eax, dword [esp + 0x88]
mov dword [esp + 0x20], 0x5815b0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
mov dword [esi + 4], eax
mov byte [esi + 8], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x30]
call fcn.00406550
push dword [esp + 0x88]
call fcn.00489520
add esp, 4
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x40c4b8
mov eax, dword [esp + 0x40]
mov ecx, esi
cmp eax, esi
jne 0x40c491
jmp 0x40c4ab
mov eax, ebx
cmp ebx, esi
je 0x40c4a7
lea ebx, [eax - 0x10]
test byte [eax - 0xc], 1
je 0x40c48b
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40c48b
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
push ecx
call fcn.00420e70
add esp, 4
mov esi, dword [esp + 0x30]
test esi, esi
je 0x40c4f9
mov eax, dword [esp + 0x34]
mov ecx, esi
cmp eax, esi
jne 0x40c4d2
jmp 0x40c4ec
mov eax, ebx
cmp ebx, esi
je 0x40c4e8
lea ebx, [eax - 0x10]
test byte [eax - 0xc], 1
je 0x40c4cc
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40c4cc
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], esi
push ecx
call fcn.00420e70
add esp, 4
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40b65b
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.00481d80
mov dword [esp + 0x30], esi
lea ecx, [esp + 0x10]
lea eax, [esp + 0x30]
push eax
call fcn.00412ab0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x40b65b
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x40b65b
push str.resize_logical_partition
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c72a
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040dc40
mov ebx, dword [esp + 0xc]
lea eax, [ebx + 0x10]
mov dword [esp + 0x1c0], eax
push 0x2c
call fcn.00420cd0
add esp, 4
mov edx, esi
mov esi, eax
mov ecx, eax
push dword [esp + 0x1c0]
lea eax, [esp + 4]
push eax
push edx
push ebx
call fcn.004834a0
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x18]
test byte [esp], 1
jne 0x40be4c
jmp 0x40be60
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.004018d0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0xb], 1
mov dword [esp], 0x5815c8
mov dword [ecx + 4], ebx
xorpd xmm0, xmm0
movapd xmmword [esp + 0x30], xmm0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], ecx
mov ecx, esi
call fcn.00406550
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x40c68d
mov eax, dword [esp + 0x40]
mov ecx, esi
cmp eax, esi
jne 0x40c666
jmp 0x40c680
mov eax, ebx
cmp ebx, esi
je 0x40c67c
lea ebx, [eax - 0x10]
test byte [eax - 0xc], 1
je 0x40c660
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40c660
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], esi
push ecx
call fcn.00420e70
add esp, 4
mov esi, dword [esp + 0x30]
test esi, esi
je 0x40c6dd
mov eax, dword [esp + 0x34]
mov ecx, esi
cmp eax, esi
jne 0x40c6b6
jmp 0x40c6d0
mov eax, ebx
cmp ebx, esi
je 0x40c6cc
lea ebx, [eax - 0x10]
test byte [eax - 0xc], 1
je 0x40c6b0
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40c6b0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], esi
push ecx
call fcn.00420e70
add esp, 4
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40be73
push 0x14
call fcn.00420cd0
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.00481d80
mov dword [esp + 0x30], esi
lea eax, [esp + 0x30]
lea ecx, [esp + 0x10]
push eax
call fcn.00412ab0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
jne 0x40b909
jmp 0x40be73
push 0x581410
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c7ad
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
push str.wipe
push esi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c833
mov esi, dword [0x5b12f0]
mov ecx, esp
push str.gsi:wipe
call fcn.004119f0
lea ebx, [esp + 0x20]
mov ecx, ebx
push str.wiping_GSI
call fcn.004119f0
mov eax, dword [esi]
mov ecx, esi
push 0
push 0
push 0
push ebx
lea edx, [esp + 0x10]
push edx
call dword [eax + 0x1c]
jmp 0x40be33
push str.wipe_super
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c883
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40c97b
mov ecx, esp
mov edx, ebx
call fcn.0040dc40
test byte [esp + 0x30], 1
je 0x40c81b
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov dword [esp + 0x34], 0
test byte [esp + 0x30], 1
je 0x40c81b
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x30], xmm0
jmp 0x40c9e3
push str.disable
push esi
call fcn.00411ae0
add esp, 8
test al, al
mov ebx, esp
je 0x40d236
mov esi, dword [0x5b12f0]
mov ecx, ebx
push str.gsi:disable
call fcn.004119f0
lea ecx, [esp + 0x20]
push str.disabling_GSI
call fcn.004119f0
mov eax, dword [esi]
mov ecx, esi
push 0
push 0
push 0
lea edx, [esp + 0x2c]
push edx
push ebx
call dword [eax + 0x1c]
jmp 0x40be33
push str.snapshot_update
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40c90e
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x68]
cmp eax, dword [esp + 0x6c]
je 0x40c9f6
mov ecx, esp
mov edx, ebx
call fcn.0040dc40
test byte [esp + 0x30], 1
je 0x40c8ed
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov dword [esp + 0x34], 0
test byte [esp + 0x30], 1
je 0x40c8ed
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x30], xmm0
movzx ecx, byte [esp + 0x30]
mov eax, dword [esp + 0x34]
jmp 0x40c9fa
push str.fetch
push edi
call fcn.00411ae0
add esp, 8
test al, al
je 0x40d240
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov ecx, esi
mov edx, ebx
call fcn.0040dc40
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
mov ebx, ecx
call fcn.0040dc40
mov edx, dword [esp + 0xc]
add edx, 0x10
mov ecx, esi
push ebx
call fcn.0040ec00
jmp 0x40be43
lea ebx, [esp + 0x20]
mov ecx, ebx
push 0x580eab
call fcn.004119f0
mov ecx, esp
mov edx, ebx
call fcn.00401770
test byte [esp + 0x30], 1
je 0x40c9bd
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov dword [esp + 0x34], 0
test byte [esp + 0x30], 1
je 0x40c9bd
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x30], xmm0
test byte [esp + 0x20], 1
je 0x40c9e3
push dword [esp + 0x28]
call fcn.00420e70
add esp, 4
mov edx, dword [esp + 0xc]
add edx, 0x10
mov ecx, esi
call fcn.0040e310
jmp 0x40be60
xor eax, eax
xor ecx, ecx
mov edx, ecx
shr dl, 1
test cl, 1
movzx ecx, dl
cmovne ecx, eax
test ecx, ecx
je 0x40ca33
push str.cancel
push esi
call fcn.00412670
add esp, 8
test al, al
je 0x40ca33
push str.merge
push esi
call fcn.00412670
add esp, 8
test al, al
jne 0x40d266
mov ecx, dword [0x5b12f0]
push 0
push 0
push esi
call fcn.00477a60
jmp 0x40be60
mov eax, dword [esp + 0xc]
cmp byte [eax + 8], 0
je 0x40ccab
cmp byte [eax + 0xc], 0
je 0x40ca61
call fcn.00407ca0
mov dword [esp + 0x38], 0
mov byte [esp + 0x30], 0x10
mov eax, 0x6174656d
add eax, 0x10f10e08
mov dword [esp + 0x31], eax
mov dword [esp + 0x35], 0x61746164
lea esi, [esp + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x3c], 0xa
mov dword [esp + 0x3d], 0x68636163
mov byte [esp + 0x41], 0x65
lea ebx, [esp + 0x48]
mov dword [esp + 0x50], 0
mov byte [esp + 0x48], 0x10
mov dword [esp + 0x49], 0x6174656d
mov dword [esp + 0x4d], 0x61746164
push 0x24
call fcn.00420cd0
add esp, 4
mov edi, eax
lea eax, [esp + 0x30]
mov ecx, edi
push eax
call fcn.00424040
lea ecx, [edi + 0xc]
mov dword [esp + 0x74], ecx
push esi
call fcn.00424040
lea ecx, [edi + 0x18]
mov dword [esp + 0xb8], ecx
push ebx
call fcn.00424040
test byte [esp + 0x48], 1
jne 0x40cb59
test byte [esp + 0x3c], 1
jne 0x40cb6c
test byte [esp + 0x30], 1
je 0x40cb21
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov ebx, eax
mov ecx, eax
push edi
push esi
call fcn.00483590
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jae 0x40cb81
mov dword [esp + 0x30], 0
mov dword [eax], ebx
add dword [esp + 0x14], 4
jmp 0x40cb8f
push dword [esp + 0x50]
call fcn.00420e70
add esp, 4
test byte [esp + 0x3c], 1
je 0x40cb0e
push dword [esp + 0x44]
call fcn.00420e70
add esp, 4
test byte [esp + 0x30], 1
jne 0x40cb15
jmp 0x40cb21
lea ecx, [esp + 0x10]
lea eax, [esp + 0x30]
push eax
call fcn.00420ad0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x40cba4
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [esp + 0x74]
push esi
call fcn.00483590
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jae 0x40cbdf
mov dword [esp + 0x30], 0
mov dword [eax], ebx
add dword [esp + 0x14], 4
jmp 0x40cbed
lea ecx, [esp + 0x10]
lea eax, [esp + 0x30]
push eax
call fcn.00420ad0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x40cc02
mov eax, dword [ecx]
call dword [eax + 0x18]
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420cd0
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [esp + 0xb8]
push esi
call fcn.00483590
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
jae 0x40cc40
mov dword [esp + 0x30], 0
mov dword [eax], ebx
add dword [esp + 0x14], 4
jmp 0x40cc4e
lea ecx, [esp + 0x10]
lea eax, [esp + 0x30]
push eax
call fcn.00420ad0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test ecx, ecx
je 0x40cc63
mov eax, dword [ecx]
call dword [eax + 0x18]
mov eax, dword [esp + 0xb8]
test byte [eax], 1
je 0x40cc7a
push dword [edi + 0x20]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x74]
test byte [eax], 1
je 0x40cc8e
push dword [edi + 0x14]
call fcn.00420e70
add esp, 4
test byte [edi], 1
je 0x40cc9e
push dword [edi + 8]
call fcn.00420e70
add esp, 4
push edi
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xa], 0
je 0x40ccc8
mov ecx, dword [0x5b12f0]
push 0
push 0
lea eax, [esp + 0xa0]
push eax
call fcn.00477990
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp esi, edi
je 0x40cced
nop word cs:[eax + eax]
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
add esi, 4
cmp esi, edi
jne 0x40cce0
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.00429170
fstp qword [esp + 0x238]
movsd xmm0, qword [esp + 0x238]
subsd xmm0, qword [esp + 0x1a8]
sub esp, 0x10
mov dword [esp], esi
movsd qword [esp + 8], xmm0
mov dword [esp + 4], str.Finished._Total_time:__.3fs_n
call fcn.004018d0
add esp, 0x10
mov ecx, dword [0x5b12f0]
push 0
call fcn.0047a030
test eax, eax
je 0x40cd4c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
mov esi, dword [esp + 0x68]
test esi, esi
je 0x40cd8d
mov eax, dword [esp + 0x6c]
mov ecx, esi
cmp eax, esi
jne 0x40cd66
jmp 0x40cd80
mov eax, edi
cmp edi, esi
je 0x40cd7c
lea edi, [eax - 0xc]
test byte [eax - 0xc], 1
je 0x40cd60
push dword [eax - 4]
call fcn.00420e70
add esp, 4
jmp 0x40cd60
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], esi
push ecx
call fcn.00420e70
add esp, 4
mov esi, dword [esp + 0x10]
test esi, esi
je 0x40cddd
mov edi, dword [esp + 0x14]
mov eax, esi
cmp edi, esi
jne 0x40cdb4
jmp 0x40cdd0
cmp edi, esi
je 0x40cdcc
mov ecx, dword [edi - 4]
mov dword [edi - 4], 0
add edi, 0xfffffffc
test ecx, ecx
je 0x40cdb0
mov eax, dword [ecx]
call dword [eax + 0x18]
jmp 0x40cdb0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], esi
push eax
call fcn.00420e70
add esp, 4
lea ecx, [esp + 0xc0]
call fcn.00476ed0
mov edx, dword [esp + 0x198]
lea ecx, [esp + 0x188]
cmp edx, ecx
je 0x40ce0f
test edx, edx
lea esi, [esp + 0x140]
je 0x40ce22
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40ce20
mov eax, dword [esp + 0x188]
add eax, 0x10
lea esi, [esp + 0x140]
call dword [eax]
mov edx, dword [esp + 0x180]
lea ecx, [esp + 0x170]
cmp edx, ecx
je 0x40ce41
test edx, edx
je 0x40ce4d
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40ce4b
mov eax, dword [esp + 0x170]
add eax, 0x10
call dword [eax]
mov edx, dword [esp + 0x168]
lea ecx, [esp + 0x158]
cmp edx, ecx
je 0x40ce6c
test edx, edx
je 0x40ce78
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40ce76
mov eax, dword [esp + 0x158]
add eax, 0x10
call dword [eax]
mov ecx, dword [esp + 0x150]
cmp ecx, esi
je 0x40ce90
test ecx, ecx
je 0x40ce9e
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x40ce9a
mov eax, dword [esp + 0x140]
add eax, 0x10
mov ecx, esi
call dword [eax]
xor esi, esi
test byte [esp + 0x98], 1
je 0x40ceb9
push dword [esp + 0xa0]
call fcn.00420e70
add esp, 4
mov edi, dword [esp + 0xc]
mov dword [esp + 0xc], 0
test edi, edi
je 0x40ceef
test byte [edi + 0x28], 1
jne 0x40cefb
test byte [edi + 0x1c], 1
jne 0x40cf0c
test byte [edi + 0x10], 1
je 0x40cee6
push dword [edi + 0x18]
call fcn.00420e70
add esp, 4
push edi
call fcn.00420e70
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
push dword [edi + 0x30]
call fcn.00420e70
add esp, 4
test byte [edi + 0x1c], 1
je 0x40ced5
push dword [edi + 0x24]
call fcn.00420e70
add esp, 4
test byte [edi + 0x10], 1
jne 0x40cedb
jmp 0x40cee6
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov esi, dword [0x5b12f0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
push 0x10
call fcn.00420cd0
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0x11
mov dword [esp + 0x14], 0xc
mov dword [eax + 8], 0x746f6c73
mov dword [eax + 4], 0x2d746e65
mov dword [eax], 0x72727563
mov byte [eax + 0xc], 0
mov eax, dword [esi]
lea edx, [esp + 0x30]
lea edi, [esp + 0x10]
mov ecx, esi
push 0
push edx
push edi
call dword [eax + 0x14]
mov esi, eax
test byte [esp + 0x10], 1
je 0x40cfb7
push dword [esp + 0x18]
call fcn.00420e70
add esp, 4
test esi, esi
mov edi, dword [esp + 0x74]
je 0x40cfcf
mov eax, dword [esp + 0xc]
mov byte [eax + 0xa], 0
mov esi, dword [ebp + 8]
jmp 0x40d059
test byte [esp + 0x30], 1
mov esi, dword [ebp + 8]
je 0x40cfdf
mov eax, dword [esp + 0x38]
jmp 0x40cfe3
lea eax, [esp + 0x31]
cmp byte [eax], 0x5f
jne 0x40cff5
lea ecx, [esp + 0x30]
push 1
push 0
call fcn.004253f0
lea ecx, [esp + 0x10]
lea edx, [esp + 0x30]
push 0
call fcn.0040d9f0
add esp, 4
test byte [esp + 0x98], 1
je 0x40d03f
mov eax, dword [esp + 0xa0]
mov byte [eax], 0
mov dword [esp + 0x9c], 0
test byte [esp + 0x98], 1
je 0x40d03f
push dword [esp + 0xa0]
call fcn.00420e70
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0x98], xmm0
test byte [esp + 0x30], 1
je 0x40ad5f
push dword [esp + 0x38]
call fcn.00420e70
add esp, 4
jmp 0x40ad5f
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
mov edi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call edi
mov eax, dword [eax]
mov dword [esp + 0x1a8], eax
sub esp, 0x14
movapd xmm0, xmmword [0x580130]
movupd xmmword [esp + 4], xmm0
mov dword [esp], str.system_core_fastboot_fastboot.cpp
lea esi, [esp + 0xd4]
mov ecx, esi
call fcn.0047ba20
mov ecx, esi
call fcn.0047b9f0
push 0x3b
push str.connect_command_requires_to_receive_only_1_argument._Usage:
push eax
call fcn.00415070
add esp, 0xc
push eax
call fcn.00414140
add esp, 4
push 0x25
push str.fastboot_connect__tcp:udp:host:port_
push eax
call fcn.00415070
add esp, 0xc
mov ecx, esi
call fcn.0047baf0
call edi
mov ecx, dword [esp + 0x1a8]
mov dword [eax], ecx
jmp 0x40a224
lea ecx, [esp + 0xc0]
call fcn.00423df0
mov eax, dword [0x58508c]
push dword [eax]
push str.invalid_sparse_limit__s
call fcn.004291c0
push str.invalid_page_size
call fcn.004291c0
test byte [esp + 0x30], 1
je 0x40d131
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb8], eax
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 dword [esp + 0xbc]
push str.could_not_load__s:__s
call fcn.004291c0
push eax
push str.signature_must_be_256_bytes__got__zu_
call fcn.004291c0
push str.junk_after_reboot_command
call fcn.00402020
push str.no_command
call fcn.00402020
lea ecx, [esp + 0x10]
call fcn.00423df0
lea ecx, [esp + 0xc0]
call fcn.00413540
lea esi, [esp + 0x140]
mov ecx, esi
push eax
call fcn.00413550
push esi
call fcn.00429220
lea ecx, [esp + 0x68]
call fcn.00423df0
test byte [esp], 1
je 0x40d1eb
mov eax, dword [esp + 8]
jmp 0x40d1ef
push eax
call fcn.0048c700
add esp, 4
push eax
push ebx
push str.failed_to_open_zip_file__s:__s
call fcn.004291c0
mov eax, dword [esp + 0xbc]
shl eax, 4
push dword [esp + eax + 0x248]
push str.unknown_option__s
call fcn.004291c0
push str.missing_flashing_command
call fcn.00402020
lea eax, [esp + 1]
push eax
push str.cannot_determine_image_filename_for__s
call fcn.004291c0
test byte [esp], 1
je 0x40d20b
mov eax, dword [esp + 8]
mov dword [esp + 0x1a4], eax
push dword [esp + 0x1a4]
push str.cannot_load__s
call fcn.004291c0
mov eax, dword [esp + 0x68]
test byte [eax], 1
je 0x40d22a
mov eax, dword [eax + 8]
jmp 0x40d22b
inc eax
push eax
push str.unknown_flashing_command__s
call fcn.00402020
push str.expected_wipe_or_disable
call fcn.00402020
test byte [esp + 0x78], 1
je 0x40d255
mov eax, dword [esp + 0x80]
mov dword [esp + 0x1a0], eax
push dword [esp + 0x1a0]
push str.unknown_command__s
call fcn.00402020
push str.expected:_snapshot_update__cancelmerge_
call fcn.00402020
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
cmp eax, 4
je 0x40d287
cmp eax, 2
jne 0x40d2a3
push 1
jmp 0x40d289
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push esi
push 0x581f94
push eax
call fcn.004018d0
add esp, 0xc
pop esi
ret
push esi
push 0x581f94
call fcn.00429250
add esp, 8
pop esi
ret