Function at 0x404680
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x100e0
call fcn.00521450
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
test edi, edi
jle 0x40470b
mov dword [esp + 4], 0
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x9c], 2
mov dword [esp + 0x28], 0
mov dword [esp], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x98], 0
jmp 0x4047e0
xor edx, edx
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x9c], 2
xor ecx, ecx
mov dword [esp + 0x4c], 0
xor ebx, ebx
mov dword [esp + 0x40], 0
xor eax, eax
mov dword [esp + 0xa0], 0
mov dword [esp + 4], 0
mov dword [esp + 0x28], 0
mov dword [esp], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0x98], 0
test cl, cl
jne 0x404ad8
test dl, dl
jne 0x404ad8
push str.ADB_SERVER_SOCKET
call fcn.00438850
add esp, 4
test eax, eax
jne 0x404bda
jmp 0x404ae0
cmp edi, 1
jle 0x408b1a
mov eax, dword [esi + 4]
mov dword [esp + 0xa0], eax
jmp 0x4049d8
cmp edi, 1
jle 0x408b06
mov eax, dword [esi + 4]
mov dword [esp + 0x98], eax
jmp 0x4049d8
mov ebx, dword [esi]
push 0x581af0
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x404910
push str.nodaemon
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x404920
push str.fork_server
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40492b
push str.__reply_fd
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x404936
push 2
push 0x581b53
push ebx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x404997
push 2
push 0x581b6e
push ebx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4049af
push 0x581b86
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4049e1
push 0x581b89
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x404a31
push 0x581b8c
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x404a3e
push 2
push 0x581b8f
push ebx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x404a4b
push 2
push 0x581baa
push ebx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x404a61
push 0x581bc5
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x404a8a
cmp edi, 1
jle 0x408b10
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], eax
jmp 0x4049d8
mov al, 1
mov dword [esp], eax
jmp 0x404a80
mov al, 1
mov dword [esp + 4], eax
jmp 0x404a80
mov al, 1
mov dword [esp + 0x28], eax
jmp 0x404a80
cmp edi, 1
mov dword [esp + 0x4c], edi
jle 0x408b95
mov eax, dword [esi + 4]
mov edi, esi
push 0xa
push 0
mov dword [esp + 0x94], eax
push eax
call sub.msvcrt.dll_strtol
add esp, 0xc
mov esi, eax
push 0xfffffffffffffff6
mov ebx, dword [sym.imp.KERNEL32.dll_GetStdHandle]
call ebx
cmp eax, esi
je 0x404b90
push 0xfffffffffffffff5
call ebx
cmp eax, esi
je 0x404b90
push 0xfffffffffffffff4
call ebx
cmp eax, esi
je 0x404b90
mov dword [esp + 0x8c], esi
mov esi, edi
mov edi, dword [esp + 0x4c]
jmp 0x4049d8
movsx eax, byte [ebx + 2]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jae 0x4049c0
add ebx, 2
mov dword [esp + 0x40], ebx
jmp 0x404a80
movsx eax, byte [ebx + 2]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4049f1
add ebx, 2
jmp 0x4049f8
cmp edi, 2
jl 0x408b24
test al, al
jne 0x408b24
mov eax, dword [esi + 4]
mov dword [esp + 0x40], eax
add esi, 4
dec edi
jmp 0x404a80
mov dword [esp + 0x9c], 0
jmp 0x404a80
mov ebx, dword [esi + 4]
add esi, 4
dec edi
mov dword [esp + 0xd0], ebx
push 0xa
lea eax, [esp + 0xd4]
push eax
push ebx
call fcn.00526db0
add esp, 0xc
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
cmp byte [ecx], 0
je 0x404a80
jmp 0x408b2e
mov dword [esp + 0x9c], 1
jmp 0x404a80
mov eax, dword [0x5bc588]
mov dword [eax], 1
jmp 0x404a80
cmp byte [ebx + 2], 0
je 0x4047a6
add ebx, 2
mov dword [esp + 0xa0], ebx
jmp 0x404a80
cmp byte [ebx + 2], 0
je 0x4047be
add ebx, 2
mov dword [esp + 0x98], ebx
nop word cs:[eax + eax]
nop
add esi, 4
dec edi
jg 0x4047e0
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
test ecx, ecx
setne al
test ebx, ebx
mov dword [esp + 0xac], eax
setne al
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
test eax, eax
setne dl
or ecx, ebx
setne cl
je 0x404b59
mov ebx, dword [esp + 0xac]
test eax, eax
jne 0x408c50
test cl, cl
je 0x404784
test eax, eax
jne 0x404bda
test bl, bl
mov ebx, dword [esp + 0xa0]
jne 0x404afa
push str.ANDROID_ADB_SERVER_ADDRESS
call fcn.00438850
add esp, 4
mov ebx, eax
cmp byte [esp + 0x4c], 0
mov eax, dword [esp + 0x98]
mov dword [esp + 0xd0], 0x13ad
jne 0x404b24
push str.ANDROID_ADB_SERVER_PORT
call fcn.00438850
add esp, 4
test eax, eax
je 0x404b6d
cmp byte [eax], 0
je 0x404b6d
lea ecx, [esp + 0xd0]
push 0xffff
push 1
push ecx
push eax
mov dword [esp + 0xa8], eax
call fcn.0053bdb0
add esp, 0x10
test al, al
je 0x409042
mov eax, dword [esp + 0xd0]
jmp 0x404b72
mov ebx, dword [esp + 0xac]
test cl, cl
je 0x404784
jmp 0x404ad8
mov eax, 0x13ad
lea ecx, [esp + 0x50]
test ebx, ebx
je 0x404bb5
push eax
push ebx
push str.tcp:_s:_d
push ecx
call 0x4099e0
add esp, 0x10
test eax, eax
jns 0x404bd6
jmp 0x404bc8
push 2
call dword [0x58040c]
add esp, 4
push dword [esp + 0x8c]
push str.adb:_invalid_reply_fd___s__n
push eax
call fcn.00438580
add esp, 0xc
jmp 0x4051ef
push eax
push 0x581c9d
push ecx
call 0x4099e0
add esp, 0xc
test eax, eax
jns 0x404bd6
call fcn.004ddb30
cmp eax, 6
jle 0x406562
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
push eax
call fcn.00401540
add esp, 4
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x404c0a
mov ebx, dword [esp + 0x9c]
cmp ebx, 2
jne 0x404c11
push str.ANDROID_SERIAL
call fcn.00438850
add esp, 4
jmp 0x404c11
mov ebx, dword [esp + 0x9c]
push dword [esp + 0xa4]
push dword [esp + 0xac]
mov dword [esp + 0x48], eax
push eax
push ebx
call fcn.004014d0
add esp, 0x10
test byte [esp], 1
jne 0x405146
test edi, edi
je 0x4051ea
mov ebx, dword [esi]
push 9
push 0x581d3e
push ebx
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4052b4
push 0x581d48
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4052df
push 0x581d88
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4053df
push str.disconnect
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405404
push 0x581e09
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40545b
push 0x581e0d
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4054fe
push 0x581e11
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405727
push str.exec_in
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
mov dword [esp + 0x28], eax
je 0x405532
push str.exec_out
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405532
push str.kill_server
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405bf6
push 0x581e5d
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405d07
push str.tcpip
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405fb3
push str.remount
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push str.reboot
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push str.reboot_bootloader
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push str.reboot_fastboot
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push 0x581ef7
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push str.disable_verity
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
push str.enable_verity
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x405c7c
mov dword [esp], esi
push str.root
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4065d9
push str.unroot
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4065d9
push str.bugreport
mov esi, ebx
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406a6d
push str.forward
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4069ef
push str.reverse
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4069ef
push 0x5820d1
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406bff
push str.push
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406eb6
push str.pull
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4070bd
push str.install
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40746d
push str.install_multiple
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4076de
push str.install_multi_package
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4076f5
push str.uninstall
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x407a29
push str.sync
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x407a45
push 0x582271
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40512e
push 0x58227b
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40512e
push 0x582288
push esi
call sub.msvcrt.dll_strcmp
cmp eax, 0x83001328
les ecx, [eax]
test eax, eax
je 0x40512e
push str.logcat
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4081d0
push str.lolcat
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4081d0
push str.longcat
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4081d0
push 0x5822aa
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40997e
push str.start_server
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4084d0
push str.backup
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408587
push str.restore
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408958
push str.keygen
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408b38
push 0x5822ff
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408bc8
push str.jdwp
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408c5a
push str.track_jdwp
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408fa4
push 0x582332
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x409053
push 0x582353
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4090b9
push str.__help
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4090ad
push str.help
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4090ad
push 0x58237a
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4090ad
push str.__version
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x409299
push 0x582387
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x409299
push 0x582392
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40938e
push 0x58239b
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x409424
push 0x5823bc
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x409986
cmp edi, 2
je 0x40947c
cmp edi, 1
jne 0x409986
lea edi, [esp + 0xd0]
push esi
push edi
call fcn.00402a00
add esp, 8
mov ecx, edi
jmp 0x405432
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 4]
or cl, al
test cl, 1
jne 0x4051b9
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
push dword [esp + 0x2c]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x408f1a
mov ebx, eax
cmp eax, 0xb
jae 0x405261
mov eax, ebx
lea esi, [esp + 0xd1]
add al, bl
test ebx, ebx
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x2c]
jne 0x405290
jmp 0x40529b
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x2c]
and al, 1
cmp ebx, 0xffffffff
jne 0x4051f9
test al, al
je 0x4051f9
push 2
call dword [0x58040c]
add esp, 4
push str.reply_fd_for_adb_server_to_client_communication_not_specified._n
push eax
call fcn.00438580
add esp, 8
jmp 0x4051ef
call fcn.00409a00
mov ebx, 1
jmp 0x40935c
mov esi, eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
push ecx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x408f1a
mov ecx, eax
mov eax, esi
movzx edi, al
cmp ecx, 0xb
jae 0x405337
mov eax, ecx
lea esi, [esp + 0xd1]
add al, cl
test ecx, ecx
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x2c]
jne 0x405371
jmp 0x405388
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
mov esi, eax
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x2c]
or edi, 1
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], ebx
push ebx
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xd0]
mov byte [esi + ebx], 0
push eax
call fcn.004151d0
add esp, 4
jmp 0x40539e
mov ecx, ebx
call fcn.004041b0
mov ebx, 1
test al, al
je 0x40935c
xor ebx, ebx
cmp edi, 1
je 0x40935c
mov ebx, dword [esi + 4]
dec edi
add esi, 4
jmp 0x404c59
mov dword [esp], ebx
mov ebx, 0x581ac7
cmp edi, 2
jl 0x40530b
jne 0x409110
mov ebx, dword [esi + 4]
push 0x581d50
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x409110
lea esi, [esp + 0xd0]
push ebx
push dword [esp + 4]
push str.host:_s_s
push esi
call fcn.004deac0
add esp, 0x10
push str.List_of_devices_attached_n
call fcn.004385a0
add esp, 4
jmp 0x405430
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
mov esi, ecx
call fcn.004fc150
mov ecx, esi
add esp, 4
or ebx, 1
mov dword [esp + 0xd8], eax
mov esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xd0], ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xd4], ecx
push ecx
push eax
push esi
mov dword [esp + 0xc], edi
mov edi, ecx
call sub.msvcrt.dll_memcpy
mov ecx, edi
mov edi, dword [esp + 0xc]
add esp, 0xc
lea eax, [esp + 0xd0]
mov byte [esi + ecx], 0
push ebx
push eax
push edi
call fcn.0040e060
add esp, 0xc
test byte [esp + 0xd0], 1
mov ebx, eax
je 0x4053b9
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test ebx, ebx
je 0x40935a
push 2
call dword [0x58040c]
add esp, 4
push str._could_not_start_server__n
push eax
call fcn.00438580
add esp, 8
jmp 0x40935c
cmp edi, 2
jne 0x409267
lea edi, [esp + 0xd0]
push dword [esi + 4]
push str.host:connect:_s
push edi
call fcn.004deac0
add esp, 0xc
mov ecx, edi
jmp 0x405432
cmp edi, 3
jge 0x40928f
mov eax, 0x581ac7
cmp edi, 2
jne 0x40541a
mov eax, dword [esi + 4]
lea esi, [esp + 0xd0]
push eax
push str.host:disconnect:_s
push esi
call fcn.004deac0
add esp, 0xc
mov ecx, esi
call fcn.00409a70
mov ebx, eax
test byte [esp + 0xd0], 1
je 0x40935c
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
jmp 0x40935c
xorps xmm0, xmm0
lea eax, [esp + 0x50]
lea ebx, [esp + 0xd0]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe0], 0x3f800000
push eax
push ebx
call fcn.00402a80
add esp, 8
test al, al
je 0x405513
mov eax, dword [0x5bc58c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov eax, dword [eax]
mov dword [esp + 4], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x409366
mov ecx, eax
cmp eax, 0xb
mov dword [esp], eax
jae 0x4057f6
mov eax, ecx
add al, cl
test ecx, ecx
mov byte [esp + 0x18], al
lea eax, [esp + 0x19]
jne 0x405821
jmp 0x40583b
push dword [esp + 0x40]
push esi
push edi
call fcn.0040eb20
add esp, 0xc
mov ebx, eax
jmp 0x40935c
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x4057ce
mov ecx, dword [esp + 0x58]
jmp 0x4057d2
cmp edi, 1
jle 0x409379
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xd0], 0xa
mov word [esp + 0xd5], 0x3a
mov dword [esp + 0xd1], 0x63657865
lea ecx, [esp + 0xd0]
push dword [esi + 4]
call fcn.00555840
add edi, 0xfffffffe
jle 0x4056cf
add esi, 8
mov eax, dword [esi]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x4090a4
mov ebx, eax
cmp eax, 0xb
jae 0x4055dc
mov eax, ebx
add al, bl
test ebx, ebx
mov byte [esp + 8], al
lea eax, [esp + 9]
jne 0x405604
jmp 0x40561a
mov eax, ebx
add eax, 0x10
and eax, 0xfffffff0
mov dword [esp + 4], eax
push eax
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 4]
mov dword [esp + 0x10], eax
or ecx, 1
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
push ebx
push dword [esp + 4]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x10]
add esp, 0xc
mov byte [eax + ebx], 0
lea eax, [esp + 8]
push eax
lea ebx, [esp + 0x1c]
push ebx
call fcn.0041a3e0
add esp, 8
mov ecx, ebx
push 0x581e44
push 0
call fcn.00555ed0
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x50], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
movzx eax, byte [esp + 0x50]
test al, 1
je 0x405676
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
jmp 0x40567c
shr eax, 1
lea edx, [esp + 0x51]
lea ecx, [esp + 0xd0]
push eax
push edx
call fcn.00555860
test byte [esp + 0x50], 1
je 0x40569d
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x4056b0
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
dec edi
test byte [esp + 8], 1
je 0x4056c4
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
add esi, 4
test edi, edi
jg 0x405594
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.00401950
add esp, 8
mov edi, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call edi
mov ebx, dword [eax]
call edi
test esi, esi
mov dword [eax], ebx
js 0x4059b7
cmp dword [esp + 0x28], 0
je 0x405c05
push 1
push esi
jmp 0x405c08
xorps xmm0, xmm0
lea eax, [esp + 0x50]
lea ebx, [esp + 0xd0]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe0], 0x3f800000
push eax
push ebx
call fcn.00402a80
add esp, 8
test al, al
je 0x40599f
mov eax, dword [0x5bc5a4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
mov eax, dword [eax]
mov dword [esp + 0x40], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x409366
mov ecx, eax
cmp eax, 0xb
mov dword [esp], eax
jae 0x4059ee
mov eax, ecx
add al, cl
test ecx, ecx
mov byte [esp + 0x18], al
lea eax, [esp + 0x19]
jne 0x405a19
jmp 0x405a33
lea ecx, [esp + 0x51]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
mov ebx, 1
test byte [esp + 0x50], 1
jne 0x40592c
jmp 0x405938
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
mov ecx, dword [esp + 4]
add esp, 4
or ebx, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ebx
lea ebx, [esp + 0xd0]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
push ecx
push dword [esp + 8]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x18]
push eax
push ebx
call fcn.004277d0
add esp, 8
test byte [esp + 0x18], 1
mov ebx, eax
je 0x405862
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test bl, bl
je 0x40936f
mov eax, dword [0x5bc5bc]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x18], 8
mov dword [esp + 0x19], 0x3a626261
mov byte [esp + 0x1d], 0
mov eax, dword [eax]
cmp eax, edi
jge 0x4058c8
lea ebx, [esi + eax*4]
sub edi, eax
lea esi, [esp + 0x18]
mov ecx, esi
push dword [ebx]
call fcn.00555840
sub esp, 4
mov ecx, esi
mov dword [esp], 0
call fcn.00556a60
add ebx, 4
dec edi
jne 0x4058a8
mov eax, dword [0x5bc570]
test byte [eax], 1
jne 0x406b72
lea eax, [esp + 0x18]
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov byte [esp + 8], 6
mov dword [esp + 9], 0x776172
lea edx, [esp + 8]
mov ecx, 1
push eax
push 0
push 0x7e
call fcn.00409d50
add esp, 0xc
test byte [esp + 8], 1
mov ebx, eax
jne 0x405977
test byte [esp + 0x18], 1
jne 0x40598a
test byte [esp + 0x50], 1
je 0x405938
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x405bd6
nop word [eax + eax]
mov edi, dword [esi]
test byte [esi + 8], 1
je 0x405963
push dword [esi + 0x10]
call fcn.004fc300
add esp, 4
push esi
call fcn.004fc300
add esp, 4
test edi, edi
mov esi, edi
jne 0x405950
jmp 0x405bd6
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x405925
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test byte [esp + 0x50], 1
jne 0x40592c
jmp 0x405938
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x4059d6
mov ecx, dword [esp + 0x58]
jmp 0x4059da
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x405c1c
mov ecx, dword [esp + 0x58]
jmp 0x405c20
lea ecx, [esp + 0x51]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
jmp case.0x405ad1.85
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
mov ecx, dword [esp + 4]
add esp, 4
or ebx, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ebx
lea ebx, [esp + 0xd0]
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], eax
push ecx
push dword [esp + 0x44]
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [esp + 0x18]
push eax
push ebx
call fcn.004277d0
add esp, 8
test byte [esp + 0x18], 1
mov ebx, eax
je 0x405a5a
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
mov eax, ebx
mov dword [esp + 0x28], ebx
mov dword [esi], str.adb_shell
xor al, 1
movzx eax, al
lea eax, [eax + eax*2]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll___p___argv]
mov ecx, dword [0x5bc5bc]
mov dword [eax], esi
mov dword [ecx], 1
jmp 0x405a96
mov dword [esp], 3
mov dword [esp + 0x28], 0
mov cl, 0x7e
jmp 0x405a9c
mov cl, byte [ebx]
mov dword [esp + 4], ecx
jmp 0x405ab5
call fcn.0041a220
push str.e:ntTx
push esi
push edi
call fcn.005232c0
add esp, 0xc
cmp eax, 0x6e
je 0x405ab0
lea ecx, [eax - 0x54]
cmp ecx, 0x24
ja case.default.0x405ad1
jmp dword [ecx*4 + 0x581930]
mov dword [esp], 1
jmp 0x405ab5
xor eax, eax
cmp dword [esp], 1
seta al
or eax, 2
mov dword [esp], eax
jmp 0x405ab5
mov eax, dword [0x5bc5b8]
mov ebx, dword [eax]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 1
je 0x405b1d
push str.none
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x409384
push str.none
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
xor ecx, ecx
test eax, eax
je 0x405a9c
jmp 0x405a9a
cmp eax, 0xffffffff
jne case.0x405ad1.85
mov eax, dword [0x5bc5bc]
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov byte [esp + 0x18], 6
mov dword [esp + 0x19], 0x797470
mov ebx, dword [eax]
mov eax, dword [esp]
test eax, eax
je 0x406075
cmp eax, 2
je 0x406048
mov ebx, dword [esp + 0x28]
cmp eax, 1
je 0x40608b
jmp 0x406099
mov ebx, 1
test byte [esp + 0x50], 1
je 0x405ba9
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x405bd6
mov edi, dword [esi]
test byte [esi + 8], 1
je 0x405bc7
push dword [esi + 0x10]
call fcn.004fc300
add esp, 4
push esi
call fcn.004fc300
add esp, 4
test edi, edi
mov esi, edi
jne 0x405bb4
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0
test eax, eax
je 0x40935c
push eax
jmp 0x40544e
call fcn.00401700
xor al, 1
movzx ebx, al
jmp 0x40935c
push esi
push 0
call fcn.00403680
add esp, 8
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
xor ebx, ebx
jmp 0x405c41
lea ecx, [esp + 0x51]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov ebx, 0xffffffff
cmp esi, 0xffffffff
je 0x405c4a
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
test byte [esp + 0x50], 1
je 0x405439
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0xd0], 1
jne 0x405447
jmp 0x40935c
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov ebx, dword [esi]
push str.reboot_bootloader
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406000
push str.reboot_fastboot
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x40617e
lea eax, [esp + 0x50]
cmp edi, 2
jl 0x4062df
push dword [esi + 4]
push ebx
push 0x581f3a
push eax
call fcn.004deac0
add esp, 0x10
test byte [esp + 0xd0], 1
jne 0x4062fc
mov word [esp + 0xd0], 0
jmp 0x406335
cmp edi, 2
jne 0x409636
mov edi, dword [esi + 4]
lea eax, [esp + 0x50]
push eax
push edi
call fcn.0043a0e0
add esp, 8
cmp eax, 0xffffffff
je 0x406016
push 0
mov dword [esp + 0x2c], edi
push edi
call fcn.00432a40
add esp, 8
mov edi, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call edi
mov esi, dword [eax]
call edi
cmp ebx, 0xffffffff
mov dword [eax], esi
je 0x406194
lea esi, [esp + 0x30]
push 0x10000
push dword [esp + 0x70]
push dword [esp + 0x70]
push str.sideload_host:_lld:_d
push esi
call fcn.004deac0
add esp, 0x14
lea eax, [esp + 0x80]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
push eax
push esi
call fcn.00401950
add esp, 8
mov dword [esp], ebx
mov ebx, edi
mov edi, eax
call ebx
mov esi, dword [eax]
call ebx
mov ebx, dword [esp]
test edi, edi
mov dword [eax], esi
mov dword [esp + 4], edi
js 0x406360
mov dword [esp + 0x18], 0x10000
lea eax, [esp + 0x18]
push 4
push eax
push 0x1001
push 0xffff
push edi
call fcn.00435a50
add esp, 0x14
lea esi, [esp + 0xd0]
push 8
push esi
push edi
call fcn.004181e0
add esp, 0xc
test al, al
je 0x405f7d
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0
mov byte [esp + 0xd8], 0
push 9
push esi
push str.DONEDONE
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4066f5
push 0xa
push 0
push esi
call fcn.00526db0
add esp, 0xc
mov edi, edx
mov ebx, eax
mov esi, eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x4c], edx
shld edi, eax, 0x10
mov eax, dword [esp + 0x68]
shl ebx, 0x10
mov edx, edi
cmp ebx, eax
sbb edx, ecx
jge 0x4067ac
mov edx, ebx
mov esi, edi
add edx, 0x10000
adc esi, 0
mov dword [esp + 0x4c], esi
mov esi, eax
sub esi, ebx
cmp eax, edx
mov eax, 0x10000
sbb ecx, dword [esp + 0x4c]
cmovge esi, eax
push 0
push edi
push ebx
push dword [esp + 0xc]
call fcn.004339d0
add esp, 0x10
xor edx, edi
xor eax, ebx
or eax, edx
jne 0x4067de
push esi
lea edi, [esp + 0xd4]
push edi
mov ebx, dword [esp + 8]
push ebx
call fcn.004181e0
add esp, 0xc
test al, al
je 0x406807
push esi
push edi
push dword [esp + 0xc]
call fcn.00418570
add esp, 0xc
test al, al
je 0x40682f
mov eax, dword [esp + 0x40]
mov ecx, 0x2f
add eax, esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
adc esi, 0
mul ecx
imul ecx, esi, 0x2f
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x6c]
add ecx, edx
mov edx, dword [esp + 0x68]
mov edi, edx
or edi, esi
mov edi, 1
cmove edx, edi
mov edi, 0
cmove esi, edi
push esi
push edx
push ecx
push eax
call fcn.005214b0
add esp, 0x10
cmp dword [esp + 0x8c], eax
je 0x405f5f
mov esi, eax
push eax
push dword [esp + 0x2c]
push str._rserving:__s____d___
call fcn.004385a0
add esp, 0xc
push 1
call dword [0x58040c]
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov dword [esp + 0x8c], esi
push 8
lea esi, [esp + 0xd4]
push esi
push dword [esp + 0xc]
call fcn.004181e0
add esp, 0xc
test al, al
jne 0x405e19
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push str.adb:_failed_to_read_command:__s_n
push esi
call fcn.00438580
add esp, 0xc
mov esi, 0xffffffff
jmp 0x40697c
cmp edi, 2
jne 0x4096c5
lea eax, [esp + 0x50]
push 0xffff
push 1
push eax
push dword [esi + 4]
call fcn.0053bdb0
add esp, 0x10
test al, al
je 0x4096cf
lea esi, [esp + 0xd0]
push dword [esp + 0x50]
push str.tcpip:_d
push esi
call fcn.004deac0
add esp, 0xc
mov ecx, esi
call fcn.00409b50
jmp 0x405437
lea ecx, [esp + 0xd0]
push str.reboot:bootloader
call fcn.00555b20
jmp 0x40634f
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push edi
push str.adb:_failed_to_stat_file__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
jmp 0x4051ef
push 0
call fcn.00436b40
add esp, 4
mov ebx, dword [esp + 0x28]
test eax, eax
jne 0x406099
push 2
call dword [0x58040c]
add esp, 4
push str.Remote_PTY_will_not_be_allocated_because_stdin_is_not_a_terminal._nUse_multiple__t_options_to_force_remote_PTY_allocation._n
push eax
call fcn.00438580
add esp, 8
jmp 0x40608b
push 0
call fcn.00436b40
add esp, 4
cmp ebx, edi
mov ebx, dword [esp + 0x28]
jne 0x40608b
test eax, eax
jne 0x406099
lea ecx, [esp + 0x18]
push 0x582353
call fcn.00555b20
mov eax, dword [0x5bc570]
test byte [eax], 1
jne 0x40704f
test bl, bl
je 0x408d69
mov eax, dword [0x5bc5bc]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov eax, dword [eax]
cmp eax, edi
jge 0x40623f
lea eax, [esi + eax*4]
lea edi, [esi + edi*4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
sub edi, eax
je 0x406157
mov ebx, edi
mov dword [esp], eax
sar ebx, 2
cmp ebx, 0x40000000
jae 0x4097ca
push edi
call fcn.004fc150
add esp, 4
mov dword [esp + 0x84], eax
mov esi, eax
mov dword [esp + 0x80], eax
lea eax, [eax + ebx*4]
mov ebx, dword [esp + 0x28]
test edi, edi
mov dword [esp + 0x88], eax
mov eax, dword [esp]
jle 0x406157
push edi
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
add esi, edi
mov dword [esp + 0x84], esi
lea eax, [esp + 0x80]
lea ecx, [esp + 0x30]
push 0x20
push eax
push ecx
call fcn.0053bc10
add esp, 0xc
test byte [esp + 8], 1
jne 0x4061ce
mov word [esp + 8], 0
jmp 0x4061f8
lea ecx, [esp + 0xd0]
push str.reboot:fastboot
call fcn.00555b20
jmp 0x40634f
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call edi
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 0x2c]
push str.adb:_failed_to_open_file__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
call edi
mov edi, dword [eax]
mov esi, 0xffffffff
jmp 0x4069db
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov dword [esp + 0xc], 0
test byte [esp + 8], 1
je 0x4061f8
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
mov dword [esp + 8], 0
mov eax, dword [esp + 0x38]
movsd xmm0, qword [esp + 0x30]
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
movsd qword [esp + 8], xmm0
test eax, eax
je 0x40623f
mov dword [esp + 0x84], eax
push eax
call fcn.004fc300
add esp, 4
xor edx, edx
test bl, bl
lea eax, [esp + 8]
lea ecx, [esp + 0x30]
setne dl
mov esi, edx
push eax
lea edi, [esp + 0x1c]
push edi
call fcn.00403f70
add esp, 8
movzx eax, byte [esp + 8]
test al, 1
je 0x40626d
mov eax, dword [esp + 0xc]
jmp 0x40626f
shr eax, 1
mov ecx, dword [esp + 4]
xor ebx, ebx
test eax, eax
mov edx, edi
sete bl
movsx eax, cl
mov ecx, esi
lea esi, [esp + 0x30]
push esi
push ebx
push eax
call fcn.00409d50
add esp, 0xc
test byte [esp + 0x30], 1
mov ebx, eax
jne 0x4062b0
test byte [esp + 8], 1
jne 0x4062c3
test byte [esp + 0x18], 1
je 0x405b96
jmp 0x408e90
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
je 0x4062a0
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x405b96
jmp 0x408e90
push ebx
push 0x581f40
push eax
call fcn.004deac0
add esp, 0xc
test byte [esp + 0xd0], 1
je 0x405cf8
mov eax, dword [esp + 0xd8]
mov byte [eax], 0
mov dword [esp + 0xd4], 0
test byte [esp + 0xd0], 1
je 0x406335
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 0xd8], eax
movsd qword [esp + 0xd0], xmm0
lea ecx, [esp + 0xd0]
call fcn.00409b50
jmp 0x405437
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x80], 1
je 0x40637e
mov ecx, dword [esp + 0x88]
jmp 0x406385
lea ecx, [esp + 0x81]
push ecx
push str.adb:_sideload_connection_failed:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov ecx, 0x7fffffff
xor eax, eax
mov esi, 0xffffffff
cmp ecx, dword [esp + 0x68]
sbb eax, dword [esp + 0x6c]
jl 0x40697c
push 2
call dword [0x58040c]
add esp, 4
push str.adb:_trying_pre_KitKat_sideload_method..._n
push eax
call fcn.00438580
add esp, 8
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
lea esi, [esp + 0xd0]
mov dword [esp + 0x2c], eax
push eax
push str.sideload:_d
push esi
call fcn.004deac0
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push esi
call fcn.00401950
add esp, 8
mov edi, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call eax
mov esi, dword [eax]
call ebx
mov dword [eax], esi
test byte [esp + 0xd0], 1
je 0x406435
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test edi, edi
mov dword [esp + 0x40], edi
js 0x4065ba
mov dword [esp + 0x90], 0x10000
lea eax, [esp + 0x90]
push 4
push eax
push 0x1001
push 0xffff
push edi
call fcn.00435a50
add esp, 0x14
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x90], eax
jle 0x40651b
mov ebx, dword [esp + 0x2c]
mov eax, ebx
sar eax, 0x1f
mov dword [esp + 0x4c], eax
cmp ebx, 0x10001
mov esi, 0x10000
cmovl esi, ebx
push esi
lea edi, [esp + 0xd4]
push edi
push dword [esp + 8]
call fcn.004181e0
add esp, 0xc
test al, al
je 0x406870
push esi
push edi
push dword [esp + 0x48]
call fcn.00418570
add esp, 0xc
test al, al
je 0x4068c5
sub ebx, esi
mov ecx, 0x64
mov eax, ebx
imul ecx
push dword [esp + 0x4c]
push dword [esp + 0x30]
push edx
push eax
call fcn.005214b0
add esp, 0x10
mov ecx, 0x64
sub ecx, eax
push ecx
push dword [esp + 0x2c]
push str.sending:__s__4d_______r
call fcn.004385a0
add esp, 0xc
push 1
call dword [0x58040c]
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
test ebx, ebx
jg 0x406488
push 0x584451
call fcn.004385a0
add esp, 4
xor esi, esi
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x44]
call fcn.00401620
add esp, 8
test al, al
jne 0x406944
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x18], 1
je 0x40692c
mov ecx, dword [esp + 0x20]
jmp 0x406930
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
lea ebx, [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x5c9
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
push 0x2e
push str.failed_to_allocate_server_socket_specification
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, ebx
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
jmp 0x404bd6
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x18], 1
je 0x406861
mov ecx, dword [esp + 0x20]
jmp 0x406865
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
lea esi, [esp + 0xd0]
mov dword [esp], ebx
push ebx
push 0x581f40
push esi
call fcn.004deac0
add esp, 0xc
lea eax, [esp + 0x50]
push eax
push esi
call fcn.00401950
add esp, 8
mov esi, dword [sym.imp.msvcrt.dll__errno]
mov dword [esp + 4], eax
call esi
mov edi, dword [eax]
call esi
mov dword [eax], edi
test byte [esp + 0xd0], 1
je 0x406643
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
cmp dword [esp + 4], 0
js 0x40690d
mov ebx, dword [esp + 4]
xor edi, edi
mov esi, 0x100
lea eax, [esp + edi + 0xd0]
push esi
push eax
push ebx
call fcn.004337f0
add esp, 0xc
test eax, eax
je 0x406683
js 0x406ac2
add edi, eax
sub esi, eax
jg 0x406659
test esi, esi
je 0x406bde
push 1
call dword [0x58040c]
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
mov eax, 0x100
sub eax, esi
push eax
lea eax, [esp + 0xd4]
push eax
push 1
call fcn.00418570
add esp, 0xc
test edi, edi
je 0x4066ce
push str.restarting
lea eax, [esp + 0xd4]
push eax
call sub.msvcrt.dll_strstr
add esp, 8
test eax, eax
je 0x4066eb
lea eax, [esp + 0x18]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0xb2d05e00
push eax
call fcn.00502dc0
add esp, 4
mov ebx, 1
jmp 0x406b34
movss xmm0, dword [esp + 0x40]
movss xmm1, dword [esp + 0x2c]
xor esi, esi
unpcklps xmm0, xmm1
movlps qword [esp + 0xc8], xmm0
fild qword [esp + 0xc8]
fstp qword [esp + 0xc0]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
movsd xmm2, qword [esp + 0xc0]
mov edx, eax
or edx, ecx
mov edx, 1
cmove ecx, esi
cmovne edx, eax
movd xmm0, ecx
movd xmm1, edx
punpckldq xmm1, xmm0
movq qword [esp + 0xb8], xmm1
fild qword [esp + 0xb8]
fstp qword [esp + 0xb0]
divsd xmm2, qword [esp + 0xb0]
movsd qword [esp + 0x40], xmm2
push dword [esp + 0x28]
call sub.msvcrt.dll_strlen
add esp, 4
add eax, 0xa
sub esp, 0x14
movsd xmm0, qword [esp + 0x54]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x581ac7
mov dword [esp], str._rTotal_xfer:__.2fx_s_n
movsd qword [esp + 4], xmm0
call fcn.004385a0
add esp, 0x14
jmp 0x406979
push 2
call dword [0x58040c]
add esp, 4
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push edi
push ebx
push dword [esp + 0x5c]
push esi
push str.adb:_failed_to_read_block__lld_at_offset__lld__past_end__lld_n
push eax
call fcn.00438580
add esp, 0x20
mov esi, 0xffffffff
jmp 0x406979
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push str.adb:_failed_to_seek_to_package_block:__s_n
push esi
jmp 0x4068b3
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push str.adb:_failed_to_read_package_block:__s_n
jmp 0x405fa0
lea eax, [esp + 0x80]
push eax
push dword [esp + 8]
call fcn.00401620
add esp, 8
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x80], 1
je 0x4068a5
mov ecx, dword [esp + 0x88]
jmp 0x4068ac
lea ecx, [esp + 0x19]
push ecx
push str.adb:_pre_KitKat_sideload_connection_failed:__s_n
jmp 0x406936
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 0x2c]
push str.adb:_failed_to_read_data_from__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
jmp 0x40693f
lea ecx, [esp + 0x81]
push ecx
push str.adb:_failed_to_write_data__s__n
push eax
call fcn.00438580
add esp, 0xc
mov esi, 0xffffffff
jmp 0x406979
lea eax, [esp + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
push eax
push dword [esp + 0x44]
call fcn.00401620
add esp, 8
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 8], 1
je 0x406aec
mov ecx, dword [esp + 0x10]
jmp 0x406af0
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x406b1b
mov ecx, dword [esp + 0x58]
jmp 0x406b1f
lea ecx, [esp + 0x19]
push ecx
push str.adb:_error_response:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov esi, 0xffffffff
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
je 0x40695e
push eax
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
test byte [esp + 0x18], 1
je 0x406979
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
mov ebx, dword [esp]
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov eax, dword [esp + 4]
cmp eax, 0xffffffff
je 0x406996
push eax
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
test byte [esp + 0x80], 1
je 0x4069b7
push dword [esp + 0x88]
call fcn.004fc300
add esp, 4
test byte [esp + 0x30], 1
je 0x4069ca
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
push ebx
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
xor eax, eax
test esi, esi
setne al
jmp 0x40935e
cmp edi, 1
jle 0x4097f0
push str.reverse
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
je 0x406bc8
cmp dword [esp + 0x40], 0
je 0x406c1b
lea eax, [esp + 0x50]
push dword [esp + 0x40]
push str.host_serial:_s
push eax
call fcn.004deac0
add esp, 0xc
test byte [esp + 0xd0], 1
jne 0x406c45
mov word [esp + 0xd0], 0
jmp 0x406c7e
mov ebx, dword [0x5bc53c]
lea ecx, [esp + 0xd4]
add ebx, 8
mov dword [esp + 0xd0], ebx
call fcn.00412e30
lea ecx, [esp + 0xd0]
push dword [esp]
push edi
call fcn.00402c50
mov dword [esp + 0xd0], ebx
mov esi, eax
test byte [esp + 0xd8], 1
je 0x406abb
push dword [esp + 0xe0]
call fcn.004fc300
add esp, 4
mov ebx, esi
jmp 0x40935c
push 2
call dword [0x58040c]
add esp, 4
mov edi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 4]
push str.adb:_error_while_reading_for__s:__s_n
push edi
jmp 0x406b2a
lea ecx, [esp + 9]
push ecx
push str.adb:_failed_to_write_data:__s_n
push eax
call fcn.00438580
add esp, 0xc
test byte [esp + 8], 1
je 0x40693f
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
jmp 0x40693f
lea ecx, [esp + 0x51]
push ecx
push dword [esp + 4]
push str.adb:_unable_to_connect_for__s:__s_n
push eax
call fcn.00438580
add esp, 0x10
xor ebx, ebx
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
cmp dword [esp + 4], 0xffffffff
je 0x406b4f
push dword [esp + 4]
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
test byte [esp + 0x50], 1
je 0x406b6a
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
xor ebx, 1
jmp 0x40935c
call fcn.004ddb30
cmp eax, 1
jg 0x4058d6
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
lea esi, [esp + 0x30]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x315
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
mov esi, eax
movzx eax, byte [esp + 0x18]
test al, 1
je 0x4088ef
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x4088f5
lea ecx, [esp + 0xd0]
push str.reverse
call fcn.00555b20
jmp 0x406c98
push 2
call dword [0x58040c]
add esp, 4
push dword [esp]
push str.adb:_unexpected_output_length_for__s_n
push eax
call fcn.00438580
add esp, 0xc
jmp 0x406b32
cmp edi, 2
jne 0x409818
mov eax, dword [esp]
push dword [eax + 4]
call fcn.0040a480
add esp, 4
jmp 0x405bfb
cmp dword [esp + 0x9c], 1
je 0x4071c4
cmp dword [esp + 0x9c], 0
jne 0x4071d5
lea ecx, [esp + 0xd0]
push str.host_usb
jmp 0x406bd4
mov eax, dword [esp + 0xd8]
mov byte [eax], 0
mov dword [esp + 0xd4], 0
test byte [esp + 0xd0], 1
je 0x406c7e
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x50]
mov dword [esp + 0xd8], eax
movsd qword [esp + 0xd0], xmm0
mov eax, dword [esp]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
dec edi
mov ebx, dword [eax + 4]
push str.__list
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406d84
push str.__remove_all
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406dc2
push str.__remove
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x406f46
push str.__no_rebind
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x407161
cmp edi, 2
jne 0x40982c
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x4090a4
mov esi, eax
cmp esi, 0xb
jae 0x4071e6
mov ecx, esi
mov eax, ecx
add al, cl
lea ecx, [esp + 9]
test esi, esi
mov byte [esp + 8], al
mov dword [esp + 4], ecx
jne 0x407212
jmp 0x407220
cmp edi, 1
jne 0x4097fb
movzx ebx, byte [esp + 0xd0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
test bl, 1
je 0x406e07
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x406e10
cmp edi, 1
jne 0x409822
movzx ebx, byte [esp + 0xd0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
test bl, 1
je 0x406f8b
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x406f94
shr ebx, 1
lea eax, [esp + 0xd1]
mov dword [esp], eax
lea eax, [ebx + 0xd]
cmp eax, 0xfffffff0
jae 0x4090a4
cmp eax, 0xa
ja 0x406e32
mov eax, ebx
lea esi, [esp + 9]
add al, bl
mov byte [esp + 8], al
jmp 0x406e56
lea edi, [ebx + 0x1d]
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov esi, eax
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
je 0x406e64
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea esi, [esp + 8]
mov ecx, esi
push 0xd
push str.:list_forward
call fcn.00555860
mov ecx, esi
call fcn.00409a70
test byte [esp + 8], 1
mov ebx, eax
jne 0x406e9a
test byte [esp + 0x18], 1
je 0x405c52
jmp 0x407a0d
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x405c52
jmp 0x407a0d
mov ecx, dword [esp]
mov edx, edi
lea eax, [esp + 8]
lea esi, [esp + 0xd0]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0x18], 0
mov byte [esp + 8], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x50], 0
lea ebx, [esp + 0x18]
lea edi, [esp + 0x50]
dec edx
add ecx, 4
push eax
push ebx
push edi
push esi
call fcn.00409c20
add esp, 0x10
mov eax, dword [esp + 0xd0]
cmp eax, dword [esp + 0xd4]
je 0x409805
mov eax, dword [esp + 0x50]
test eax, eax
je 0x409805
movzx ecx, byte [esp + 8]
push ecx
push eax
push esi
call fcn.0040a5e0
add esp, 0xc
jmp 0x407139
cmp edi, 2
jne 0x409836
movzx ebx, byte [esp + 0xd0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
test bl, 1
je 0x40734f
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x407358
shr ebx, 1
lea eax, [esp + 0xd1]
mov dword [esp], eax
lea eax, [ebx + 0x10]
cmp eax, 0xfffffff0
jae 0x4090a4
cmp eax, 0xa
ja 0x406fb6
mov eax, ebx
lea esi, [esp + 9]
add al, bl
mov byte [esp + 8], al
jmp 0x406fda
lea edi, [ebx + 0x20]
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov esi, eax
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
je 0x406fe8
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea ecx, [esp + 8]
push 0x10
push str.:killforward_all
call fcn.00555860
test byte [esp + 0x50], 1
jne 0x40700c
mov word [esp + 0x50], 0
jmp 0x407036
mov eax, dword [esp + 0x58]
mov byte [eax], 0
mov dword [esp + 0x54], 0
test byte [esp + 0x50], 1
je 0x407036
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x10]
movsd xmm0, qword [esp + 8]
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm0
jmp 0x4078f0
call fcn.004ddb30
cmp eax, 1
jg 0x4060a7
mov dword [esp + 0x4c], edi
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
lea edi, [esp + 0x30]
mov ecx, edi
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x2e3
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, edi
call fcn.004ddb40
mov dword [esp + 0x8c], eax
test bl, bl
mov eax, 0x5841ca
mov edi, 0x5841c5
cmove edi, eax
movzx eax, byte [esp + 0x18]
test al, 1
je 0x408cba
mov eax, dword [esp + 0x1c]
jmp 0x408cbc
mov ecx, dword [esp]
mov edx, edi
lea ebx, [esp + 0xd0]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0x18], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x50], 0x582110
lea eax, [esp + 0x18]
lea esi, [esp + 0x50]
dec edx
add ecx, 4
push 0
push eax
push esi
push ebx
call fcn.00409c20
add esp, 0x10
mov eax, dword [esp + 0xd0]
cmp eax, dword [esp + 0xd4]
je 0x40984c
movzx eax, byte [esp + 0x18]
push 0
push eax
push dword [esp + 0x58]
push ebx
call fcn.0040bc80
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0xd0]
xor bl, 1
test eax, eax
je 0x407159
mov dword [esp + 0xd4], eax
push eax
call fcn.004fc300
add esp, 4
movzx ebx, bl
jmp 0x40935c
cmp edi, 3
jne 0x409856
mov eax, dword [esp]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 4], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x4090a4
mov esi, eax
cmp esi, 0xb
jae 0x407484
mov ecx, esi
lea edi, [esp + 9]
mov eax, ecx
add al, cl
test esi, esi
mov byte [esp + 8], al
jne 0x4074ae
jmp 0x4074bc
lea ecx, [esp + 0xd0]
push str.host_local
jmp 0x406bd4
lea ecx, [esp + 0xd0]
push 0x581fa5
jmp 0x406bd4
mov edi, esi
mov dword [esp + 0x28], esi
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 0x28]
or edi, 1
mov dword [esp + 0x10], eax
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
push esi
push ebx
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [eax + esi], 0
mov eax, dword [esp]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esp + 4], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40980f
mov esi, eax
cmp esi, 0xb
jae 0x407277
mov ecx, esi
lea edi, [esp + 0x31]
mov eax, ecx
add al, cl
test esi, esi
mov byte [esp + 0x30], al
jne 0x4072a1
jmp 0x4072af
mov ebx, esi
mov dword [esp + 0x28], esi
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 0x28]
or ebx, 1
mov dword [esp + 0x38], eax
mov edi, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
push esi
push dword [esp + 8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x18]
mov byte [edi + esi], 0
lea ecx, [esp + 0x30]
lea edx, [esp + 8]
push eax
push ecx
push edx
call fcn.0041a950
add esp, 0xc
test byte [esp + 0x30], 1
mov ebx, eax
jne 0x4072e3
test byte [esp + 8], 1
jne 0x4072f6
test bl, bl
jne 0x40730a
jmp 0x4078f0
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
je 0x4072da
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test bl, bl
je 0x4078f0
movzx ebx, byte [esp + 0xd0]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
test bl, 1
je 0x4075e7
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x4075f0
shr ebx, 1
lea eax, [esp + 0xd1]
mov dword [esp + 4], eax
lea eax, [ebx + 0xd]
cmp eax, 0xfffffff0
jae 0x4090a4
cmp eax, 0xa
ja 0x40737b
mov eax, ebx
lea esi, [esp + 9]
add al, bl
mov byte [esp + 8], al
jmp 0x40739f
lea edi, [ebx + 0x1d]
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov esi, eax
test ebx, ebx
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
je 0x4073ad
push ebx
push dword [esp + 8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 8]
mov byte [esi + ebx], 0
mov ecx, edi
push 0xd
push str.:killforward:
call fcn.00555860
mov eax, dword [esp]
mov ecx, edi
push dword [eax + 8]
call fcn.00555840
mov ecx, dword [eax + 4]
mov bl, byte [eax]
mov dword [esp + 0x33], ecx
mov ecx, dword [eax + 1]
mov dword [esp + 0x30], ecx
mov esi, dword [eax + 8]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
test byte [esp + 0x50], 1
jne 0x407407
mov word [esp + 0x50], 0
jmp 0x407431
mov eax, dword [esp + 0x58]
mov byte [eax], 0
mov dword [esp + 0x54], 0
test byte [esp + 0x50], 1
je 0x407431
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov dword [esp + 0x50], 0
test byte [esp + 8], 1
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x33]
mov byte [esp + 0x50], bl
mov dword [esp + 0x30], 0
mov dword [esp + 0x33], 0
mov dword [esp + 0x51], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
je 0x4078f0
push dword [esp + 0x10]
jmp 0x4078e8
cmp edi, 1
jle 0x409873
push dword [esp]
push edi
call fcn.0040f530
jmp 0x407a3b
mov ebx, esi
mov dword [esp + 0x28], esi
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 0x28]
or ebx, 1
mov dword [esp + 0x10], eax
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
push esi
push dword [esp + 8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov byte [edi + esi], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esp + 4], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40980f
mov esi, eax
cmp esi, 0xb
jae 0x40750f
mov ecx, esi
lea edi, [esp + 0x31]
mov eax, ecx
add al, cl
test esi, esi
mov byte [esp + 0x30], al
jne 0x407539
jmp 0x407547
mov ebx, esi
mov dword [esp + 0x28], esi
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 0x28]
or ebx, 1
mov dword [esp + 0x38], eax
mov edi, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ecx
push esi
push dword [esp + 8]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x18]
mov byte [edi + esi], 0
lea ecx, [esp + 0x30]
lea edx, [esp + 8]
push eax
push ecx
push edx
call fcn.0041a950
add esp, 0xc
test byte [esp + 0x30], 1
mov ebx, eax
jne 0x40757b
test byte [esp + 8], 1
jne 0x40758e
test bl, bl
jne 0x4075a2
jmp 0x4078f0
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
je 0x407572
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test bl, bl
je 0x4078f0
movzx ebx, byte [esp + 0xd0]
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
test bl, 1
je 0x40770c
mov ebx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x407715
shr ebx, 1
lea eax, [esp + 0xd1]
mov dword [esp + 4], eax
lea eax, [ebx + 9]
cmp eax, 0xfffffff0
jae 0x409840
cmp eax, 0xb
jae 0x40761d
mov eax, ebx
lea esi, [esp + 0x81]
add al, bl
test ebx, ebx
mov byte [esp + 0x80], al
jne 0x407646
jmp 0x407654
lea edi, [ebx + 0x19]
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0x88], eax
mov esi, eax
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
push ebx
push dword [esp + 8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0x80]
mov byte [esi + ebx], 0
mov ecx, edi
push 9
push str.:forward:
call fcn.00555860
mov esi, dword [esp]
mov ecx, edi
push dword [esi + 4]
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x30]
movsd xmm0, qword [eax]
movsd qword [esp + 0x30], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
push 0x58209b
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
push dword [esi + 8]
jmp 0x4077fe
cmp edi, 1
jle 0x40987d
push dword [esp]
push edi
call fcn.00410430
jmp 0x407a3b
cmp edi, 2
jle 0x4098c1
push dword [esp]
push edi
call fcn.004111b0
jmp 0x407a3b
shr ebx, 1
lea eax, [esp + 0xd1]
mov dword [esp + 4], eax
lea eax, [ebx + 0x12]
cmp eax, 0xfffffff0
jae 0x409840
cmp eax, 0xa
ja 0x40773e
mov eax, ebx
lea esi, [esp + 0x81]
add al, bl
mov byte [esp + 0x80], al
jmp 0x40776b
lea edi, [ebx + 0x22]
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov esi, eax
test ebx, ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], ebx
je 0x407779
push ebx
push dword [esp + 8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0x80]
mov byte [esi + ebx], 0
mov ecx, edi
push 0x12
push str.:forward:norebind:
call fcn.00555860
mov esi, dword [esp]
mov ecx, edi
push dword [esi + 8]
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x30]
movsd xmm0, qword [eax]
movsd qword [esp + 0x30], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
push 0x58209b
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 8]
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
push dword [esi + 0xc]
call fcn.00555840
mov ecx, dword [eax + 4]
mov bl, byte [eax]
mov dword [esp + 0x93], ecx
mov ecx, dword [eax + 1]
mov dword [esp + 0x90], ecx
mov esi, dword [eax + 8]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 8], 0
test byte [esp + 0x50], 1
jne 0x407840
mov word [esp + 0x50], 0
jmp 0x40786a
mov eax, dword [esp + 0x58]
mov byte [eax], 0
mov dword [esp + 0x54], 0
test byte [esp + 0x50], 1
je 0x40786a
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov dword [esp + 0x50], 0
test byte [esp + 8], 1
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x93]
mov byte [esp + 0x50], bl
mov dword [esp + 0x90], 0
mov dword [esp + 0x93], 0
mov dword [esp + 0x51], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], esi
jne 0x4078b8
test byte [esp + 0x30], 1
jne 0x4078cb
test byte [esp + 0x80], 1
jne 0x4078e1
jmp 0x4078f0
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test byte [esp + 0x30], 1
je 0x4078ac
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
test byte [esp + 0x80], 1
je 0x4078f0
push dword [esp + 0x88]
call fcn.004fc300
add esp, 4
movzx eax, byte [esp + 0x18]
test al, 1
je 0x40798b
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x407997
lea ecx, [esp + 0x18]
lea eax, [esp + 0x50]
push ecx
push eax
call fcn.00401950
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call ebx
mov edi, dword [eax]
call ebx
test esi, esi
mov dword [eax], edi
js 0x4097d6
lea eax, [esp + 0x18]
push eax
push esi
call fcn.00401620
add esp, 8
test al, al
je 0x4097d6
lea ecx, [esp + 0x18]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
lea eax, [esp + 8]
push ecx
push eax
push esi
call fcn.00418110
add esp, 0xc
test al, al
je 0x4079cc
movzx eax, byte [esp + 8]
test al, 1
je 0x4079a8
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x4079b0
jmp 0x4079cc
mov ecx, eax
shr ecx, 1
test ecx, ecx
je 0x407909
test al, 1
jne 0x4097e1
lea eax, [esp + 0x19]
jmp 0x4097e5
mov ecx, eax
shr ecx, 1
test ecx, ecx
je 0x4079cc
test al, 1
je 0x4079ba
mov eax, dword [esp + 0x10]
jmp 0x4079be
lea eax, [esp + 9]
push eax
push 0x5820cd
call fcn.004385a0
add esp, 8
push esi
call fcn.00418910
add esp, 4
test byte [esp + 8], 1
je 0x4079e8
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call eax
mov edi, dword [eax]
push esi
call fcn.0041a210
add esp, 4
call ebx
xor ebx, ebx
mov dword [eax], edi
test byte [esp + 0x18], 1
je 0x405c52
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test byte [esp + 0x50], 1
je 0x405439
jmp 0x405c5d
cmp edi, 1
jle 0x4098cb
push dword [esp]
push edi
call fcn.0040f2b0
add esp, 8
mov ebx, eax
jmp 0x40935c
cmp edi, 2
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
jl 0x407a91
mov eax, dword [esp]
mov ebx, dword [eax + 4]
push 0x581d50
push ebx
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x408234
cmp edi, 2
jne 0x40996a
lea ecx, [esp + 0x18]
push ebx
call fcn.00555b20
mov dword [esp + 0x4c], 0
movzx eax, byte [esp + 0x18]
test al, 1
je 0x40803b
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x407abc
lea ecx, [esp + 0x18]
push 0x582218
call fcn.00555b20
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xd0], 8
mov dword [esp + 0xd1], 0x61746164
mov byte [esp + 0xd5], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov byte [esp + 0xdc], 6
mov dword [esp + 0xdd], 0x6d646f
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov byte [esp + 0xe8], 6
mov byte [esp + 0xeb], 0x6d
mov word [esp + 0xe9], 0x656f
mov byte [esp + 0xec], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov byte [esp + 0xf4], 0xe
mov dword [esp + 0xf8], 0x74637564
mov dword [esp + 0xf5], 0x646f7270
mov byte [esp + 0xfc], 0
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0x108], eax
mov dword [esp + 0x100], 0x21
mov dword [esp + 0x104], 0x10
mov dword [esp + 0x114], 0
mov byte [esp + 0x10c], 0xc
mov dword [eax + 0xc], 0x73656369
mov dword [eax + 8], 0x76726573
mov dword [eax + 4], 0x5f746375
mov dword [eax], 0x646f7270
mov byte [eax + 0x10], 0
lea edi, [esp + 0x10c]
mov word [esp + 0x111], 0x6d65
mov dword [esp + 0x10d], 0x74737973
mov byte [esp + 0x113], 0
mov dword [esp + 0x120], 0
mov byte [esp + 0x118], 0xc
lea ebx, [esp + 0x118]
mov word [esp + 0x11d], 0x726f
mov dword [esp + 0x119], 0x646e6576
mov byte [esp + 0x11f], 0
push 0x54
call fcn.004fc150
add esp, 4
mov esi, eax
lea eax, [esp + 0xd0]
mov ecx, esi
push eax
call fcn.00556b50
lea eax, [esp + 0xdc]
lea ecx, [esi + 0xc]
push eax
call fcn.00556b50
lea eax, [esp + 0xe8]
lea ecx, [esi + 0x18]
push eax
call fcn.00556b50
lea eax, [esp + 0xf4]
lea ecx, [esi + 0x24]
push eax
call fcn.00556b50
lea eax, [esp + 0x100]
lea ecx, [esi + 0x30]
push eax
call fcn.00556b50
lea ecx, [esi + 0x3c]
push edi
call fcn.00556b50
mov dword [esp + 0x40], esi
lea ecx, [esi + 0x48]
push ebx
call fcn.00556b50
test byte [esp + 0x118], 1
jne 0x40804a
test byte [esp + 0x10c], 1
jne 0x408067
test byte [esp + 0x100], 1
jne 0x408084
test byte [esp + 0xf4], 1
jne 0x4080a1
test byte [esp + 0xe8], 1
jne 0x4080be
test byte [esp + 0xdc], 1
jne 0x4080db
test byte [esp + 0xd0], 1
je 0x407d48
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], 0
mov ecx, eax
mov dword [esp], eax
add ecx, 0x54
mov dword [esp + 0x28], ecx
movzx edx, byte [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, edx
mov esi, ecx
shr eax, 1
test dl, 1
cmove esi, eax
cmp esi, 3
jne 0x407da3
lea ecx, [esp + 0x18]
push 3
push 0x582218
push 0xffffffffffffffff
push 0
call fcn.0053da20
test eax, eax
je 0x407e21
movzx edx, byte [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, edx
shr eax, 1
mov esi, dword [esp]
test dl, 1
cmove ecx, eax
movzx ebx, byte [esi]
test bl, 1
je 0x407dc3
mov esi, dword [esp]
mov esi, dword [esi + 4]
cmp ecx, esi
je 0x407dcf
jmp 0x408007
mov esi, ebx
shr esi, 1
cmp ecx, esi
jne 0x408007
test bl, 1
je 0x407ddc
mov esi, dword [esp]
mov esi, dword [esi + 8]
jmp 0x407de0
mov esi, dword [esp]
inc esi
test dl, 1
lea edx, [esp + 0x19]
je 0x407ded
mov edx, dword [esp + 0x20]
jne 0x407e0a
test ecx, ecx
je 0x407e21
xor ecx, ecx
movzx edx, byte [esp + ecx + 0x19]
cmp dl, byte [esi + ecx]
jne 0x408007
inc ecx
cmp eax, ecx
jne 0x407df5
jmp 0x407e21
test ecx, ecx
je 0x407e21
push ecx
push esi
push edx
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x408007
push str.ANDROID_PRODUCT_OUT
call fcn.00438850
add esp, 4
test eax, eax
je 0x409869
mov edi, eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x409860
mov ebx, eax
cmp eax, 0xb
jae 0x407e7f
mov eax, ebx
lea ecx, [esp + 0x51]
add al, bl
test ebx, ebx
mov dword [esp + 4], ecx
mov byte [esp + 0x50], al
jne 0x407ea3
jmp 0x407eb1
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.004fc150
add esp, 4
or esi, 1
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
push ebx
push edi
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
lea ecx, [esp + 0x50]
mov byte [eax + ebx], 0
push 0x584559
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0xd8], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0xd0], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov eax, dword [esp]
movzx eax, byte [eax]
test al, 1
je 0x407f07
mov eax, dword [esp]
mov edx, dword [eax + 8]
mov eax, dword [eax + 4]
jmp 0x407f0f
mov ecx, dword [esp]
shr eax, 1
lea edx, [ecx + 1]
lea ecx, [esp + 0xd0]
push eax
push edx
call fcn.00555860
mov ecx, dword [eax + 8]
mov dword [esp + 0x10], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 8], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
test byte [esp + 0xd0], 1
je 0x407f5b
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test byte [esp + 0x50], 1
je 0x407f6e
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov esi, 7
lea eax, [esp + 8]
push eax
call fcn.0041a390
add esp, 4
test al, al
je 0x407ff3
push dword [esp]
push 0x58224b
lea eax, [esp + 0xd8]
mov esi, eax
push eax
call fcn.0057d400
add esp, 0xc
movzx eax, byte [esp + 0x4c]
push eax
push esi
lea eax, [esp + 0x10]
push eax
call fcn.0040cff0
add esp, 0xc
test byte [esp + 0xd0], 1
mov ebx, eax
je 0x407fcd
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
xor bl, 1
mov al, 1
movzx esi, bl
mov dword [esp + 0x2c], eax
test byte [esp + 8], 1
je 0x407ffa
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
cmp esi, 7
jne 0x407fff
jmp 0x408007
test byte [esp + 8], 1
jne 0x407fe0
cmp esi, 7
je 0x408007
test esi, esi
jne 0x4080fd
mov eax, dword [esp]
add eax, 0xc
cmp eax, dword [esp + 0x28]
mov dword [esp], eax
jne 0x407d60
xor ebx, ebx
test byte [esp + 0x2c], 1
jne 0x408102
test byte [esp + 0x18], 1
je 0x40995b
mov eax, dword [esp + 0x20]
jmp 0x40995f
shr eax, 1
test eax, eax
jne 0x407abc
jmp 0x407aae
push dword [esp + 0x120]
call fcn.004fc300
add esp, 4
test byte [esp + 0x10c], 1
je 0x407cf7
push dword [esp + 0x114]
call fcn.004fc300
add esp, 4
test byte [esp + 0x100], 1
je 0x407d05
push dword [esp + 0x108]
call fcn.004fc300
add esp, 4
test byte [esp + 0xf4], 1
je 0x407d13
push dword [esp + 0xfc]
call fcn.004fc300
add esp, 4
test byte [esp + 0xe8], 1
je 0x407d21
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
test byte [esp + 0xdc], 1
je 0x407d2f
push dword [esp + 0xe4]
call fcn.004fc300
add esp, 4
test byte [esp + 0xd0], 1
jne 0x407d39
jmp 0x407d48
mov ebx, 1
mov eax, dword [esp + 0x40]
test byte [eax + 0x48], 1
je 0x40811b
mov eax, dword [esp + 0x40]
push dword [eax + 0x50]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax + 0x3c], 1
je 0x408134
mov eax, dword [esp + 0x40]
push dword [eax + 0x44]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax + 0x30], 1
je 0x40814d
mov eax, dword [esp + 0x40]
push dword [eax + 0x38]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax + 0x24], 1
je 0x408166
mov eax, dword [esp + 0x40]
push dword [eax + 0x2c]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax + 0x18], 1
je 0x40817f
mov eax, dword [esp + 0x40]
push dword [eax + 0x20]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax + 0xc], 1
je 0x408198
mov eax, dword [esp + 0x40]
push dword [eax + 0x14]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x40]
test byte [eax], 1
je 0x4081b0
mov eax, dword [esp + 0x40]
push dword [eax + 8]
call fcn.004fc300
add esp, 4
push dword [esp + 0x40]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x40935c
push dword [esp + 0x20]
jmp 0x40544e
push 0x58455b
call fcn.00438850
add esp, 4
test eax, eax
mov ecx, 0x581ac7
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
cmovne ecx, eax
mov dword [esp + 0x28], ecx
push ecx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x409860
mov esi, eax
cmp esi, 0xb
jae 0x408257
mov ecx, esi
mov eax, ecx
add al, cl
lea ecx, [esp + 0x51]
test esi, esi
mov byte [esp + 0x50], al
mov dword [esp + 4], ecx
jne 0x408283
jmp 0x408294
mov al, 1
cmp edi, 3
mov dword [esp + 0x4c], eax
jne 0x407a99
mov eax, dword [esp]
lea ecx, [esp + 0x18]
push dword [eax + 8]
call fcn.00555b20
jmp 0x407a99
mov ebx, esi
mov dword [esp + 0x40], esi
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 0x40]
or ebx, 1
mov dword [esp + 0x58], eax
mov dword [esp + 4], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
push esi
push dword [esp + 0x2c]
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [eax + esi], 0
lea eax, [esp + 0x50]
lea esi, [esp + 0xd0]
push eax
push esi
call fcn.0041a3e0
add esp, 8
test byte [esp + 0x50], 1
je 0x4082c4
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
lea ebx, [esp + 0x18]
push esi
push str.export_ANDROID_LOG_TAGS_
push ebx
call fcn.0057d400
add esp, 0xc
mov ecx, ebx
push str.___exec_logcat
call fcn.00555840
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x50], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
test byte [esp + 0x18], 1
je 0x40831b
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
push str.longcat
mov eax, dword [esp + 4]
push dword [eax]
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x408340
lea ecx, [esp + 0x50]
push str.__v_long
call fcn.00555840
dec edi
jle 0x4084aa
add dword [esp], 4
jmp 0x408380
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
je 0x40848c
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
test byte [esp + 0x30], 1
jne 0x408493
jmp 0x40849f
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x40980f
mov ebx, eax
cmp eax, 0xb
jae 0x4083d0
mov eax, ebx
lea ecx, [esp + 0x31]
add al, bl
test ebx, ebx
mov dword [esp + 4], ecx
mov byte [esp + 0x30], al
jne 0x4083f4
jmp 0x408405
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.004fc150
add esp, 4
or esi, 1
mov dword [esp + 0x38], eax
mov dword [esp + 4], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
push ebx
push dword [esp + 0x2c]
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [eax + ebx], 0
lea eax, [esp + 0x30]
push eax
lea ebx, [esp + 0xc]
push ebx
call fcn.0041a3e0
add esp, 8
mov ecx, ebx
push 0x581e44
push 0
call fcn.00555ed0
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x18], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
movzx eax, byte [esp + 0x18]
test al, 1
je 0x408465
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
jmp 0x40846b
shr eax, 1
lea edx, [esp + 0x19]
lea ecx, [esp + 0x50]
push eax
push edx
call fcn.00555860
test byte [esp + 0x18], 1
jne 0x40834d
test byte [esp + 8], 1
jne 0x408364
test byte [esp + 0x30], 1
je 0x40849f
push dword [esp + 0x38]
call fcn.004fc300
add esp, 4
add dword [esp], 4
dec edi
jg 0x408380
push 0x580008
push 0
lea eax, [esp + 0x58]
push eax
call fcn.00403c70
add esp, 0xc
mov ebx, eax
test byte [esp + 0x50], 1
je 0x405439
jmp 0x405c5d
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0x58], eax
mov dword [eax + 0xc], 0x65767265
mov dword [eax + 8], 0x732d7472
mov dword [eax + 4], 0x6174733a
mov dword [eax], 0x74736f68
mov word [eax + 0x10], 0x72
lea eax, [esp + 0xd0]
mov dword [esp + 0x50], 0x21
mov dword [esp + 0x54], 0x11
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00401950
add esp, 8
test byte [esp + 0x50], 1
mov ebx, eax
je 0x40855a
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test ebx, ebx
jns 0x405439
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0xd0], 1
je 0x408b9f
mov ecx, dword [esp + 0xd8]
jmp 0x408ba6
cmp edi, 2
jl 0x409991
mov eax, dword [esp]
mov ebx, 1
mov dword [esp + 0x40], str.backup.ab
lea eax, [eax + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp]
push dword [eax + ebx*4]
push 0x5845c8
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x408650
lea eax, [edi - 1]
cmp ebx, eax
je 0x409974
mov eax, dword [esp]
mov eax, dword [eax + ebx*4 + 4]
mov dword [esp + 0x40], eax
lea eax, [ebx + 2]
cmp eax, edi
jg 0x408642
lea ecx, [ebx + 2]
mov edx, edi
mov edx, ebx
cmp edi, ecx
not edx
cmovge ecx, edi
add edx, ecx
cmp edx, 7
mov dword [esp + 4], edx
jbe 0x408631
mov esi, dword [esp + 4]
mov ecx, dword [esp + 0x2c]
and esi, 0xfffffff8
lea edx, [ecx + ebx*4]
add eax, esi
add ebx, esi
mov dword [esp + 0x28], esi
movups xmm0, xmmword [edx - 0x10]
movdqu xmm1, xmmword [edx]
movups xmmword [edx - 0x18], xmm0
movdqu xmmword [edx - 8], xmm1
add edx, 0x20
add esi, 0xfffffff8
jne 0x40860e
mov ecx, dword [esp + 0x28]
cmp dword [esp + 4], ecx
je 0x408642
dec eax
mov edx, dword [esp]
mov ecx, dword [edx + eax*4 + 4]
inc eax
mov dword [edx + ebx*4], ecx
inc ebx
cmp eax, edi
jl 0x408632
mov eax, dword [esp]
mov dword [eax + edi*4 - 8], 0
add edi, 0xfffffffe
inc ebx
cmp ebx, edi
jl 0x4085a7
cmp edi, 2
jl 0x409991
mov esi, dword [esp + 0x40]
push esi
call fcn.004381a0
add esp, 4
push 0x1a0
push esi
call fcn.00433230
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call ebx
mov ecx, ebx
mov ebx, dword [eax]
call ecx
test esi, esi
mov dword [eax], ebx
mov dword [esp + 0x2c], esi
js 0x408b5b
add dword [esp], 4
lea eax, [esp + 0xd1]
dec edi
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xd0], 0xe
mov dword [esp + 0xd4], 0x3a70756b
mov dword [esp + 0xd1], 0x6b636162
mov byte [esp + 0xd8], 0
mov dword [esp + 0x4c], eax
jmp 0x408727
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0x18], 1
je 0x408836
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test byte [esp + 8], 1
jne 0x40883d
jmp 0x408849
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x28], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x4090a4
mov ebx, eax
cmp eax, 0xb
jae 0x408777
mov eax, ebx
lea ecx, [esp + 9]
add al, bl
test ebx, ebx
mov dword [esp + 4], ecx
mov byte [esp + 8], al
jne 0x40879b
jmp 0x4087ac
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.004fc150
add esp, 4
or esi, 1
mov dword [esp + 0x10], eax
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
push ebx
push dword [esp + 0x2c]
push dword [esp + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov byte [eax + ebx], 0
lea eax, [esp + 8]
push eax
lea ebx, [esp + 0x1c]
push ebx
call fcn.0041a3e0
add esp, 8
mov ecx, ebx
push 0x581e44
push 0
call fcn.00555ed0
mov ecx, dword [eax + 8]
mov dword [esp + 0x58], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x50], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
movzx eax, byte [esp + 0x50]
test al, 1
je 0x40880c
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
jmp 0x408812
shr eax, 1
lea edx, [esp + 0x51]
lea ecx, [esp + 0xd0]
push eax
push edx
call fcn.00555860
test byte [esp + 0x50], 1
jne 0x4086f4
test byte [esp + 0x18], 1
jne 0x40870b
test byte [esp + 8], 1
je 0x408849
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
add dword [esp], 4
dec edi
jg 0x408727
mov eax, dword [0x5bc570]
test byte [eax], 1
jne 0x409640
lea eax, [esp + 0x50]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.00401950
add esp, 8
mov esi, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call eax
mov edi, dword [eax]
call ebx
test esi, esi
mov dword [eax], edi
js 0x408c31
mov edi, dword [fcn.005379b0]
push 1
call edi
add esp, 4
push str.Now_unlock_your_device_and_confirm_the_backup_operation..._n
push eax
call fcn.00438580
add esp, 8
push 1
call edi
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
push dword [esp + 0x2c]
push esi
call fcn.00403680
add esp, 8
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
xor ebx, ebx
jmp 0x408f4b
lea ecx, [esp + 0x19]
shr eax, 1
lea edx, [esp + 8]
push ecx
push eax
push 0x7e
push str.abb__e_0x_x___.s__n
push edx
call fcn.004deac0
add esp, 0x14
movzx eax, byte [esp + 8]
test al, 1
je 0x40891e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x408924
shr eax, 1
lea ecx, [esp + 9]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 8], 1
je 0x408942
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
jmp 0x4058d6
cmp edi, 2
jne 0x40999b
mov eax, dword [esp]
mov eax, dword [eax + 4]
push 0
mov dword [esp + 8], eax
push eax
call fcn.00432a40
add esp, 8
mov esi, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call esi
mov edi, dword [eax]
call esi
test ebx, ebx
mov dword [eax], edi
mov dword [esp], ebx
js 0x408be6
lea eax, [esp + 0x50]
mov dword [esp + 0xd0], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0xd0], 0x10
mov dword [esp + 0xd5], 0x3a65726f
mov dword [esp + 0xd1], 0x74736572
mov byte [esp + 0xd9], 0
lea ecx, [esp + 0xd0]
push eax
push ecx
call fcn.00401950
add esp, 8
mov edi, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call eax
mov esi, dword [eax]
call ebx
mov dword [eax], esi
test byte [esp + 0xd0], 1
je 0x408a2f
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test edi, edi
js 0x408c9b
mov esi, dword [fcn.005379b0]
push 1
call esi
add esp, 4
push str.Now_unlock_your_device_and_confirm_the_restore_operation._n
push eax
call fcn.00438580
add esp, 8
push 1
call esi
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
push edi
push dword [esp + 4]
call fcn.00403680
add esp, 8
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 8], 0xffffffff
push 0x400
call fcn.004fc150
add esp, 4
push 0x400
push 0
mov dword [esp + 0xc], eax
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [0x5bc570]
test byte [eax], 1
jne 0x4096dc
lea ebx, [esp + 8]
lea eax, [esp + 0x18]
mov ecx, 0xffffffff
mov edx, edi
push ebx
push eax
call fcn.00403b60
add esp, 8
cmp edi, 1
jne 0x408ebf
push 1
mov esi, dword [fcn.005379b0]
call esi
add esp, 4
push eax
push 0x400
push 1
push dword [esp + 0x10]
call fcn.00438670
add esp, 0x10
push 1
call esi
add esp, 4
push eax
call sub.msvcrt.dll_fflush
add esp, 4
jmp 0x408ed1
push str._P_requires_an_argument
call fcn.0041b120
push str._L_requires_an_argument
call fcn.0041b120
push str._H_requires_an_argument
call fcn.0041b120
push 0x581b56
call fcn.0041b120
push 0x581b71
call fcn.0041b120
cmp edi, 2
jne 0x4099a5
push 0xa
call fcn.0041a1f0
add esp, 4
mov eax, dword [esp]
push dword [eax + 4]
call fcn.0042dbe0
jmp 0x408bdc
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 0x44]
push str.adb:_backup_unable_to_create_file__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
mov ebx, 1
jmp 0x408f88
push str.__reply_fd_requires_an_argument
call fcn.0041b120
lea ecx, [esp + 0xd1]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
test byte [esp + 0xd0], 1
jne 0x405447
jmp 0x40935c
cmp edi, 2
jne 0x4099af
mov eax, dword [esp]
push dword [eax + 4]
call fcn.0042dfe0
add esp, 4
mov ebx, eax
jmp 0x40935c
push 2
call dword [0x58040c]
add esp, 4
mov edi, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call eax
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 8]
push str.adb:_unable_to_open_file__s:__s_n
push edi
call fcn.00438580
add esp, 0x10
call esi
mov esi, dword [eax]
cmp dword [esp], 0xffffffff
mov ebx, 0xffffffff
jne 0x40902a
jmp 0x409035
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x408f26
mov ecx, dword [esp + 0x58]
jmp 0x408f2a
push str._L_is_incompatible_with__H_or__P
call fcn.0041b120
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xd0], 8
mov dword [esp + 0xd1], 0x7077646a
mov byte [esp + 0xd5], 0
jmp 0x40634f
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x408fd9
mov ecx, dword [esp + 0x58]
jmp 0x408fdd
shr eax, 1
movsx ebx, byte [esp + 4]
mov ecx, 0x582353
cmp eax, 3
jne 0x408cee
lea ecx, [esp + 0x18]
push 3
push 0x5841d0
push 0xffffffffffffffff
push 0
call fcn.0053da20
mov edx, 0x5841d0
test eax, eax
mov ecx, 0x582353
cmove ecx, edx
lea eax, [esp + 8]
push ecx
push edi
push dword [esp + 8]
push ebx
push str.shell__e_0x_x_t_d_use_shell_protocol_s_shell_type_arg_s_n
push eax
call fcn.004deac0
add esp, 0x18
movzx eax, byte [esp + 8]
test al, 1
je 0x408d1a
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x408d20
shr eax, 1
lea ecx, [esp + 9]
push eax
push ecx
push dword [esp + 0x94]
call fcn.0056cec0
add esp, 0xc
test byte [esp + 8], 1
je 0x408d44
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
mov dword [eax], ecx
test bl, bl
jne 0x4060af
movzx eax, byte [esp + 0x18]
test al, 1
je 0x408d7d
mov eax, dword [esp + 0x1c]
cmp eax, 3
je 0x408d84
jmp 0x408da0
shr eax, 1
cmp eax, 3
jne 0x408da0
lea ecx, [esp + 0x18]
push 3
push 0x5841d0
push 0xffffffffffffffff
push 0
call fcn.0053da20
test eax, eax
je 0x408eac
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
push dword [esp + 0x40]
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x4090a4
mov ecx, eax
cmp eax, 0xb
jae 0x408dfa
mov eax, ecx
lea edi, [esp + 9]
lea ebx, [esp + 0xd0]
add al, cl
test ecx, ecx
mov byte [esp + 8], al
jne 0x408e20
jmp 0x408e3d
mov ebx, ecx
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
mov edi, ecx
call fcn.004fc150
mov ecx, edi
add esp, 4
or ebx, 1
mov dword [esp + 0x10], eax
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
push ecx
push dword [esp + 0x44]
push edi
mov ebx, esi
mov esi, ecx
call sub.msvcrt.dll_memcpy
mov ecx, esi
mov esi, ebx
lea ebx, [esp + 0xdc]
add esp, 0xc
lea eax, [esp + 8]
mov byte [edi + ecx], 0
push eax
push ebx
call fcn.004277d0
add esp, 8
mov ecx, 0x5841fe
mov edx, 0x5823c6
test al, al
cmovne edx, ecx
push edx
push str.error:__s_only_supports_allocating_a_pty_n
push esi
call fcn.00438580
add esp, 0xc
test byte [esp + 8], 1
je 0x408e80
push dword [esp + 0x10]
call fcn.004fc300
add esp, 4
mov ebx, 1
test byte [esp + 0x18], 1
je 0x405b96
push dword [esp + 0x20]
call fcn.004fc300
add esp, 4
test byte [esp + 0x50], 1
jne 0x405b9d
jmp 0x405ba9
lea ecx, [esp + 0x18]
push 0x581ac7
call fcn.00555b20
jmp 0x4060af
push 0x400
push dword [esp + 8]
push edi
call fcn.00433950
add esp, 0xc
mov ecx, 0xffffffff
mov edx, edi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.00403b60
add esp, 8
mov eax, dword [0x5bc570]
test byte [eax], 1
jne 0x409756
push dword [esp + 4]
call fcn.004fc300
add esp, 4
push 1
push edi
call fcn.00403680
add esp, 8
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
xor ebx, ebx
jmp 0x408ffe
lea ecx, [esp + 0xd0]
call fcn.0053ebb0
lea ecx, [esp + 0x51]
push ecx
push str.adb:_unable_to_connect_for_backup:__s_n
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov ebx, 1
cmp esi, 0xffffffff
je 0x408f54
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
test byte [esp + 0x50], 1
je 0x408f6f
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0xd0], 1
je 0x408f88
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
cmp dword [esp + 0x2c], 0xffffffff
je 0x409035
push dword [esp + 0x2c]
jmp 0x40902d
mov byte [esp + 0xd0], 0x14
mov word [esp + 0xd9], 0x7077
mov dword [esp + 0xd5], 0x646a2d6b
mov dword [esp + 0xd1], 0x63617274
mov byte [esp + 0xdb], 0
jmp 0x40634f
lea ecx, [esp + 0x51]
push ecx
push str.adb:_unable_to_connect_for_restore:__s_n
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
mov ebx, 0xffffffff
cmp edi, 0xffffffff
je 0x409007
push edi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
test byte [esp + 0x50], 1
je 0x409022
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
push dword [esp]
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
jmp 0x40935c
push dword [esp + 0x98]
push str._ANDROID_ADB_SERVER_PORT_must_be_a_positive_number_less_than_65535:_got___s_
call fcn.0041b120
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd0], 0x21
mov dword [esp + 0xd4], 0x12
mov word [eax + 0x10], 0x7365
mov dword [eax + 0xc], 0x63697665
mov dword [eax + 8], 0x642d6b63
mov dword [eax + 4], 0x6172743a
mov dword [eax], 0x74736f68
mov byte [eax + 0x12], 0
jmp 0x40634f
lea ecx, [esp + 8]
call fcn.0053ebb0
call fcn.00409a00
xor ebx, ebx
jmp 0x40935c
cmp edi, 2
jne 0x4099b9
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x409860
mov edi, eax
cmp edi, 0xb
jae 0x40911a
mov ecx, edi
lea esi, [esp + 0x51]
mov eax, ecx
add al, cl
test edi, edi
mov byte [esp + 0x50], al
jne 0x409144
jmp 0x409152
push str.adb_devices___l_
call fcn.0041b120
mov ebx, edi
mov dword [esp + 4], edi
add ebx, 0x10
and ebx, 0xfffffff0
push ebx
call fcn.004fc150
add esp, 4
mov ecx, dword [esp + 4]
or ebx, 1
mov dword [esp + 0x58], eax
mov esi, eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
push edi
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xd0]
mov byte [esi + edi], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00401950
add esp, 8
mov edi, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call edi
mov ebx, dword [eax]
call edi
test esi, esi
mov dword [eax], ebx
js 0x409271
push 4
call fcn.004fc150
add esp, 4
mov ecx, eax
mov edi, eax
call fcn.00503070
push 0x10
call fcn.004fc150
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], 1
mov byte [eax + 0xc], 1
lea ecx, [esp + 0x18]
push eax
push 0x40a3b0
push ecx
call fcn.00504290
add esp, 0xc
test eax, eax
jne 0x4099c3
push 4
call fcn.004fc150
add esp, 4
mov ecx, eax
mov edi, eax
call fcn.00503070
push 0x10
call fcn.004fc150
add esp, 4
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [eax + 8], esi
mov byte [eax + 0xc], 0
lea ecx, [esp + 8]
push eax
push 0x40a3b0
push ecx
call fcn.00504290
add esp, 0xc
test eax, eax
jne 0x4099c3
lea edi, [esp + 0x18]
mov ecx, edi
call fcn.00502cc0
lea ebx, [esp + 8]
mov ecx, ebx
call fcn.00502cc0
mov ecx, ebx
call fcn.00502c40
mov ecx, edi
call fcn.00502c40
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
xor ebx, ebx
jmp 0x4092f1
push str.usage:_adb_connect__host__:_port__
call fcn.0041b120
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0xd0], 1
je 0x4092c9
mov ecx, dword [esp + 0xd8]
jmp 0x4092d0
push str.usage:_adb_disconnect___host__:_port___
call fcn.0041b120
push 1
call dword [0x58040c]
add esp, 4
mov esi, eax
lea eax, [esp + 0xd0]
push eax
call fcn.004135b0
add esp, 4
test byte [esp + 0xd0], 1
je 0x40932b
mov eax, dword [esp + 0xd8]
jmp 0x409332
lea ecx, [esp + 0xd1]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov ebx, 1
cmp esi, 0xffffffff
je 0x4092fa
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
test byte [esp + 0xd0], 1
je 0x40931b
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test byte [esp + 0x50], 1
je 0x40935c
push dword [esp + 0x58]
jmp 0x40544e
lea eax, [esp + 0xd1]
push eax
push 0x58238f
push esi
call fcn.00438580
add esp, 0xc
test byte [esp + 0xd0], 1
je 0x40935a
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
xor ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x18]
call fcn.0053ebb0
push str.abb_is_not_supported_by_the_device
call fcn.0041b120
push ebx
push str.usage:_adb__s_command
call fcn.0041b120
push str._e_requires_a_single_character_argument_or_none
call fcn.0041b120
xorps xmm0, xmm0
lea eax, [esp + 0x50]
lea esi, [esp + 0xd0]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xe0], 0x3f800000
push eax
push esi
call fcn.00402a80
add esp, 8
test al, al
je 0x40950d
mov edi, dword [esp + 0xd8]
mov dword [esp], 0
test edi, edi
je 0x40953f
lea ebx, [edi + 8]
push ebx
push esi
call fcn.004277d0
add esp, 8
test al, al
je 0x409419
test byte [ebx], 1
jne 0x409408
inc ebx
jmp 0x40940b
mov ebx, dword [edi + 0x10]
push ebx
push 0x5820cd
call fcn.004385a0
add esp, 8
mov edi, dword [edi]
test edi, edi
jne 0x4093ef
jmp 0x40953f
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd0], 0x21
mov dword [esp + 0xd4], 0x12
mov word [eax + 0x10], 0x7365
mov dword [eax + 0xc], 0x72757461
mov dword [eax + 8], 0x65662d74
mov dword [eax + 4], 0x736f683a
mov dword [eax], 0x74736f68
mov byte [eax + 0x12], 0
lea ecx, [esp + 0xd0]
jmp 0x405432
mov eax, dword [esp]
mov esi, dword [eax + 4]
push 0x5823c6
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
je 0x4095a6
push 0x5823cd
push esi
call sub.msvcrt.dll_strcmp
add esp, 8
test eax, eax
jne 0x4099ce
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd0], 0x21
mov dword [esp + 0xd4], 0x16
mov word [eax + 0x14], 0x656e
mov dword [eax + 0x10], 0x696c6666
mov dword [eax + 0xc], 0x6f2d7463
mov dword [eax + 8], 0x656e6e6f
mov dword [eax + 4], 0x6365723a
mov dword [eax], 0x74736f68
mov byte [eax + 0x16], 0
lea ecx, [esp + 0xd0]
jmp 0x405432
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x50], 1
je 0x409525
mov ecx, dword [esp + 0x58]
jmp 0x409529
lea ecx, [esp + 0x51]
push ecx
push 0x581e46
push eax
call fcn.00438580
add esp, 0xc
mov dword [esp], 1
test byte [esp + 0x50], 1
je 0x409552
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov esi, dword [esp + 0xd8]
test esi, esi
je 0x40957f
mov edi, dword [esi]
test byte [esi + 8], 1
je 0x409570
push dword [esi + 0x10]
call fcn.004fc300
add esp, 4
push esi
call fcn.004fc300
add esp, 4
test edi, edi
mov esi, edi
jne 0x40955d
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xd0], 0
test eax, eax
je 0x40959e
push eax
call fcn.004fc300
add esp, 4
mov ebx, dword [esp]
jmp 0x40935c
lea eax, [esp + 0xd0]
mov dword [esp + 0x50], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov byte [esp + 0x50], 0x12
mov dword [esp + 0x55], 0x63656e6e
mov dword [esp + 0x51], 0x6f636572
mov word [esp + 0x59], 0x74
lea ecx, [esp + 0x50]
push eax
push ecx
call fcn.00401950
add esp, 8
test byte [esp + 0x50], 1
je 0x409623
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0xd0], 1
je 0x40935a
jmp 0x40934b
push str.sideload_requires_an_argument
call fcn.0041b120
call fcn.004ddb30
cmp eax, 1
jg 0x408862
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
lea esi, [esp + 0x18]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x4b2
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
test byte [esp + 0xd0], 1
mov esi, eax
je 0x409691
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x50]
push dword [esp + 0x4c]
push dword [esp + 0x44]
push str.backup._filename_s_cmd_s
push eax
call fcn.004deac0
add esp, 0x10
movzx eax, byte [esp + 0x50]
test al, 1
je 0x409887
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
jmp 0x40988d
push str.tcpip_requires_an_argument
call fcn.0041b120
push dword [esi + 4]
push str.tcpip:_invalid_port:__s
call fcn.0041b120
call fcn.004ddb30
cmp eax, 1
jg 0x408aae
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
lea ebx, [esp + 0x30]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x480
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
mov ebx, eax
push edi
push 0x400
push str.write_zeros__d______d
lea eax, [esp + 0xdc]
push eax
call fcn.004deac0
add esp, 0x10
movzx eax, byte [esp + 0xd0]
test al, 1
je 0x4098d5
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
jmp 0x4098de
call fcn.004ddb30
cmp eax, 1
jg 0x408ef4
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
lea ebx, [esp + 0x30]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x48d
push str.system_core_adb_client_commandline.cpp
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
mov ebx, eax
push str.write_zeros___finished
lea eax, [esp + 0xd4]
push eax
call fcn.004deac0
add esp, 8
movzx eax, byte [esp + 0xd0]
test al, 1
je 0x409918
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xd4]
jmp 0x409921
lea ecx, [esp + 0x80]
call fcn.0053eb90
test byte [esp + 0x18], 1
je 0x40799f
mov eax, dword [esp + 0x20]
push eax
push str.error:__s
call fcn.0041b120
push esi
push str._s_requires_an_argument
call fcn.0041b120
push str.__list_doesnt_take_any_arguments
call fcn.0041b120
push str.push_requires_an_argument
call fcn.0041b120
lea ecx, [esp + 0x30]
call fcn.0053ebb0
push str.ls_requires_an_argument
call fcn.0041b120
push str.__remove_all_doesnt_take_any_arguments
call fcn.0041b120
push str.forward_takes_two_arguments
call fcn.0041b120
push str.__remove_requires_an_argument
call fcn.0041b120
lea ecx, [esp + 0x80]
call fcn.0053ebb0
push str.pull_requires_an_argument
call fcn.0041b120
push str.__no_rebind_takes_two_arguments
call fcn.0041b120
lea ecx, [esp + 0x50]
call fcn.0053ebb0
push str.product_directory_not_specified__set__ANDROID_PRODUCT_OUT
call fcn.0041b120
push str.install_requires_an_argument
call fcn.0041b120
push str.install_multiple_requires_an_argument
call fcn.0041b120
shr eax, 1
lea ecx, [esp + 0x51]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x50], 1
je 0x4098ab
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x18]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
jmp 0x408862
push str.install_multi_package_requires_an_argument
call fcn.0041b120
push str.uninstall_requires_an_argument
call fcn.0041b120
shr eax, 1
lea ecx, [esp + 0xd1]
push eax
push ecx
push ebx
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0xd0], 1
je 0x409902
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
jmp 0x408aae
shr eax, 1
lea ecx, [esp + 0xd1]
push eax
push ecx
push ebx
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0xd0], 1
je 0x409945
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
jmp 0x408ef4
lea eax, [esp + 0x19]
push eax
push str.dont_know_how_to_sync__s_partition
call fcn.0041b120
push str.usage:_adb_sync___l___PARTITION_
call fcn.0041b120
push str.backup__f_passed_with_no_filename
call fcn.0041b120
mov ecx, dword [esp]
call fcn.00409d40
push esi
push str.unknown_command__s
call fcn.0041b120
push str.backup_either_needs_a_list_of_packages_or__all__shared
call fcn.0041b120
push str.restore_requires_an_argument
call fcn.0041b120
push str.keygen_requires_an_argument
call fcn.0041b120
push str.pubkey_requires_an_argument
call fcn.0041b120
push str.usage:_adb_raw_SERVICE
call fcn.0041b120
push 0x5840ab
push eax
call fcn.00502b10
push str.usage:_adb_reconnect__deviceoffline_
call fcn.0041b120
nop dword [eax + eax]
push eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0x10]
mov dword [esp], edx
push edx
push ecx
push eax
call fcn.0052c670
add esp, 0xc
pop ecx
ret