Function at 0x4098d0
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, 0x410
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x258], 0x57cb1c
mov dword [esp + 0x25c], 0x40d940
lea edi, [esp + 0x258]
mov dword [esp + 0x268], edi
mov dword [esp + 0xb0], 0x57cc9c
mov dword [esp + 0xb4], 0x40d990
lea esi, [esp + 0xb0]
mov dword [esp + 0xc0], esi
push esi
push edi
push ebx
call fcn.0047b480
add esp, 0xc
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
je 0x40994b
test ecx, ecx
je 0x40995e
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40995c
mov eax, dword [esp + 0xb0]
add eax, 0x10
lea ecx, [esp + 0xb0]
call dword [eax]
mov ecx, dword [esp + 0x268]
cmp ecx, edi
je 0x409974
test ecx, ecx
je 0x409982
mov eax, dword [ecx]
add eax, 0x14
jmp 0x409980
mov eax, dword [esp + 0x258]
add eax, 0x10
mov ecx, edi
call dword [eax]
mov dword [esp + 0xc], 0
push 0x40
call fcn.00420210
add esp, 4
xorpd xmm0, xmm0
movupd xmmword [eax], xmm0
movupd xmmword [eax + 0x20], xmm0
movupd xmmword [eax + 0x30], xmm0
movupd xmmword [eax + 0x10], xmm0
mov word [eax + 0xd], 0x101
movupd xmmword [eax + 0x2c], xmm0
movupd xmmword [eax + 0x1f], xmm0
movupd xmmword [eax + 0xf], xmm0
mov dword [esp + 0xc], eax
mov dword [esp + 0x140], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x98], 0
mov dword [0x5aa33b], 0x8000
mov dword [0x5aa343], 0x1000000
mov dword [0x5aa34b], 0xf00000
mov dword [0x5aa34f], 0x100
mov dword [0x5aa353], 0x800
mov dword [0x5aa9a7], 0
mov dword [0x5aa9a3], 0x1100000
push 0x1b0
push 0x579020
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
push str.FASTBOOT_DEVICE
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
add esp, 4
mov dword [0x5aa328], eax
test eax, eax
jne 0x409a71
push str.ANDROID_SERIAL
call sub.api_ms_win_crt_environment_l1_1_0.dll_getenv
add esp, 4
mov dword [0x5aa328], eax
mov esi, dword [ebp + 8]
jmp 0x409a80
mov byte [0x5aa32e], 1
nop dword [eax]
lea eax, [esp + 0x140]
push eax
push edi
push str.a::hls:S:vw
push ebx
push esi
call fcn.0048e8d0
add esp, 0x14
lea ecx, [eax - 0x3f]
cmp ecx, 0x38
ja case.default.0x409aa0
jmp dword [ecx*4 + 0x578150]
mov eax, dword [0x57cf70]
mov edi, dword [eax]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1a8], eax
dec edi
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
movsx ebx, byte [edi + 1]
inc edi
push ebx
call esi
add esp, 4
test eax, eax
jne 0x409ac0
movzx eax, bl
cmp eax, 0x30
je 0x409bbc
mov esi, 0xa
cmp eax, 0x2d
lea ebx, [esp + 0xb0]
jne 0x409bdf
jmp 0x40d753
test eax, eax
jne 0x40a525
mov eax, dword [esp + 0x140]
shl eax, 4
mov edi, dword [esp + eax + 0x258]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d7e8
mov ebx, eax
cmp eax, 0xb
jae 0x409d01
mov eax, ebx
add al, bl
mov byte [esp + 0xb0], al
lea esi, [esp + 0xb1]
test ebx, ebx
jne 0x409d34
jmp 0x409d3f
mov eax, dword [esp + 0xc]
mov byte [eax + 0xa], 1
mov eax, dword [0x57cf70]
mov eax, dword [eax]
test eax, eax
je 0x409a80
lea ecx, [esp + 0x90]
push eax
call fcn.00424280
jmp 0x409a80
mov eax, dword [0x57cf70]
mov eax, dword [eax]
mov dword [0x5aa328], eax
jmp 0x409a80
call fcn.00428730
jmp 0x409a80
mov eax, dword [esp + 0xc]
mov byte [eax + 8], 1
jmp 0x409a80
movzx eax, byte [edi + 1]
mov esi, 0x10
cmp al, 0x78
lea ebx, [esp + 0xb0]
je 0x409bdf
cmp al, 0x58
mov esi, 0xa
mov eax, 0x10
cmove esi, eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0
mov dword [esp + 0xb0], 0
push esi
push ebx
push edi
call fcn.004761e0
add esp, 0xc
mov dword [esp + 0x6c], eax
mov ebx, edx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
cmp dword [eax], 0
jne 0x40d75f
mov eax, dword [esp + 0xb0]
cmp edi, eax
mov esi, dword [ebp + 8]
je 0x40d753
movsx eax, byte [eax]
test eax, eax
lea edi, [esp + 0x258]
je 0x409ce8
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
add esp, 4
push 8
push eax
push str.bkmgtpe
call sub.api_ms_win_crt_private_l1_1_0.dll_memchr
add esp, 0xc
test eax, eax
je 0x40d753
mov ecx, str.bkmgtpe
sub eax, ecx
add eax, eax
lea ecx, [eax + eax*4]
xor edi, edi
mov eax, 1
shld edi, eax, cl
mov esi, 1
shl esi, cl
test cl, 0x20
cmovne edi, esi
mov eax, 0
cmovne esi, eax
test edi, edi
setne al
test ebx, ebx
setne cl
and cl, al
mov eax, ebx
mul esi
mov dword [esp + 0x134], eax
seto byte [esp + 0xac]
mov eax, edi
mov ebx, dword [esp + 0x6c]
mul ebx
mov edx, dword [esp + 0x134]
lea edi, [edx + eax]
seto ch
mov eax, ebx
mul esi
mov esi, dword [ebp + 8]
or ch, byte [esp + 0xac]
or ch, cl
mov ebx, edx
add ebx, edi
setb cl
or cl, ch
mov dword [esp + 0x6c], eax
cmp cl, 1
je 0x40d753
lea edi, [esp + 0x258]
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ebx
mov ebx, dword [ebp + 0xc]
jmp 0x409a80
mov dword [esp + 0x6c], edi
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0xb8], eax
add edi, 2
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xb4], 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 + 0xb0]
mov esi, eax
shr esi, 1
mov edx, eax
and dl, 1
mov ecx, dword [esp + 0xb4]
mov edi, ecx
cmove edi, esi
cmp edi, 4
mov ebx, dword [ebp + 0xc]
jne 0x409d9f
lea ecx, [esp + 0xb0]
push 4
push str.base
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a354
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x409de2
lea ecx, [esp + 0xb0]
push 7
push str.cmdline
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a371
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x409e25
lea ecx, [esp + 0xb0]
push 0x14
push str.disable_verification
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a387
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x409e68
lea ecx, [esp + 0xb0]
push 0xe
push str.disable_verity
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a393
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0x1a
jne 0x409eab
lea ecx, [esp + 0xb0]
push 0x1a
push str.disable_super_optimization
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a39f
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0x1a
jne 0x409eee
lea ecx, [esp + 0xb0]
push 0x1a
push str.exclude_dynamic_partitions
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a3ac
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0x15
jne 0x409f31
lea ecx, [esp + 0xb0]
push 0x15
push str.disable_fastboot_info
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a3bd
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x409f74
lea ecx, [esp + 0xb0]
push 5
push str.force
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a3ca
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xa
lea edi, [esp + 0x258]
jne 0x409fbe
lea ecx, [esp + 0xb0]
push 0xa
push str.fs_options
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a3d7
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xe
jne 0x409ff6
lea ecx, [esp + 0xb0]
push 0xe
push str.header_version
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a3ee
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov edi, ecx
cmove edi, esi
cmp edi, 3
jne 0x40a043
lea ecx, [esp + 0xb0]
push 3
push 0x578ffd
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a40b
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xd
jne 0x40a086
lea ecx, [esp + 0xb0]
push 0xd
push str.kernel_offset
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a415
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x40a0c9
lea ecx, [esp + 0xb0]
push 0xe
push str.os_patch_level
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a42f
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x40a10c
lea ecx, [esp + 0xb0]
push 0xa
push str.os_version
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a442
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
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 0x40a14f
lea ecx, [esp + 0xb0]
push 9
push str.page_size
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a455
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
lea edi, [esp + 0x258]
jne 0x40a199
lea ecx, [esp + 0xb0]
push 0xe
push str.ramdisk_offset
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a480
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xb
jne 0x40a1d1
lea ecx, [esp + 0xb0]
push 0xb
push str.skip_reboot
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a49a
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov dh, al
shr dh, 1
mov dl, al
and dl, 1
movzx esi, dh
mov edi, ecx
cmove edi, esi
cmp edi, 0xe
jne 0x40a21e
lea ecx, [esp + 0xb0]
push 0xe
push str.skip_secondary
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a4a4
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 4
jne 0x40a261
lea ecx, [esp + 0xb0]
push 4
push str.slot
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a4d8
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
mov edi, ecx
cmove edi, esi
cmp edi, 0xa
lea edi, [esp + 0x258]
jne 0x40a2ab
lea ecx, [esp + 0xb0]
push 0xa
push str.dtb_offset
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a4e4
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xb
mov esi, dword [ebp + 8]
jne 0x40a2e6
lea ecx, [esp + 0xb0]
push 0xb
push str.tags_offset
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40a50b
movzx eax, byte [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov edx, eax
shr dl, 1
test al, 1
movzx eax, dl
cmovne eax, ecx
cmp eax, 0xa
jne 0x40aff9
lea ecx, [esp + 0xb0]
push 0xa
push str.unbuffered
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
jne 0x40aff9
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 0x40a4b6
push 0x10
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa090], eax
jmp 0x40a4ac
mov ecx, 0x5aa2f8
mov eax, dword [0x57cf70]
push dword [eax]
call fcn.00424280
jmp 0x40a4ac
mov byte [0x5aa32c], 1
jmp 0x40a4ac
mov byte [0x5aa32d], 1
jmp 0x40a4ac
mov eax, dword [esp + 0xc]
mov byte [eax + 0xd], 0
jmp 0x40a4ac
mov eax, dword [esp + 0xc]
mov byte [eax + 0xf], 1
mov byte [eax + 0xd], 0
jmp 0x40a4ac
mov eax, dword [esp + 0xc]
mov byte [eax + 0xe], 0
jmp 0x40a4ac
mov eax, dword [esp + 0xc]
mov byte [eax + 0xc], 1
jmp 0x40a4ac
mov eax, dword [0x57cf70]
push dword [eax]
call fcn.0040d9a0
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
jmp 0x40a506
push 0
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa357], eax
jmp 0x40a506
mov ecx, 0x5aa304
jmp 0x40a376
push 0x10
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa33b], eax
jmp 0x40a4ac
mov eax, dword [0x57cf70]
push dword [eax]
push 0x5aa32f
call fcn.0040dc00
jmp 0x40a4ac
mov eax, dword [0x57cf70]
push dword [eax]
push 0x5aa32f
call fcn.0040dcb0
jmp 0x40a4ac
push 0
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa353], eax
test eax, eax
mov esi, dword [ebp + 8]
lea edi, [esp + 0x258]
jne 0x40a4b6
jmp 0x40d833
push 0x10
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa343], eax
jmp 0x40a506
mov eax, dword [esp + 0xc]
mov byte [eax + 9], 1
jmp 0x40a506
mov eax, dword [esp + 0xc]
mov byte [eax + 0xb], 1
mov esi, dword [ebp + 8]
lea edi, [esp + 0x258]
test byte [esp + 0xb0], 1
je 0x409a80
push dword [esp + 0xb8]
call fcn.004203b0
add esp, 4
jmp 0x409a80
mov ecx, dword [esp + 0xc]
add ecx, 0x18
jmp 0x40a376
push 0x10
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa9a3], eax
mov dword [0x5aa9a7], 0
mov esi, dword [ebp + 8]
jmp 0x40a4b6
push 0x10
push 0
mov eax, dword [0x57cf70]
push dword [eax]
call sub.api_ms_win_crt_convert_l1_1_0.dll_strtoul
add esp, 0xc
mov dword [0x5aa34f], eax
jmp 0x40a4b6
cmp eax, 0xffffffff
jne case.0x409aa0.64
mov eax, dword [0x57cf74]
mov edi, dword [eax]
sub esi, edi
jne 0x40a54d
mov eax, dword [esp + 0xc]
cmp byte [eax + 8], 0
jne 0x40a54d
cmp byte [eax + 0xa], 0
je 0x40d847
lea ebx, [ebx + edi*4]
test esi, esi
mov dword [esp + 0x6c], ebx
jle 0x40a5b2
mov ebx, dword [ebx]
push 0x579272
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40a7e8
push 0x57927a
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40a85d
push str.disconnect
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40ab47
push str.help
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x40adc9
mov dword [esp + 0x138], 0
lea ecx, [esp + 0x138]
call fcn.00404f80
mov eax, dword [esp + 0x138]
test eax, eax
je case.0x409aa0.63
xorpd xmm0, xmm0
movupd xmmword [esp + 0x150], xmm0
movupd xmmword [esp + 0x160], xmm0
movupd xmmword [esp + 0x170], xmm0
movupd xmmword [esp + 0x180], xmm0
movupd xmmword [esp + 0x190], xmm0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x148], 0x57cd64
mov dword [esp + 0x14c], 0x40e120
lea ecx, [esp + 0x148]
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x160]
mov dword [esp + 0x160], 0x57ceac
mov dword [esp + 0x164], 0x40e170
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x178]
mov dword [esp + 0x178], 0x57cd64
mov dword [esp + 0x17c], 0x40e230
mov dword [esp + 0x188], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x190], 0x57cd64
mov dword [esp + 0x194], 0x40e260
mov dword [esp + 0x1a0], ecx
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
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], eax
lea edx, [esp + 0x1d8]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1d8], 0x57cd64
mov dword [esp + 0x1dc], 0x40e120
lea ebx, [esp + 0x1f0]
mov dword [esp + 0x200], ebx
mov dword [esp + 0x1f0], 0x57ceac
mov dword [esp + 0x1f4], 0x40e170
lea esi, [esp + 0x208]
mov dword [esp + 0x218], esi
mov dword [esp + 0x208], 0x57cd64
mov dword [esp + 0x20c], 0x40e230
lea edi, [esp + 0x220]
mov dword [esp + 0x230], edi
mov dword [esp + 0x220], 0x57cd64
mov dword [esp + 0x224], 0x40e260
lea eax, [esp + 0x13c]
lea ecx, [esp + 0xb0]
push 0
push edx
push eax
call fcn.004764b0
mov ecx, dword [esp + 0x230]
cmp ecx, edi
je 0x40a8e0
test ecx, ecx
je 0x40a8ee
mov eax, dword [ecx]
add eax, 0x14
mov edi, ecx
jmp 0x40a8ea
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_wipedisablestatus____Wipe__disable_or_show_status_of_a_GSI_installation_n_____________________________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
push eax
call fcn.004018e0
add esp, 8
xor esi, esi
jmp 0x40d617
mov dword [esp + 0xb0], 0x57bed8
mov dword [esp + 0xb4], 0x4104b0
lea esi, [esp + 0xb0]
mov dword [esp + 0xc0], esi
lea eax, [esp + 0x148]
push 0
push esi
push eax
call fcn.00482d20
add esp, 0xc
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x148], 0
test ecx, ecx
je 0x40a83a
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0xc0]
cmp ecx, esi
je 0x40abd8
test ecx, ecx
je 0x40abe6
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x40abe2
sub esi, edi
cmp esi, 1
je 0x40a878
push 0
push 6
call fcn.0047bc50
add esp, 8
test al, al
jne 0x40d775
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + edi*4]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d7e8
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 0x6c], edi
jae 0x40ac0a
mov eax, ebx
add al, bl
mov byte [esp + 0xb0], al
lea esi, [esp + 0xb1]
test ebx, ebx
jne 0x40ac39
jmp 0x40ac44
mov eax, dword [esp + 0x220]
add eax, 0x10
mov ecx, edi
call dword [eax]
mov ecx, dword [esp + 0x218]
cmp ecx, esi
je 0x40a906
test ecx, ecx
je 0x40a914
mov eax, dword [ecx]
add eax, 0x14
mov esi, ecx
jmp 0x40a910
mov eax, dword [esp + 0x208]
add eax, 0x10
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0x200]
cmp ecx, ebx
je 0x40a92f
test ecx, ecx
mov esi, dword [ebp + 8]
je 0x40a940
mov eax, dword [ecx]
add eax, 0x14
mov ebx, ecx
jmp 0x40a93c
mov eax, dword [esp + 0x1f0]
add eax, 0x10
mov esi, dword [ebp + 8]
mov ecx, ebx
call dword [eax]
mov edx, dword [esp + 0x1e8]
lea ecx, [esp + 0x1d8]
cmp edx, ecx
je 0x40a962
test edx, edx
mov ebx, dword [ebp + 0xc]
je 0x40a971
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40a96f
mov eax, dword [esp + 0x1d8]
add eax, 0x10
mov ebx, dword [ebp + 0xc]
call dword [eax]
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0x13c], 0
test ecx, ecx
je 0x40a98c
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0xb0]
mov dword [0x5aa310], ecx
mov eax, dword [esp + 0xc]
mov dword [eax + 0x3c], ecx
call fcn.00428660
fstp qword [esp + 0x240]
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + 0x18]
test al, 1
je 0x40a9bd
mov eax, dword [edx + 0x1c]
jmp 0x40a9bf
shr eax, 1
movsd xmm0, qword [esp + 0x240]
movsd qword [esp + 0x1a8], xmm0
test eax, eax
jne 0x40a9f2
add edx, 0x18
mov ecx, edx
push 0
push 0x5782df
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40aa42
mov edx, dword [esp + 0xc]
add edx, 0x18
lea ecx, [esp + 0x20]
push 1
call fcn.0040e290
add esp, 4
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x18]
test byte [eax + 0x18], 1
je 0x40aa2e
mov ecx, dword [eax + 0x20]
mov byte [ecx], 0
mov dword [eax + 0x1c], 0
test byte [eax + 0x18], 1
je 0x40aa2e
push dword [eax + 0x20]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esi], xmm0
mov esi, dword [ebp + 8]
movzx eax, byte [esp + 0x90]
test al, 1
je 0x40aa5b
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x40aa7c
jmp 0x40aa61
shr eax, 1
test eax, eax
jne 0x40aa7c
lea ecx, [esp + 0x90]
push 0
push 0x5782df
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40aae3
lea ecx, [esp + 0x20]
lea edx, [esp + 0x90]
push 0
call fcn.0040e290
add esp, 4
test byte [esp + 0x90], 1
je 0x40aac9
mov eax, dword [esp + 0x98]
mov byte [eax], 0
mov dword [esp + 0x94], 0
test byte [esp + 0x90], 1
je 0x40aac9
push dword [esp + 0x98]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xa], 0
je 0x40b35c
movzx eax, byte [esp + 0x90]
test al, 1
je 0x40ab06
mov eax, dword [esp + 0x94]
jmp 0x40ab08
shr eax, 1
test eax, eax
jne 0x40b35c
lea ecx, [esp + 0x90]
push 0
push 0x5782df
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
jne 0x40b35c
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + 0x18]
test al, 1
je 0x40b2d2
mov eax, dword [edx + 0x1c]
jmp 0x40b2d4
sub esi, edi
cmp esi, 1
je 0x40aeef
test esi, esi
jne 0x40af57
xorpd xmm0, xmm0
movapd xmmword [esp + 0xc0], xmm0
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xd0], 0
lea edi, [esp + 0xb0]
mov ecx, edi
call fcn.0048e950
mov dword [esp + 0x148], 0
lea esi, [esp + 0x148]
mov ecx, esi
push edi
call fcn.0048f110
mov ecx, edi
push esi
call fcn.0048f080
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
mov eax, dword [esp + 0x148]
cmp eax, 0xffffffff
je 0x40abc8
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp + 0x148], 0xffffffff
jmp 0x40b272
mov eax, dword [esp + 0xb0]
add eax, 0x10
mov ecx, esi
call dword [eax]
lea ecx, [esp + 0x20]
mov edx, 1
call fcn.00410110
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x40d615
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40d615
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0xb8], eax
add edi, 2
mov dword [esp + 0xb0], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xb4], 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
lea esi, [esp + 0x148]
lea eax, [esp + 0xb0]
push eax
push esi
call fcn.004019e0
add esp, 8
cmp dword [esp + 0x15c], 0
jne 0x40d851
mov eax, dword [esp + 0x148]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x24]
lea eax, [esp + 0x14c]
push eax
call fcn.00423570
mov eax, dword [esp + 0x158]
mov dword [esp + 0x30], eax
test byte [esp + 0x24], 1
je 0x40aca8
push dword [esp + 0x2c]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x15c]
cmp eax, 0xffffffff
je 0x40accf
movsd xmm0, qword [0x579b60]
movsd qword [esp + 0x70], xmm0
lea ecx, [esp + 0x10]
push esi
push ecx
call dword [esp + eax*4 + pe_nt_image_headers32]
add esp, 8
mov dword [esp + 0x15c], 0xffffffff
test byte [esp + 0xb0], 1
je 0x40acf3
push dword [esp + 0xb8]
call fcn.004203b0
add esp, 4
lea ebx, [esp + 0xb0]
mov ecx, ebx
mov edx, edi
push 1
push 0
call fcn.0040fcd0
add esp, 8
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je case.0x409aa0.63
mov eax, dword [ecx]
call dword [eax + 4]
xorpd xmm0, xmm0
movapd xmmword [esp + 0xc0], xmm0
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xd0], 0
mov ecx, ebx
call fcn.0048e950
mov dword [esp], 0
mov esi, edi
mov edi, esp
mov ecx, edi
push ebx
call fcn.0048f110
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x70]
push edi
push ebx
call fcn.0048ee20
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d863
mov ebx, eax
cmp eax, 0xb
jae 0x40add5
mov eax, ebx
add al, bl
mov byte [esp + 0x10], al
lea esi, [esp + 0x11]
test ebx, ebx
jne 0x40adf9
jmp 0x40ae07
mov esi, 1
jmp 0x40d617
call fcn.0040e100
xor esi, esi
jmp 0x40d617
mov edi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0x18], eax
add ebx, 2
mov dword [esp + 0x10], ebx
mov ebx, edi
mov dword [esp + 0x14], edi
push ebx
push dword [esp + 0x70]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
mov dword [esp + 0x50], 0
lea eax, [esp + 0x10]
lea edx, [esp + 0x50]
lea esi, [esp + 0x70]
mov ecx, esi
push eax
push edx
call fcn.00413b80
cmp dword [eax], 0
jne 0x40ae9a
mov ebx, eax
push 0x1c
call fcn.00420210
add esp, 4
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], ecx
movsd xmm0, qword [esp + 0x10]
movsd qword [eax + 0x10], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x50]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], ecx
mov dword [ebx], eax
mov ecx, dword [esp + 0x70]
mov ecx, dword [ecx]
test ecx, ecx
je 0x40ae89
mov dword [esp + 0x70], ecx
mov eax, dword [ebx]
push eax
push dword [esp + 0x78]
call fcn.00413c90
add esp, 8
inc dword [esp + 0x78]
test byte [esp + 0x10], 1
je 0x40aead
push dword [esp + 0x18]
call fcn.004203b0
add esp, 4
lea ecx, [esp + 0xb0]
push esi
lea eax, [esp + 4]
push eax
call fcn.0048ec70
mov ecx, esi
push dword [esp + 0x74]
call fcn.00413a20
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 0x40aee3
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp], 0xffffffff
jmp 0x40b272
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + edi*4]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0x6c], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d7e8
mov ebx, eax
cmp eax, 0xb
jae 0x40b04d
mov eax, ebx
add al, bl
mov byte [esp + 0xb0], al
lea esi, [esp + 0xb1]
test ebx, ebx
jne 0x40b078
jmp 0x40b086
xor esi, esi
push 0
push 6
call fcn.0047bc50
add esp, 8
test al, al
je 0x40d617
mov eax, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call eax
mov ebx, dword [eax]
sub esp, 0x14
movapd xmm0, xmmword [0x578130]
movupd xmmword [esp + 4], xmm0
mov dword [esp], str.system_core_fastboot_fastboot.cpp
lea edi, [esp + 0xc4]
mov ecx, edi
call fcn.0047bcb0
mov ecx, edi
call fcn.0047bc80
push 0x3c
push str.disconnect_command_can_receive_only_0_or_1_arguments._Usage:
push eax
call fcn.00414a40
add esp, 0xc
push eax
call fcn.00413b20
add esp, 4
push 0x2c
push str.fastboot_disconnect__disconnect_all_devices
push eax
call fcn.00414a40
add esp, 0xc
push eax
call fcn.00413b20
add esp, 4
push 0x3c
push str.fastboot_disconnect__tcp:udp:host:port___disconnect_device
push eax
call fcn.00414a40
add esp, 0xc
mov ecx, edi
call fcn.0047bd80
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], ebx
jmp 0x40d617
lea eax, [esp + 0xb0]
push str.version
push eax
call fcn.00412430
add esp, 8
test al, al
je 0x40d8c8
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 + 0x148]
push edi
call fcn.004014f0
add esp, 4
test byte [esp + 0x148], 1
je 0x40d570
mov eax, dword [esp + 0x150]
jmp 0x40d577
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0xb8], eax
add edi, 2
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], ebx
push ebx
push dword [esp + 0x70]
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea esi, [esp + 0x148]
lea edi, [esp + 0xb0]
push edi
push esi
call fcn.004019e0
add esp, 8
cmp dword [esp + 0x15c], 0
jne 0x40d851
mov eax, dword [esp + 0x148]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x24]
lea eax, [esp + 0x14c]
push eax
call fcn.00423570
mov eax, dword [esp + 0x158]
mov dword [esp + 0x30], eax
test byte [esp + 0x24], 1
je 0x40b0ea
push dword [esp + 0x2c]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x15c]
cmp eax, 0xffffffff
je 0x40b111
movsd xmm0, qword [0x579b60]
movsd qword [esp + 0x70], xmm0
lea ecx, [esp + 0x10]
push esi
push ecx
call dword [esp + eax*4 + pe_nt_image_headers32]
add esp, 8
mov dword [esp + 0x15c], 0xffffffff
test byte [esp + 0xb0], 1
je 0x40b135
push dword [esp + 0xb8]
call fcn.004203b0
add esp, 4
xorpd xmm0, xmm0
movapd xmmword [esp + 0xc0], xmm0
movapd xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xd0], 0
mov ecx, edi
call fcn.0048e950
mov dword [esp + 0x50], 0
lea esi, [esp + 0x50]
mov ecx, esi
push edi
call fcn.0048f110
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x70]
push esi
push edi
call fcn.0048ee20
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
push dword [esp + 0x6c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40d863
mov ebx, eax
cmp eax, 0xb
jae 0x40b1da
mov eax, ebx
add al, bl
mov byte [esp + 0x10], al
lea edi, [esp + 0x11]
test ebx, ebx
jne 0x40b202
jmp 0x40b210
mov esi, ebx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
call fcn.00420210
add esp, 4
mov edi, eax
mov dword [esp + 0x18], eax
add ebx, 2
mov dword [esp + 0x10], ebx
mov ebx, esi
lea esi, [esp + 0x50]
mov dword [esp + 0x14], ebx
push ebx
push dword [esp + 0x70]
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 + 0x10]
lea edi, [esp + 0x70]
mov ecx, edi
push eax
call fcn.00413dd0
test byte [esp + 0x10], 1
je 0x40b237
push dword [esp + 0x18]
call fcn.004203b0
add esp, 4
lea ecx, [esp + 0xb0]
push edi
push esi
call fcn.0048ec70
mov ecx, edi
push dword [esp + 0x74]
call fcn.00413a20
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov esi, dword [eax]
mov eax, dword [esp + 0x50]
cmp eax, 0xffffffff
je 0x40b26a
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__close
add esp, 4
mov dword [esp + 0x50], 0xffffffff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], esi
test byte [esp + 0xc8], 1
jne 0x40b293
test byte [esp + 0xbc], 1
jne 0x40b2b0
jmp 0x40d5fc
push dword [esp + 0xd0]
call fcn.004203b0
add esp, 4
test byte [esp + 0xbc], 1
je 0x40d5fc
push dword [esp + 0xc4]
call fcn.004203b0
add esp, 4
test byte [esp + 0xb0], 1
jne 0x40d606
jmp 0x40d615
shr eax, 1
test eax, eax
jne 0x40b2f9
add edx, 0x18
mov ecx, edx
push 0
push 0x5782df
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40d647
mov edx, dword [esp + 0xc]
add edx, 0x18
lea ecx, [esp + 0x20]
push 0
call fcn.0040e290
add esp, 4
test byte [esp + 0x90], 1
je 0x40b342
mov eax, dword [esp + 0x98]
mov byte [eax], 0
mov dword [esp + 0x94], 0
test byte [esp + 0x90], 1
je 0x40b342
push dword [esp + 0x98]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x98], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
lea eax, [ebx + esi*4]
lea ecx, [esp + 0x10]
push eax
push dword [esp + 0x70]
call fcn.00412fe0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40d0a0
lea eax, [esp + 0x51]
mov dword [esp + 0x144], eax
lea eax, [esp + 1]
mov dword [esp + 0x134], eax
lea eax, [esp + 0x21]
mov dword [esp + 0xac], eax
mov eax, dword [0x57cf6c]
add eax, 8
mov dword [esp + 0x6c], eax
lea edi, [esp + 0x50]
lea ebx, [esp + 0x10]
jmp 0x40b402
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
lea ebx, [esp + 0x10]
je 0x40d0a0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov ecx, edi
mov edx, ebx
call fcn.0040e4f0
movzx edx, byte [esp + 0x50]
mov eax, edx
shr eax, 1
and dl, 1
mov ecx, dword [esp + 0x54]
mov esi, ecx
cmove esi, eax
cmp esi, 6
jne 0x40b467
mov ecx, edi
push 6
push str.getvar
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40b99c
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
shr eax, 1
test dl, dl
mov esi, ecx
cmove esi, eax
cmp esi, 5
jne 0x40b49d
mov ecx, edi
push 5
push 0x578a84
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40b9f5
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
shr eax, 1
lea esi, [esp + 0x51]
test dl, dl
je 0x40b4ab
mov esi, dword [esp + 0x58]
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.0042a580
add esp, 0x10
test al, al
je 0x40b5a0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov word [esp + 0x20], 0x3a02
lea eax, [esp + 0x20]
push eax
push edi
lea eax, [esp + 8]
push eax
call fcn.0042a230
add esp, 0xc
test byte [esp + 0x20], 1
je 0x40b55b
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
cmp ecx, 1
jbe 0x40b9cf
test byte [eax + 0xc], 1
je 0x40ba59
mov eax, dword [eax + 0x14]
jmp 0x40ba5c
movzx eax, byte [esp + 0x50]
mov esi, eax
shr esi, 1
mov edx, eax
and dl, 1
mov ecx, dword [esp + 0x54]
mov ebx, ecx
cmove ebx, esi
cmp ebx, 9
jne 0x40b5e8
mov ecx, edi
push 9
push str.signature
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40bab4
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b628
mov ecx, edi
push 6
push 0x578a70
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
lea edx, [esp + 0x10]
lea ecx, [esp + 0x20]
je 0x40bc62
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b660
mov ecx, edi
push 0x11
push str.reboot_bootloader
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40be18
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b698
mov ecx, edi
push 0xf
push str.reboot_recovery
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40be4d
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xf
jne 0x40b6c5
mov ecx, edi
push 0xf
push str.reboot_fastboot
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40be7c
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b707
mov ecx, edi
push 8
push str.continue
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40bf63
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b73f
mov ecx, edi
push 4
push str.boot
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40bf77
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 + 0x10]
jne 0x40b77b
mov ecx, edi
push 5
push 0x578a6a
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c086
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 9
jne 0x40b7a8
mov ecx, edi
push 9
push str.flash:raw
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c123
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 0x40b7ea
mov ecx, edi
push 8
push str.flashall
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c283
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 + 0x10]
jne 0x40b826
mov ecx, edi
push 6
push str.update
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c29b
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xa
jne 0x40b853
mov ecx, edi
push 0xa
push str.set_active
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c45f
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
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 + 0x10]
jne 0x40b899
mov ecx, edi
push 5
push str.stage
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c5bd
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
and dl, 1
mov esi, eax
shr esi, 1
test dl, dl
cmovne esi, ecx
cmp esi, 0xa
jne 0x40b8c6
mov ecx, edi
push 0xa
push str.get_staged
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c7f9
movzx eax, byte [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, eax
shr dl, 1
test al, 1
movzx eax, dl
cmovne eax, ecx
cmp eax, 3
jne 0x40b8f1
mov ecx, edi
push 3
push 0x5793d3
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40c967
push str.flashing
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40c2b3
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
je 0x40d88d
sub ecx, eax
cmp ecx, 0xc
jne 0x40d8e7
push str.unlock
push eax
call fcn.00412430
add esp, 8
test al, al
jne 0x40b98c
push str.lock
push dword [esp + 0x14]
call fcn.00412430
add esp, 8
test al, al
jne 0x40b98c
push str.unlock_critical
push dword [esp + 0x14]
call fcn.00412430
add esp, 8
test al, al
jne 0x40b98c
push str.lock_critical
push dword [esp + 0x14]
call fcn.00412430
add esp, 8
test al, al
jne 0x40b98c
push str.get_unlock_ability
push dword [esp + 0x14]
call fcn.00412430
add esp, 8
test al, al
je 0x40d8e3
lea esi, [esp + 0x20]
mov ecx, esi
push str.flashing
jmp 0x40c972
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea esi, [esp + 0x20]
mov ecx, esi
mov edx, ebx
call fcn.0040e4f0
mov ecx, esi
mov edx, esi
call fcn.0040e5d0
jmp 0x40c430
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
jmp 0x40bce1
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.0040e4f0
mov eax, dword [esp + 0xc]
add eax, 0x18
mov dword [esp + 0x20], 0x57b818
lea esi, [esp + 0x20]
mov dword [esp + 0x30], esi
push 1
push esi
push eax
push ebx
call fcn.00403350
add esp, 0x10
mov ecx, dword [esp + 0x30]
cmp ecx, esi
je 0x40bc44
test ecx, ecx
je 0x40bc4f
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40bc4d
add eax, 0xd
lea ecx, [esp + 0x60]
push eax
call fcn.00424280
mov eax, dword [esp]
mov ecx, dword [esp + 4]
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
cmp ecx, 3
jb 0x40bce1
test byte [eax + 0x18], 1
je 0x40bcd1
mov eax, dword [eax + 0x20]
jmp 0x40bcd4
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea esi, [esp + 0x20]
mov ecx, esi
lea edx, [esp + 0x10]
call fcn.0040e4f0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ebx, esp
push ebx
push esi
call fcn.00401900
add esp, 8
test al, al
je 0x40d7f4
mov eax, dword [esp + 4]
sub eax, dword [esp]
cmp eax, 0x100
jne 0x40d828
mov ecx, dword [0x5aa310]
mov dword [esp + 0x68], 0
mov byte [esp + 0x60], 0x12
lea eax, [esp + 0x61]
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
push 0
push 0
push ebx
lea eax, [esp + 0x6c]
push eax
call fcn.00477260
test byte [esp + 0x60], 1
je 0x40bb62
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov esi, dword [0x5aa310]
mov dword [esp + 0x68], 0
mov byte [esp + 0x60], 0x12
lea eax, [esp + 0x61]
mov byte [eax + 8], 0x65
mov dword [eax + 4], 0x72757461
mov dword [eax], 0x6e676973
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
push 0x20
call fcn.00420210
add esp, 4
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], 0x21
mov dword [esp + 0x84], 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 + 0x8c]
push edx
lea edx, [esp + 0x70]
push edx
call dword [eax + 0x20]
test byte [esp + 0x80], 1
je 0x40bc1c
push dword [esp + 0x88]
call fcn.004203b0
add esp, 4
test byte [esp + 0x60], 1
je 0x40bc2f
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov eax, dword [esp]
test eax, eax
je 0x40c430
mov dword [esp + 4], eax
push eax
jmp 0x40c419
mov eax, dword [esp + 0x20]
add eax, 0x10
mov ecx, esi
call dword [eax]
test byte [esp], 1
je 0x40c443
push dword [esp + 8]
jmp 0x40c43b
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
cmp eax, 0xc
jne 0x40bf11
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
call fcn.0040e4f0
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004835f0
mov dword [esp], esi
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x78]
jae 0x40c0de
mov dword [esp], 0
mov dword [eax], esi
add dword [esp + 0x74], 4
jmp 0x40c0ea
add eax, 0x19
lea ecx, [esp + 0x80]
push eax
call fcn.00424280
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
lea edi, [esp + 0xa0]
mov ecx, edi
mov edx, ebx
call fcn.0040e4f0
mov eax, dword [esp + 0xc]
add eax, 0x18
mov dword [esp + 0x20], 0x57b940
lea ecx, [esp + 0x60]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0x2c], ecx
lea esi, [esp + 0x20]
mov dword [esp + 0x30], esi
push 1
push esi
push eax
push edi
call fcn.00403350
add esp, 0x10
mov ecx, dword [esp + 0x30]
cmp ecx, esi
je 0x40bd68
test ecx, ecx
lea edi, [esp + 0x50]
je 0x40bd77
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40bd75
mov eax, dword [esp + 0x20]
add eax, 0x10
mov ecx, esi
lea edi, [esp + 0x50]
call dword [eax]
test byte [esp + 0xa0], 1
jne 0x40bdda
test byte [esp + 0x80], 1
jne 0x40bdf3
test byte [esp + 0x60], 1
je 0x40bd9e
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov esi, dword [esp]
test esi, esi
je 0x40c443
mov ebx, dword [esp + 4]
mov eax, esi
cmp ebx, esi
jne 0x40bdc7
jmp 0x40be0e
add ebx, 0xfffffff4
cmp ebx, esi
je 0x40be0b
test byte [ebx - 0xc], 1
je 0x40bdc0
push dword [ebx - 4]
call fcn.004203b0
add esp, 4
jmp 0x40bdc0
push dword [esp + 0xa8]
call fcn.004203b0
add esp, 4
test byte [esp + 0x80], 1
je 0x40bd8b
push dword [esp + 0x88]
call fcn.004203b0
add esp, 4
test byte [esp + 0x60], 1
jne 0x40bd92
jmp 0x40bd9e
mov eax, dword [esp]
mov dword [esp + 4], esi
push eax
jmp 0x40c43b
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov byte [esp + 0x20], 0x14
lea eax, [esp + 0x21]
mov word [eax + 8], 0x7265
mov dword [eax + 4], 0x64616f6c
mov dword [eax], 0x746f6f62
mov byte [esp + 0x2b], 0
mov ecx, esi
jmp 0x40beab
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x10
mov dword [esp + 0x21], 0x6f636572
mov dword [esp + 0x25], 0x79726576
jmp 0x40bea9
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x10
mov dword [esp + 0x21], 0x74736166
mov dword [esp + 0x25], 0x746f6f62
mov ecx, eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.004835f0
mov dword [esp], esi
test byte [esp + 0x20], 1
je 0x40becc
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x78]
mov edx, esp
jae 0x40beeb
mov ecx, dword [esp]
mov dword [esp], 0
mov dword [eax], ecx
add dword [esp + 0x74], 4
jmp 0x40bef5
lea ecx, [esp + 0x70]
push edx
call fcn.0041fc60
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
je 0x40c443
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40c443
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40c110
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.004835c0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x70]
lea eax, [esp + 0x20]
push eax
call fcn.004130f0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x40c110
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40c110
mov ecx, dword [0x5aa310]
push 0
push 0
call fcn.00476720
jmp 0x40c443
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ebx, [esp + 0x20]
mov ecx, ebx
lea esi, [esp + 0x10]
mov edx, esi
call fcn.0040e4f0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40c322
lea ecx, [esp + 0x60]
mov edx, esi
call fcn.0040e4f0
test byte [esp], 1
je 0x40bff7
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 4], 0
test byte [esp], 1
je 0x40bff7
push dword [esp + 8]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x68]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x60]
movsd qword [esp], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
cmp eax, dword [esp + 0x14]
je 0x40c33a
lea ecx, [esp + 0x80]
mov edx, esi
call fcn.0040e4f0
test byte [esp + 0x60], 1
je 0x40c067
mov eax, dword [esp + 0x68]
mov byte [eax], 0
mov dword [esp + 0x64], 0
test byte [esp + 0x60], 1
je 0x40c067
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x60], xmm0
jmp 0x40c33a
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.0040e4f0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40c4bb
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
jmp 0x40c4c9
lea ecx, [esp + 0x70]
mov eax, esp
push eax
call fcn.0041fc60
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
je 0x40c0fd
mov eax, dword [ecx]
call dword [eax + 0x24]
test byte [esp + 0x20], 1
je 0x40c110
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40c443
jmp 0x40d83d
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040e4f0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
lea ecx, [esp + 0x60]
mov edx, ebx
call fcn.0040e4f0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40c6df
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
test byte [esp + 0x80], 1
je 0x40c1d8
mov eax, dword [esp + 0x88]
mov byte [eax], 0
mov dword [esp + 0x84], 0
test byte [esp + 0x80], 1
je 0x40c1d8
push dword [esp + 0x88]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x80], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
cmp eax, dword [esp + 0x14]
je 0x40c700
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
test byte [esp + 0xa0], 1
je 0x40c264
mov eax, dword [esp + 0xa8]
mov byte [eax], 0
mov dword [esp + 0xa4], 0
test byte [esp + 0xa0], 1
je 0x40c264
push dword [esp + 0xa8]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0xa8], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0xa0], xmm0
jmp 0x40c700
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + 0x18]
test al, 1
je 0x40c6aa
mov eax, dword [esi + 0x1c]
jmp 0x40c6ac
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x18]
test al, 1
je 0x40c833
mov eax, dword [ecx + 0x1c]
jmp 0x40c835
push str.create_logical_partition
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40c8e6
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea esi, [esp + 0x20]
mov ecx, esi
mov edx, ebx
call fcn.0040e4f0
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.0040e4f0
mov ecx, dword [0x5aa310]
push ebx
push esi
call fcn.004767d0
jmp 0x40c40f
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
lea esi, [esp + 0x80]
mov ecx, esi
mov edx, ebx
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 4]
push eax
call fcn.0040e720
add esp, 8
mov ecx, dword [0x5aa310]
mov dword [esp + 0xa8], 0
mov byte [esp + 0xa0], 0x10
mov dword [esp + 0xa1], 0x746f6f62
mov dword [esp + 0xa5], 0x676d692e
push 0
push 0
push esi
lea eax, [esp + 0xac]
push eax
call fcn.00477260
test byte [esp + 0xa0], 1
je 0x40c3d2
push dword [esp + 0xa8]
call fcn.004203b0
add esp, 4
mov ecx, dword [0x5aa310]
push 0
push 0
call fcn.00476690
mov eax, dword [esp + 0x80]
test eax, eax
je 0x40c3fc
mov dword [esp + 0x84], eax
push eax
call fcn.004203b0
add esp, 4
test byte [esp + 0x60], 1
je 0x40c40f
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
test byte [esp], 1
je 0x40c430
push dword [esp + 8]
call fcn.004203b0
add esp, 4
nop word cs:[eax + eax]
test byte [esp + 0x20], 1
je 0x40c443
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
test byte [esp + 0x50], 1
je 0x40b3f0
push dword [esp + 0x58]
call fcn.004203b0
add esp, 4
jmp 0x40b3f0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov ecx, esp
mov edx, ebx
mov ebx, ecx
call fcn.0040e4f0
lea esi, [esp + 0x20]
mov ecx, esi
mov edx, ebx
push 0
call fcn.0040e290
add esp, 4
test byte [esp], 1
je 0x40c4a6
push dword [esp + 8]
call fcn.004203b0
add esp, 4
mov ecx, dword [0x5aa310]
push 0
push 0
push esi
call fcn.00477090
jmp 0x40c430
push esi
lea eax, [esp + 0x24]
push eax
call fcn.00401610
add esp, 8
test byte [esp + 0x60], 1
je 0x40c4f2
mov eax, dword [esp + 0x68]
mov byte [eax], 0
mov dword [esp + 0x64], 0
test byte [esp + 0x60], 1
je 0x40c4f2
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 0x60], xmm0
movzx eax, byte [esp + 0x60]
test al, 1
je 0x40c515
mov eax, dword [esp + 0x64]
jmp 0x40c517
shr eax, 1
lea ebx, [esp + 0x20]
test eax, eax
je 0x40d86c
xorpd xmm0, xmm0
movapd xmmword [esp + 0x40], xmm0
movapd xmmword [esp + 0x30], xmm0
movapd xmmword [esp + 0x20], xmm0
mov esi, dword [esp + 0xc]
add esi, 0x18
mov ecx, esp
call fcn.004086c0
movzx eax, al
mov ecx, ebx
push dword [esp + 0xc]
push eax
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0xc]
push eax
push esi
call fcn.00482ff0
mov ecx, ebx
call fcn.004833a0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
test byte [esp + 0x3c], 1
jne 0x40c58a
test byte [esp + 0x30], 1
jne 0x40c59d
test byte [esp + 0x24], 1
jne 0x40c5b4
jmp 0x40c7dd
push dword [esp + 0x44]
call fcn.004203b0
add esp, 4
test byte [esp + 0x30], 1
je 0x40c57e
push dword [esp + 0x38]
call fcn.004203b0
add esp, 4
test byte [esp + 0x24], 1
je 0x40c7dd
push dword [esp + 0x2c]
jmp 0x40c7d5
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040e4f0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x40], xmm0
movapd xmmword [esp + 0x30], xmm0
movapd xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], 0xffffffff
test byte [esp], 1
lea ecx, [esp + 1]
je 0x40c609
mov ecx, dword [esp + 8]
lea edx, [esp + 0x20]
push dword [esp + 0xc]
call fcn.00404650
add esp, 4
test al, al
je 0x40d8a6
cmp dword [esp + 0x20], 0
jne 0x40d8a6
mov ecx, dword [0x5aa310]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
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 + 0x1c]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ebx, dword [eax]
cmp esi, 0xffffffff
je 0x40c66e
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 + 0x28]
test esi, esi
je 0x40bc4f
mov ebx, dword [esp + 0x2c]
jmp 0x40c68b
add ebx, 0xfffffff8
cmp ebx, esi
je 0x40c985
mov eax, dword [ebx - 8]
mov dword [ebx - 8], 0
test eax, eax
je 0x40c688
push eax
call dword [ebx - 4]
add esp, 4
jmp 0x40c688
shr eax, 1
lea ebx, [esp + 0x20]
cmp eax, 3
jne 0x40cbe2
add esi, 0x18
mov ecx, esi
push 3
push 0x5787ef
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
je 0x40cbc1
mov esi, dword [esp + 0xc]
jmp 0x40cbe2
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b8], 0
lea esi, [esp + 0x1b0]
mov ecx, esi
lea edx, [esp + 0x60]
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0040e720
add esp, 8
mov eax, dword [esp + 0xc]
add eax, 0x18
mov dword [esp + 0x20], 0x57ba28
mov dword [esp + 0x24], esi
lea esi, [esp + 0x20]
mov dword [esp + 0x30], esi
push 1
push esi
push eax
lea eax, [esp + 0xc]
push eax
call fcn.00403350
add esp, 0x10
mov ecx, dword [esp + 0x30]
cmp ecx, esi
je 0x40c785
test ecx, ecx
je 0x40c790
mov eax, dword [ecx]
add eax, 0x14
jmp 0x40c78e
mov eax, dword [esp + 0x20]
add eax, 0x10
mov ecx, esi
call dword [eax]
mov eax, dword [esp + 0x1b0]
test eax, eax
je 0x40c7ab
mov dword [esp + 0x1b4], eax
push eax
call fcn.004203b0
add esp, 4
test byte [esp + 0xa0], 1
je 0x40c7c4
push dword [esp + 0xa8]
call fcn.004203b0
add esp, 4
test byte [esp + 0x80], 1
je 0x40c7dd
push dword [esp + 0x88]
call fcn.004203b0
add esp, 4
test byte [esp + 0x60], 1
je 0x40bc4f
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
jmp 0x40bc4f
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea esi, [esp + 0x20]
mov ecx, esi
mov edx, ebx
call fcn.0040e4f0
mov ecx, dword [0x5aa310]
push 0
push 0
push esi
call fcn.00478970
jmp 0x40c430
shr eax, 1
cmp eax, 3
jne 0x40c86a
add ecx, 0x18
push 3
push 0x5787ef
push 0xffffffffffffffff
push 0
call fcn.00425430
test eax, eax
jne 0x40c86a
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.004018e0
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 + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40c98b
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
test byte [esp], 1
je 0x40c8ca
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 4], 0
test byte [esp], 1
je 0x40c8ca
push dword [esp + 8]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp], xmm0
movzx eax, byte [esp]
jmp 0x40c98d
push str.delete_logical_partition
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40cb23
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
mov ebx, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.00484660
mov dword [esp], esi
lea ecx, [esp + 0x70]
mov eax, esp
push eax
call fcn.00413130
mov ecx, dword [esp]
mov dword [esp], 0
test ecx, ecx
je 0x40c430
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40c430
lea esi, [esp + 0x20]
mov ecx, esi
push 0x5793d3
call fcn.00412340
mov ecx, esi
mov edx, ebx
call fcn.0040ea50
jmp 0x40c430
push esi
jmp 0x40c7ec
mov al, 0x14
lea ebx, [esp + 1]
test al, 1
je 0x40c999
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x60], 0
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.00489760
add esp, 8
test eax, eax
jne 0x40d878
push 8
call fcn.00420210
add esp, 4
mov ecx, dword [esp + 0x60]
mov dword [eax], 0x5795fc
mov dword [eax + 4], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 4], eax
test ecx, ecx
je 0x40c9e1
mov eax, dword [ecx]
call dword [eax + 4]
xorpd xmm0, xmm0
movapd xmmword [esp + 0x30], xmm0
movapd xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], esi
lea ecx, [esp + 0x20]
call fcn.004068b0
push dword [esp + 0x60]
call fcn.00489980
add esp, 4
mov esi, dword [esp + 0x38]
test esi, esi
je 0x40ca53
mov ebx, dword [esp + 0x3c]
mov eax, esi
cmp ebx, esi
jne 0x40ca2d
jmp 0x40ca46
add ebx, 0xfffffffc
cmp ebx, esi
je 0x40ca42
mov ecx, dword [ebx - 4]
mov dword [ebx - 4], 0
test ecx, ecx
je 0x40ca26
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40ca26
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], esi
push eax
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x40ca92
mov ebx, dword [esp + 0x30]
mov eax, esi
cmp ebx, esi
jne 0x40ca6e
jmp 0x40ca85
add ebx, 0xfffffff0
cmp ebx, esi
je 0x40ca81
test byte [ebx - 0xc], 1
je 0x40ca67
push dword [ebx - 4]
call fcn.004203b0
add esp, 4
jmp 0x40ca67
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
push eax
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x20]
test esi, esi
je 0x40cad1
mov ebx, dword [esp + 0x24]
mov eax, esi
cmp ebx, esi
jne 0x40caad
jmp 0x40cac4
add ebx, 0xfffffff0
cmp ebx, esi
je 0x40cac0
test byte [ebx - 0xc], 1
je 0x40caa6
push dword [ebx - 4]
call fcn.004203b0
add esp, 4
jmp 0x40caa6
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], esi
push eax
call fcn.004203b0
add esp, 4
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40bc4f
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.004835c0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x70]
lea eax, [esp + 0x20]
push eax
call fcn.004130f0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x40bc4f
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40bc4f
push str.resize_logical_partition
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40cd48
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x20]
mov edx, ebx
call fcn.0040e4f0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
mov edx, ebx
call fcn.0040e4f0
mov ebx, dword [esp + 0xc]
lea eax, [ebx + 0x18]
mov dword [esp + 0x1c0], eax
push 0x2c
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
push dword [esp + 0x1c0]
lea eax, [esp + 4]
push eax
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.00484590
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
jmp 0x40c40f
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.004018e0
add esp, 8
mov esi, dword [esp + 0xc]
mov byte [esi + 0xb], 1
push 4
call fcn.00420210
add esp, 4
mov dword [eax], 0x579614
mov ecx, dword [esi + 4]
mov dword [esi + 4], eax
test ecx, ecx
je 0x40cc01
mov eax, dword [ecx]
call dword [eax + 4]
xorpd xmm0, xmm0
movapd xmmword [esp + 0x30], xmm0
movapd xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], esi
mov ecx, ebx
call fcn.004068b0
mov esi, dword [esp + 0x38]
test esi, esi
je 0x40cc6d
mov ebx, dword [esp + 0x3c]
mov eax, esi
cmp ebx, esi
jne 0x40cc47
jmp 0x40cc60
add ebx, 0xfffffffc
cmp ebx, esi
je 0x40cc5c
mov ecx, dword [ebx - 4]
mov dword [ebx - 4], 0
test ecx, ecx
je 0x40cc40
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40cc40
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], esi
push eax
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x40ccbb
mov ebx, dword [esp + 0x30]
mov eax, esi
cmp ebx, esi
jne 0x40cc97
jmp 0x40ccae
add ebx, 0xfffffff0
cmp ebx, esi
je 0x40ccaa
test byte [ebx - 0xc], 1
je 0x40cc90
push dword [ebx - 4]
call fcn.004203b0
add esp, 4
jmp 0x40cc90
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], esi
push eax
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x20]
test esi, esi
je 0x40ccfb
mov ebx, dword [esp + 0x24]
mov eax, esi
cmp ebx, esi
jne 0x40ccd7
jmp 0x40ccee
add ebx, 0xfffffff0
cmp ebx, esi
je 0x40ccea
test byte [ebx - 0xc], 1
je 0x40ccd0
push dword [ebx - 4]
call fcn.004203b0
add esp, 4
jmp 0x40ccd0
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], esi
push eax
call fcn.004203b0
add esp, 4
mov ebx, dword [esp + 0xc]
cmp byte [ebx + 9], 0
jne 0x40c443
push 0x14
call fcn.00420210
add esp, 4
mov esi, eax
mov ecx, eax
push ebx
call fcn.004835c0
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x70]
lea eax, [esp + 0x20]
push eax
call fcn.004130f0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
jne 0x40bf07
jmp 0x40c443
push 0x5794a1
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40ce12
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40d8fd
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x20]
push 0x5794a1
call fcn.00412340
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40ce9c
lea esi, [esp + 0x60]
mov ecx, esi
mov edx, ebx
call fcn.0040e4f0
mov ecx, esi
push 0x5787ed
push 0
call fcn.004245b0
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
mov ecx, dword [eax + 8]
mov dword [esp + 8], ecx
mov dword [eax], 0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
lea ecx, [esp + 0x20]
mov eax, esp
push eax
call fcn.00413170
test byte [esp], 1
je 0x40cdfd
push dword [esp + 8]
call fcn.004203b0
add esp, 4
test byte [esp + 0x60], 1
je 0x40cd92
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
jmp 0x40cd92
push str.wipe_super
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40cec8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40cfca
mov ecx, esp
mov edx, ebx
call fcn.0040e4f0
test byte [esp + 0x20], 1
je 0x40ce80
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40ce80
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x20], xmm0
lea esi, [esp + 0x20]
jmp 0x40d036
mov esi, dword [0x5aa310]
mov ebx, esp
mov ecx, ebx
push 0x5782df
call fcn.00412340
mov eax, dword [esi]
mov ecx, esi
push 0
push 0
push 0
push ebx
lea edx, [esp + 0x30]
push edx
call dword [eax + 0x20]
jmp 0x40c40f
push str.snapshot_update
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40cf53
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x14]
je 0x40d04a
mov ecx, esp
mov edx, ebx
call fcn.0040e4f0
test byte [esp + 0x20], 1
je 0x40cf32
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40cf32
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x20], xmm0
movzx ecx, byte [esp + 0x20]
mov eax, dword [esp + 0x24]
jmp 0x40d04e
push str.fetch
push edi
call fcn.00412430
add esp, 8
test al, al
je 0x40d907
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
lea esi, [esp + 0x20]
mov ecx, esi
mov edx, ebx
call fcn.0040e4f0
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.0040e4f0
mov eax, dword [esp + 0xc]
lea edx, [eax + 0x18]
mov ecx, esi
push dword [eax + 0x3c]
push ebx
call fcn.0040f610
add esp, 8
jmp 0x40c40f
lea esi, [esp + 0x60]
mov ecx, esi
push 0x578abb
call fcn.00412340
mov ecx, esp
mov edx, esi
call fcn.00401780
test byte [esp + 0x20], 1
je 0x40d00c
mov eax, dword [esp + 0x28]
mov byte [eax], 0
mov dword [esp + 0x24], 0
test byte [esp + 0x20], 1
je 0x40d00c
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
movsd xmm0, qword [esp]
movsd qword [esp + 0x20], xmm0
test byte [esp + 0x60], 1
lea esi, [esp + 0x20]
je 0x40d036
push dword [esp + 0x68]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0xc]
lea edx, [eax + 0x18]
mov ecx, esi
push eax
call fcn.0040ebc0
jmp 0x40c41e
xor eax, eax
xor ecx, ecx
lea esi, [esp + 0x20]
mov edx, ecx
shr dl, 1
test cl, 1
movzx ecx, dl
cmovne ecx, eax
test ecx, ecx
je 0x40d08b
push str.cancel
push esi
call fcn.00412fa0
add esp, 8
test al, al
je 0x40d08b
push str.merge
push esi
call fcn.00412fa0
add esp, 8
test al, al
jne 0x40d92a
mov ecx, dword [0x5aa310]
push 0
push 0
push esi
call fcn.00477160
jmp 0x40c430
mov eax, dword [esp + 0xc]
cmp byte [eax + 8], 0
je 0x40d391
cmp byte [eax + 0xc], 0
je 0x40d0b9
call fcn.00407c80
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x28], 0
mov byte [esp + 0x20], 0x10
mov eax, 0x6174656d
add eax, 0x10f10e08
mov dword [esp + 0x21], eax
mov dword [esp + 0x25], 0x61746164
lea esi, [esp + 0x2c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x2c], 0xa
mov dword [esp + 0x2d], 0x68636163
mov byte [esp + 0x31], 0x65
lea ebx, [esp + 0x38]
mov dword [esp + 0x40], 0
mov byte [esp + 0x38], 0x10
mov dword [esp + 0x39], 0x6174656d
mov dword [esp + 0x3d], 0x61746164
push 0x24
call fcn.00420210
add esp, 4
mov edi, eax
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.00423570
lea ecx, [edi + 0xc]
mov dword [esp + 0x6c], ecx
push esi
call fcn.00423570
lea ecx, [edi + 0x18]
mov dword [esp + 0xac], ecx
push ebx
call fcn.00423570
test byte [esp + 0x38], 1
jne 0x40d1c9
test byte [esp + 0x2c], 1
jne 0x40d1dc
test byte [esp + 0x20], 1
je 0x40d191
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov ebx, eax
mov ecx, eax
push edi
push esi
call fcn.004846c0
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
jae 0x40d1f1
mov dword [esp + 0x20], 0
mov dword [eax], ebx
add dword [esp + 0x54], 4
jmp 0x40d1ff
push dword [esp + 0x40]
call fcn.004203b0
add esp, 4
test byte [esp + 0x2c], 1
je 0x40d17e
push dword [esp + 0x34]
call fcn.004203b0
add esp, 4
test byte [esp + 0x20], 1
jne 0x40d185
jmp 0x40d191
lea ecx, [esp + 0x50]
lea eax, [esp + 0x20]
push eax
call fcn.00420010
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x40d214
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [esp + 0x6c]
push esi
call fcn.004846c0
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
jae 0x40d24f
mov dword [esp + 0x20], 0
mov dword [eax], ebx
add dword [esp + 0x54], 4
jmp 0x40d25d
lea ecx, [esp + 0x50]
lea eax, [esp + 0x20]
push eax
call fcn.00420010
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x40d272
mov eax, dword [ecx]
call dword [eax + 0x24]
mov esi, dword [esp + 0xc]
push 0x14
call fcn.00420210
add esp, 4
mov ebx, eax
mov ecx, eax
push dword [esp + 0xac]
push esi
call fcn.004846c0
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x58]
jae 0x40d2b0
mov dword [esp + 0x20], 0
mov dword [eax], ebx
add dword [esp + 0x54], 4
jmp 0x40d2be
lea ecx, [esp + 0x50]
lea eax, [esp + 0x20]
push eax
call fcn.00420010
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x40d2d3
mov eax, dword [ecx]
call dword [eax + 0x24]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x254], eax
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x250], edx
mov dword [esp + 0x24c], esi
lea ecx, [esp + 0x70]
push esi
push edx
push eax
call fcn.00412a70
mov eax, dword [esp + 0xac]
test byte [eax], 1
je 0x40d317
push dword [edi + 0x20]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x6c]
test byte [eax], 1
je 0x40d32b
push dword [edi + 0x14]
call fcn.004203b0
add esp, 4
test byte [edi], 1
je 0x40d33b
push dword [edi + 8]
call fcn.004203b0
add esp, 4
push edi
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x50]
test esi, esi
je 0x40d38d
mov edi, dword [esp + 0x54]
mov eax, esi
cmp edi, esi
jne 0x40d367
jmp 0x40d380
add edi, 0xfffffffc
cmp edi, esi
je 0x40d37c
mov ecx, dword [edi - 4]
mov dword [edi - 4], 0
test ecx, ecx
je 0x40d360
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40d360
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], esi
push eax
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xa], 0
je 0x40d3ae
mov ecx, dword [0x5aa310]
push 0
push 0
lea eax, [esp + 0x98]
push eax
call fcn.00477090
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
cmp esi, edi
je 0x40d3cd
nop word [eax + eax]
mov ecx, dword [esi]
mov eax, dword [ecx]
call dword [eax]
add esi, 4
cmp esi, edi
jne 0x40d3c0
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.00428660
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.004018e0
add esp, 0x10
mov esi, dword [esp + 0x10]
test esi, esi
je 0x40d45b
mov edi, dword [esp + 0x14]
mov eax, esi
cmp edi, esi
jne 0x40d437
jmp 0x40d44e
add edi, 0xfffffff4
cmp edi, esi
je 0x40d44a
test byte [edi - 0xc], 1
je 0x40d430
push dword [edi - 4]
call fcn.004203b0
add esp, 4
jmp 0x40d430
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], esi
push eax
call fcn.004203b0
add esp, 4
mov esi, dword [esp + 0x70]
test esi, esi
je 0x40d49d
mov edi, dword [esp + 0x74]
mov eax, esi
cmp edi, esi
jne 0x40d477
jmp 0x40d490
add edi, 0xfffffffc
cmp edi, esi
je 0x40d48c
mov ecx, dword [edi - 4]
mov dword [edi - 4], 0
test ecx, ecx
je 0x40d470
mov eax, dword [ecx]
call dword [eax + 0x24]
jmp 0x40d470
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], esi
push eax
call fcn.004203b0
add esp, 4
lea ecx, [esp + 0xb0]
call fcn.004765c0
mov edx, dword [esp + 0x1a0]
lea ecx, [esp + 0x190]
cmp edx, ecx
je 0x40d4c8
test edx, edx
je 0x40d4d4
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40d4d2
mov eax, dword [esp + 0x190]
add eax, 0x10
call dword [eax]
mov edx, dword [esp + 0x188]
lea ecx, [esp + 0x178]
cmp edx, ecx
je 0x40d4f3
test edx, edx
je 0x40d4ff
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40d4fd
mov eax, dword [esp + 0x178]
add eax, 0x10
call dword [eax]
mov edx, dword [esp + 0x170]
lea ecx, [esp + 0x160]
cmp edx, ecx
je 0x40d51e
test edx, edx
je 0x40d52a
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40d528
mov eax, dword [esp + 0x160]
add eax, 0x10
call dword [eax]
mov edx, dword [esp + 0x158]
lea ecx, [esp + 0x148]
cmp edx, ecx
je 0x40d549
test edx, edx
je 0x40d555
mov eax, dword [edx]
add eax, 0x14
mov ecx, edx
jmp 0x40d553
mov eax, dword [esp + 0x148]
add eax, 0x10
call dword [eax]
mov ecx, dword [esp + 0x138]
xor esi, esi
test ecx, ecx
je 0x40d617
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40d617
lea eax, [esp + 0x149]
push eax
push str.35.0.1
push str.fastboot_version__s__s_n
push esi
call fcn.004018e0
add esp, 0x10
test byte [esp + 0x148], 1
je 0x40d5a4
push dword [esp + 0x150]
call fcn.004203b0
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.00429da0
add esp, 4
test byte [esp + 0x148], 1
je 0x40d5cd
mov eax, dword [esp + 0x150]
jmp 0x40d5d4
lea eax, [esp + 0x149]
push eax
push str.Installed_as__s_n
push esi
call fcn.004018e0
add esp, 0xc
test byte [esp + 0x148], 1
je 0x40d5fc
push dword [esp + 0x150]
call fcn.004203b0
add esp, 4
test byte [esp + 0xb0], 1
je 0x40d615
push dword [esp + 0xb8]
call fcn.004203b0
add esp, 4
xor esi, esi
test byte [esp + 0x90], 1
je 0x40d630
push dword [esp + 0x98]
call fcn.004203b0
add esp, 4
lea ecx, [esp + 0xc]
push 0
call fcn.0041fa80
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov esi, dword [0x5aa310]
lea edi, [esp + 0x70]
mov ecx, edi
push str.current_slot
call fcn.00412340
mov eax, dword [esi]
lea edx, [esp + 0x20]
mov ecx, esi
push 0
push edx
push edi
call dword [eax + 0x14]
mov esi, eax
test byte [esp + 0x70], 1
je 0x40d699
push dword [esp + 0x78]
call fcn.004203b0
add esp, 4
test esi, esi
je 0x40d6ad
mov eax, dword [esp + 0xc]
mov byte [eax + 0xa], 0
mov esi, dword [ebp + 8]
jmp 0x40d737
test byte [esp + 0x20], 1
mov esi, dword [ebp + 8]
je 0x40d6bd
mov eax, dword [esp + 0x28]
jmp 0x40d6c1
lea eax, [esp + 0x21]
cmp byte [eax], 0x5f
jne 0x40d6d3
lea ecx, [esp + 0x20]
push 1
push 0
call fcn.004248f0
lea ecx, [esp + 0x70]
lea edx, [esp + 0x20]
push 0
call fcn.0040e290
add esp, 4
test byte [esp + 0x90], 1
je 0x40d71d
mov eax, dword [esp + 0x98]
mov byte [eax], 0
mov dword [esp + 0x94], 0
test byte [esp + 0x90], 1
je 0x40d71d
push dword [esp + 0x98]
call fcn.004203b0
add esp, 4
mov eax, dword [esp + 0x78]
mov dword [esp + 0x98], eax
movsd xmm0, qword [esp + 0x70]
movsd qword [esp + 0x90], xmm0
test byte [esp + 0x20], 1
je 0x40b35c
push dword [esp + 0x28]
call fcn.004203b0
add esp, 4
jmp 0x40b35c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0x16
mov eax, dword [0x57cf70]
push dword [eax]
push str.invalid_sparse_limit__s
call fcn.004286b0
call sub.api_ms_win_crt_runtime_l1_1_0.dll_abort
mov eax, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call eax
mov ebx, dword [eax]
sub esp, 0x14
movapd xmm0, xmmword [0x578140]
movupd xmmword [esp + 4], xmm0
mov dword [esp], str.system_core_fastboot_fastboot.cpp
lea esi, [esp + 0xc4]
mov ecx, esi
call fcn.0047bcb0
mov ecx, esi
call fcn.0047bc80
push 0x3b
push str.connect_command_requires_to_receive_only_1_argument._Usage:
push eax
call fcn.00414a40
add esp, 0xc
push eax
call fcn.00413b20
add esp, 4
push 0x25
push str.fastboot_connect__tcp:udp:host:port_
push eax
call fcn.00414a40
add esp, 0xc
mov ecx, esi
call fcn.0047bd80
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], ebx
jmp 0x40a878
lea ecx, [esp + 0xb0]
call fcn.00423320
test byte [esp + 0x20], 1
je 0x40d806
mov eax, dword [esp + 0x28]
mov dword [esp + 0xac], 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 + 0xb0]
push str.could_not_load__s:__s
call fcn.004286b0
push eax
push str.signature_must_be_256_bytes__got__zu_
call fcn.004286b0
push str.invalid_page_size
call fcn.004286b0
push str.junk_after_reboot_command
call fcn.00402030
push str.no_command
call fcn.00402030
lea ecx, [esp + 0x148]
call fcn.00413980
push eax
call fcn.00428710
lea ecx, [esp + 0x10]
call fcn.00423320
test byte [esp], 1
je 0x40d897
mov eax, dword [esp + 8]
jmp 0x40d89b
push eax
call fcn.0048cba0
add esp, 4
push eax
push ebx
push str.failed_to_open_zip_file__s:__s
call fcn.004286b0
push str.missing_flashing_command
call fcn.00402030
lea eax, [esp + 1]
push eax
push str.cannot_determine_image_filename_for__s
call fcn.004286b0
test byte [esp], 1
je 0x40d8b7
mov eax, dword [esp + 8]
mov dword [esp + 0x134], eax
push dword [esp + 0x134]
push str.cannot_load__s
call fcn.004286b0
mov eax, dword [esp + 0x140]
shl eax, 4
push dword [esp + eax + 0x258]
push str.unknown_option__s
call fcn.004286b0
mov eax, dword [esp + 0x10]
test byte [eax], 1
je 0x40d8f1
mov eax, dword [eax + 8]
jmp 0x40d8f2
inc eax
push eax
push str.unknown_flashing_command__s
call fcn.00402030
push str.invalid_gsi_command
call fcn.00402030
test byte [esp + 0x50], 1
je 0x40d919
mov eax, dword [esp + 0x58]
mov dword [esp + 0x144], eax
push dword [esp + 0x144]
push str.unknown_command__s
call fcn.00402030
push str.expected:_snapshot_update__cancelmerge_
call fcn.00402030
nop word cs:[eax + eax]
push esi
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
cmp eax, 4
je 0x40d957
cmp eax, 2
jne 0x40d973
push 1
jmp 0x40d959
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push esi
push 0x57a000
push eax
call fcn.004018e0
add esp, 0xc
pop esi
ret
push esi
push 0x57a000
call fcn.00428740
add esp, 8
pop esi
ret