Function at 0x402ab0
Capabilities:
Create directory
Create thread
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x29c
mov ebx, dword [ebp + 8]
mov dword [esp], str.ANDROID_PRODUCT_OUT
call sub.msvcrt.dll_getenv
test eax, eax
mov esi, eax
je 0x402aed
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, 0x4e3020
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004a60e0
sub esp, 8
mov dword [esp], str.ANDROID_SERIAL
call sub.msvcrt.dll_getenv
mov dword [esp], str.ANDROID_ADB_SERVER_PORT
mov dword [ebp - 0x288], eax
call sub.msvcrt.dll_getenv
mov dword [ebp - 0x280], 0x13ad
test eax, eax
mov esi, eax
je 0x402b24
cmp byte [eax], 0
jne 0x4030cf
test ebx, ebx
jle 0x402eea
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x274], 2
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp + 8], ebx
mov eax, dword [edx]
mov ecx, 7
mov edi, 0x4b4006
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov ebx, esi
cmp bl, cl
je 0x402d23
mov edi, str.nodaemon
mov ecx, 9
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402de0
mov edi, str.fork_server
mov ecx, 0xc
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402df0
mov edi, str.persist
mov ecx, 8
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402e00
mov edi, 0x4b1205
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x402e10
cmp byte [eax + 2], 0
jne 0x402e50
cmp dword [ebp + 8], 1
je 0x403117
sub dword [ebp + 8], 1
add edx, 4
mov edi, dword [edx]
test edi, edi
je 0x402e67
movsx eax, byte [edi]
test al, al
je 0x402e67
mov dword [ebp - 0x278], edx
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_isalpha]
mov edx, dword [ebp - 0x278]
test eax, eax
jne 0x402fc3
mov dword [esp + 4], 0x2f
mov dword [esp], edi
mov dword [ebp - 0x278], edx
call sub.msvcrt.dll_strchr
mov dword [esp + 4], 0x5c
mov dword [esp], edi
mov esi, eax
call sub.msvcrt.dll_strchr
test esi, esi
mov edx, dword [ebp - 0x278]
je 0x402c5d
cmp esi, eax
jae 0x402c66
test eax, eax
je 0x402c66
test eax, eax
nop
je 0x4031cb
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x218], 0x4b0f50
call fcn.0041c5d0
mov edx, dword [ebp - 0x278]
test al, al
je 0x40304e
mov eax, dword [ebp - 0x218]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x4b139c
mov dword [esp + 4], str._s_s_s
mov dword [esp + 8], eax
lea eax, [ebp - 0x23c]
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.00421270
mov edx, dword [ebp - 0x278]
mov esi, dword [ebp - 0x218]
lea ecx, [esi - 0xc]
cmp ecx, 0x4b0f44
je 0x402e92
mov ebx, dword [0x4ac46c]
lea eax, [esi - 4]
test ebx, ebx
jne 0x406c9f
mov eax, dword [esi - 4]
lea ebx, [eax - 1]
mov dword [esi - 4], ebx
test eax, eax
jg 0x402e92
lea eax, [ebp - 0x240]
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.004a5860
mov edx, dword [ebp - 0x278]
sub esp, 4
jmp 0x402e92
mov dword [ebp - 0x264], 1
sub dword [ebp + 8], 1
add edx, 4
mov eax, dword [ebp + 8]
test eax, eax
jg 0x402b64
mov eax, dword [ebp - 0x288]
mov dword [ebp + 0xc], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x274]
mov dword [esp], eax
call fcn.00406ef0
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.00406f10
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x402f22
mov eax, dword [ebp - 0x268]
or eax, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x280]
je 0x403121
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.00401dc0
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x264], 0
je 0x402dd1
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._could_not_start_server__n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], ebx
mov eax, dword [ebp - 0x264]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x268], 1
jmp 0x402d2d
mov dword [ebp - 0x26c], 1
jmp 0x402d2d
mov dword [ebp - 0x270], 1
jmp 0x402d2d
cmp byte [eax], 0x2d
je 0x4030a4
mov edi, 0x4b40f0
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402e58
mov edi, 0x4b40f3
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x403003
mov dword [ebp - 0x274], 1
jmp 0x402d2d
lea edi, [eax + 2]
jmp 0x402bf3
mov dword [ebp - 0x274], 0
jmp 0x402d2d
mov dword [ebp - 0x278], edx
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x23c]
mov dword [esp], 0x4b3f1a
call fcn.004a6f90
mov edx, dword [ebp - 0x278]
sub esp, 8
lea eax, [ebp - 0x23c]
mov ecx, 0x4e3020
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.004a5af0
mov esi, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x278]
lea ecx, [esi - 0xc]
sub esp, 4
cmp ecx, 0x4b0f44
jne 0x406c5f
mov eax, dword [0x4e3020]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x402d2d
mov dword [esp + 8], edi
mov dword [esp + 4], str.adb:_could_not_resolve___p__s__n
jmp 0x403107
mov eax, dword [ebp - 0x288]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.00406ef0
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.00406f10
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x274], 2
test ebx, ebx
je 0x403117
mov eax, dword [ebp + 0xc]
mov edi, 0x4b41b3
mov ecx, 9
mov esi, dword [eax]
mov dword [ebp - 0x26c], esi
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x40338d
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b41bd
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x40313f
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4205
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x403456
cmp ebx, 2
je 0x403b45
mov dword [esp + 4], str.Usage:_adb_connect__host__:_port___n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
mov eax, dword [ebp - 0x264]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [edi + 1], 0x3a
jne 0x402c23
cmp byte [edi + 2], 0x5c
jne 0x402c23
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x23c]
mov dword [esp], edi
mov dword [ebp - 0x278], edx
call fcn.004a6f90
mov edx, dword [ebp - 0x278]
sub esp, 8
jmp 0x402e92
mov edi, 0x4b1208
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x403130
mov edi, 0x4b40f6
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4033d2
cmp byte [eax + 2], 0
jne 0x40374b
cmp dword [ebp + 8], 1
je 0x403117
mov eax, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
jmp 0x40374e
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], str.adb:_getcwd_failed:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
lea eax, [ebp - 0x240]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x23c]
mov dword [esp], 0x4b3f1a
call fcn.004a6f90
mov edx, dword [ebp - 0x278]
sub esp, 8
jmp 0x402cca
cmp byte [eax + 1], 0x73
jne 0x402e19
movzx ecx, byte [eax + 2]
movsx esi, cl
sub esi, 0x30
cmp esi, 9
ja 0x403704
add eax, 2
mov dword [ebp - 0x288], eax
jmp 0x402d2d
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x280], eax
sub eax, 1
cmp eax, 0xfffe
jbe 0x402b24
mov dword [esp + 8], esi
mov dword [esp + 4], str.adb:_Env_var_ANDROID_ADB_SERVER_PORT_must_be_a_positive_number_less_than_65535._Got___s__n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call fcn.004023c0
jmp 0x402fab
mov dword [esp], eax
call fcn.0040cfa0
mov ebx, eax
jmp 0x402da5
mov dword [0x4f3208], 1
jmp 0x402d2d
cmp ebx, 1
jle 0x403b96
cmp ebx, 2
jne 0x403380
mov eax, dword [ebp + 0xc]
mov edi, 0x4b41c5
mov ecx, 3
mov edx, dword [eax + 4]
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x403380
mov eax, dword [ebp - 0x26c]
lea esi, [ebp - 0x218]
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.host:_s_s
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00421270
mov dword [esp], str.List_of_devices_attached_n
call fcn.0049fbe0
mov eax, esi
call fcn.004029b0
mov edx, dword [ebp - 0x218]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
mov dword [ebp - 0x264], eax
jne 0x4036ca
mov eax, dword [ebp - 0x264]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.ANDROID_BUILD_TOP
mov dword [ebp - 0x278], edx
call sub.msvcrt.dll_getenv
mov edx, dword [ebp - 0x278]
test eax, eax
je 0x403ccb
mov dword [ebp - 0x278], edx
lea edx, [ebp - 0x23c]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x218]
mov dword [esp], eax
call fcn.004a6f90
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b139c
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 3
mov dword [esp], 0x4b4075
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b139c
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 6
mov dword [esp], str.target
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b139c
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 7
mov dword [esp], str.product
call fcn.004a5d30
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4b139c
call fcn.004a5d30
sub esp, 8
mov dword [esp], edi
call sub.msvcrt.dll_strlen
lea ecx, [ebp - 0x218]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004a5d30
lea eax, [ebp - 0x218]
sub esp, 8
mov dword [esp], eax
call fcn.0041c9f0
mov edx, dword [ebp - 0x278]
test al, al
mov eax, dword [ebp - 0x218]
je 0x403af5
mov dword [ebp - 0x23c], eax
mov ecx, 0x4b0f50
mov dword [ebp - 0x218], 0x4b0f50
lea esi, [ecx - 0xc]
cmp esi, 0x4b0f44
je 0x402e92
mov ebx, dword [0x4ac46c]
lea eax, [ecx - 4]
test ebx, ebx
jne 0x406c32
mov eax, dword [ecx - 4]
lea ebx, [eax - 1]
mov dword [ecx - 4], ebx
test eax, eax
jg 0x402e92
lea eax, [ebp - 0x240]
mov ecx, esi
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.004a5860
mov edx, dword [ebp - 0x278]
sub esp, 4
jmp 0x402e92
mov dword [esp + 4], str.Usage:_adb_devices___l__n
jmp 0x402f9b
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x26c]
call fcn.004027c0
test al, al
je 0x402fab
cmp ebx, 1
je 0x402dd1
mov eax, dword [ebp + 0xc]
sub ebx, 1
mov eax, dword [eax + 4]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x402f5a
mov edi, 0x4b40f9
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40372b
cmp byte [eax + 2], 0
jne 0x403b62
cmp dword [ebp + 8], 1
je 0x403117
mov esi, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
cmp byte [esi], 0
je 0x406c48
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
mov dword [ebp - 0x278], edx
call sub.msvcrt.dll_strtol
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x280], eax
sub eax, 1
cmp eax, 0xfffe
jbe 0x402d2d
mov dword [esp + 8], esi
mov dword [esp + 4], str.adb:_port_number_must_be_a_positive_number_less_than_65536._Got___s__n
jmp 0x403107
mov esi, dword [ebp - 0x26c]
mov edi, str.disconnect
mov ecx, 0xb
repe cmpsb byte [esi], byte es:[edi]
je 0x403767
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b428c
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x403cb1
mov esi, dword [ebp - 0x26c]
mov edi, str.shell
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x40379e
mov esi, dword [ebp - 0x26c]
mov edi, str.hell
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x40379e
mov esi, dword [ebp - 0x26c]
mov edi, str.exec_in
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x4034f5
mov esi, dword [ebp - 0x26c]
mov edi, str.exec_out
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
jne 0x403e8c
lea eax, [ebp - 0x244]
lea edx, [ebp - 0x218]
mov ecx, eax
mov dword [esp + 4], edx
mov edi, eax
mov dword [esp], str.exec:
mov dword [ebp - 0x268], edx
mov dword [ebp - 0x26c], eax
call fcn.004a6f90
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 4]
sub esp, 8
mov dword [esp], esi
call sub.msvcrt.dll_strlen
mov ecx, edi
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004a5d30
sub esp, 8
cmp ebx, 2
jle 0x40364b
lea eax, [ebx - 2]
xor esi, esi
mov dword [ebp - 0x274], eax
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x280], eax
lea ebx, [ebp - 0x248]
mov eax, dword [ebp - 0x280]
mov edi, dword [ebp - 0x270]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, edi
mov eax, dword [eax + esi*4 + 8]
mov dword [esp], eax
call fcn.004a6f90
sub esp, 8
mov dword [esp + 4], edi
mov edi, dword [ebp - 0x278]
mov dword [esp], edi
call fcn.0041c620
mov ecx, edi
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4b3f14
mov dword [esp], 0
call fcn.004a63e0
mov ecx, dword [ebp - 0x26c]
mov edx, dword [eax]
sub esp, 0xc
mov dword [ebp - 0x218], edx
mov dword [eax], 0x4b0f50
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.004a5e40
mov edx, dword [ebp - 0x218]
lea edi, [edx - 0xc]
sub esp, 4
cmp edi, 0x4b0f44
jne 0x406bf9
mov edx, dword [ebp - 0x23c]
lea edi, [edx - 0xc]
cmp edi, 0x4b0f44
jne 0x406bb0
mov edx, dword [ebp - 0x240]
lea edi, [edx - 0xc]
cmp edi, 0x4b0f44
jne 0x406b7a
add esi, 1
cmp esi, dword [ebp - 0x274]
jne 0x403581
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x218], 0x4b0f50
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004077d0
test eax, eax
mov ebx, eax
js 0x406b42
mov edi, dword [ebp - 0x264]
test edi, edi
jne 0x406b33
mov edx, eax
xor eax, eax
call fcn.004aaff5
mov dword [esp], ebx
call fcn.00419090
mov dword [ebp - 0x264], 0
mov edx, dword [ebp - 0x218]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
jne 0x406afd
mov edx, dword [ebp - 0x244]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
je 0x402dd1
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x406c55
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x402dd1
lea eax, [ebp - 0x23c]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x402dd1
cmp dword [ebp + 8], 1
je 0x403117
test cl, cl
jne 0x403117
mov eax, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
mov dword [ebp - 0x288], eax
jmp 0x402d2d
mov edi, 0x4b4193
mov ecx, 4
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4048dd
mov byte [0x4ac004], 0
jmp 0x402d2d
add eax, 2
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.00406f20
mov edx, dword [ebp - 0x278]
jmp 0x402d2d
cmp ebx, 2
jg 0x403ca4
mov eax, 0x4b3f1a
jne 0x40377d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
lea ebx, [ebp - 0x218]
mov dword [esp + 8], eax
mov dword [esp + 4], str.host:disconnect:_s
mov dword [esp], ebx
call fcn.00421270
mov eax, ebx
jmp 0x40319d
mov eax, dword [ebp - 0x26c]
cmp byte [eax], 0x68
sete byte [ebp - 0x26c]
je 0x404140
cmp ebx, 1
jle 0x403ce8
lea eax, [ebp - 0x23c]
lea edx, [ebp - 0x218]
mov ecx, eax
mov dword [esp + 4], edx
lea esi, [ebx - 1]
mov dword [esp], str.shell:
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x268], edx
call fcn.004a6f90
mov eax, dword [ebp + 0xc]
lea edi, [eax + 4]
sub esp, 8
sub esi, 1
cmp esi, 0xffffffff
je 0x4039a3
add edi, 4
mov ebx, dword [edi - 4]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp], ebx
mov ebx, dword [ebp - 0x278]
mov ecx, ebx
mov dword [esp + 4], eax
call fcn.004a5d30
mov eax, dword [edi]
sub esp, 8
test eax, eax
je 0x4037f3
mov dword [esp + 4], 1
mov ecx, ebx
sub esi, 1
mov dword [esp], 0x4b3f14
call fcn.004a5d30
sub esp, 8
cmp esi, 0xffffffff
jne 0x4037ff
jmp 0x4039a3
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
call sub.msvcrt.dll__getpid
mov dword [esp + 0x10], esi
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
mov eax, dword [ebp - 0x23c]
mov dword [esp + 4], str.interactive_shell_loop._cmd_s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x218], 0x4b0f50
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.004077d0
test eax, eax
mov ebx, eax
js 0x403b6a
test byte [0x4f3060], 1
jne 0x403a53
mov eax, ebx
call fcn.004021b0
test byte [0x4f3060], 1
jne 0x4039b5
mov dword [esp], ebx
xor esi, esi
call fcn.00419090
mov edi, dword [ebp - 0x270]
test edi, edi
je 0x403ba0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._n__waiting_for_device___n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [ebp - 0x274]
mov eax, 0x4b3ec3
mov ecx, dword [ebp - 0x288]
sub esp, 4
call fcn.004027c0
mov edx, dword [ebp - 0x218]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
jne 0x404869
test byte [0x4f3060], 1
je 0x4038ef
jmp 0x403850
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov edi, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x264], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x264]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call esi
mov dword [eax], edi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.read_and_dump___done._n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call esi
mov dword [eax], edi
jmp 0x403938
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov edi, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x264], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x264]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call esi
mov dword [eax], edi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.about_to_read_and_dump_fd_d__n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call esi
mov dword [eax], edi
jmp 0x403928
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], edi
mov dword [esp + 4], str.adb:_Couldnt_find_a_product_dir_based_on__p__s____s__doesnt_exist_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
lea eax, [ebp - 0x240]
lea ecx, [ebp - 0x23c]
mov dword [esp + 4], eax
mov dword [esp], 0x4b3f1a
call fcn.004a6f90
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x278]
sub esp, 8
jmp 0x40332b
mov eax, dword [ebp + 0xc]
lea ebx, [ebp - 0x218]
mov eax, dword [eax + 4]
mov dword [esp + 4], str.host:connect:_s
mov dword [esp + 8], eax
jmp 0x40378f
lea esi, [eax + 2]
jmp 0x40340d
mov eax, dword [ebp - 0x218]
mov esi, 0xffffffff
mov dword [esp + 4], 0x4b3ee2
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x403942
mov edx, 0x4b3f1a
jmp 0x40316b
cmp byte [ebp - 0x26c], 0
je 0x403bc5
mov dword [esp], str.e_0m
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
test byte [0x4f3060], 1
je 0x403c6f
mov edi, dword [sym.imp.msvcrt.dll__errno]
call edi
mov ebx, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x264], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x264]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call edi
mov dword [eax], ebx
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], esi
mov dword [esp + 4], str.interactive_shell_loop._return_r_d_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call edi
mov dword [eax], ebx
mov edx, dword [ebp - 0x218]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
jne 0x40491c
mov edx, dword [ebp - 0x23c]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
jne 0x4048a3
mov dword [ebp - 0x264], esi
jmp 0x402dd1
mov dword [esp + 4], str.Usage:_adb_disconnect___host__:_port____n
jmp 0x402f9b
mov eax, dword [ebp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00401fb0
mov dword [ebp - 0x264], eax
jmp 0x402dd1
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.adb:_ANDROID_BUILD_TOP_not_set__n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x402e6d
test byte [0x4f3060], 1
je 0x403d84
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov esi, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, eax
call sub.msvcrt.dll__getpid
mov dword [esp + 0x10], edi
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call ebx
mov dword [eax], esi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.starting_interactive_shell_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call ebx
mov dword [eax], esi
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x240]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], str.shell:
mov dword [ebp - 0x23c], 0x4b0f50
call fcn.004a6f90
lea eax, [ebp - 0x23c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004077d0
mov edx, dword [ebp - 0x218]
lea esi, [edx - 0xc]
cmp esi, 0x4b0f44
mov ebx, eax
jne 0x406d6c
test ebx, ebx
js 0x406d58
mov dword [esp], 8
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
je 0x406d16
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esp], 0
call fcn.0041b7c0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x402420
call dword [sym.imp.msvcrt.dll__beginthread]
mov eax, ebx
call fcn.004021b0
mov dword [esp], 0
call fcn.0041b8f0
mov dword [ebp - 0x264], 0
mov edx, dword [ebp - 0x23c]
lea ebx, [edx - 0xc]
cmp ebx, 0x4b0f44
jne 0x406ce0
cmp byte [ebp - 0x26c], 0
je 0x402dd1
mov dword [esp], str.e_0m
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x402dd1
mov esi, dword [ebp - 0x26c]
mov edi, str.kill_server
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x4046b0
mov esi, dword [ebp - 0x26c]
mov edi, str.kill_shuameself_server
mov ecx, 0x17
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x40461f
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4404
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
jne 0x404545
cmp ebx, 2
jne 0x403117
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x24c], 0x10000
mov eax, dword [eax + 4]
mov dword [esp], str.loading:__s
mov dword [esp + 4], eax
mov edi, eax
mov dword [ebp - 0x274], eax
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
lea eax, [ebp - 0x250]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00418060
test eax, eax
mov dword [ebp - 0x278], eax
je 0x404508
mov eax, dword [ebp - 0x250]
lea esi, [ebp - 0x248]
mov dword [esp + 0xc], 0x10000
mov dword [esp + 4], str.sideload_host:_d:_d
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00421270
lea eax, [ebp - 0x244]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [ebp - 0x244], 0x4b0f50
mov dword [ebp - 0x26c], eax
call fcn.004077d0
test eax, eax
mov ebx, eax
js 0x404261
lea eax, [ebp - 0x24c]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], ebx
call fcn.0041a210
mov dword [ebp - 0x264], 0xffffffff
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
mov dword [esp + 8], 8
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041cd70
test al, al
je 0x404230
mov edi, dword [ebp - 0x268]
mov esi, str.DONEDONE
mov ecx, 9
mov byte [ebp - 0x210], 0
repe cmpsb byte [esi], byte es:[edi]
seta al
setb dl
sub eax, edx
movsx eax, al
test eax, eax
je 0x4041d0
mov eax, dword [ebp - 0x268]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov ecx, dword [ebp - 0x250]
mov edx, eax
shl edx, 0x10
cmp edx, ecx
jae 0x404161
mov eax, dword [ebp - 0x278]
lea edi, [edx + 0x10000]
mov esi, ecx
sub esi, edx
mov dword [esp], ebx
add eax, edx
cmp ecx, edi
mov edx, 0x10000
cmovae esi, edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
call fcn.0041d0e0
test al, al
je 0x406ac4
mov ecx, dword [ebp - 0x250]
mov eax, 0x2f
xor edi, edi
add dword [ebp - 0x270], esi
mov esi, 1
mul dword [ebp - 0x270]
test ecx, ecx
je 0x4040eb
mov esi, ecx
xor edi, edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00492be0
cmp eax, dword [ebp - 0x264]
mov esi, eax
je 0x404133
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x274]
mov dword [esp], str._rserving:__s____d___
mov dword [esp + 4], eax
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [ebp - 0x264], esi
jmp 0x404012
mov dword [esp], str.e_41_33m
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4037b4
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._attempt_to_read_block__d_past_end_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
mov dword [esp], ebx
call fcn.00419090
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.0049f980
mov eax, dword [ebp - 0x244]
mov edi, dword [ebp - 0x268]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a5880
mov eax, dword [ebp - 0x248]
sub esp, 4
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a5880
sub esp, 4
jmp 0x402dd1
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x274]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
movd xmm1, dword [ebp - 0x270]
movq qword [ebp - 0x260], xmm1
lea edx, [eax + 0xa]
mov eax, dword [ebp - 0x250]
fild qword [ebp - 0x260]
test eax, eax
jne 0x404435
fld1
fdivp st(1)
mov dword [esp + 0x10], 0x4b3f1a
mov dword [esp + 0xc], edx
mov dword [esp], str._rTotal_xfer:__.2fx_s_n
fstp qword [esp + 4]
call fcn.0049fbe0
jmp 0x404187
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], str._failed_to_read_command:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x40417d
mov dword [esp], 0x4b441b
lea ebx, [ebp - 0x23c]
call fcn.0049fbe0
mov esi, dword [ebp - 0x250]
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 8], 0x4b4404
mov dword [esp + 4], 0x4b4447
mov dword [esp + 0xc], esi
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x240], 0x4b0f50
call fcn.00421270
lea eax, [ebp - 0x240]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [ebp - 0x270], eax
call fcn.004077d0
mov dword [esp], ebx
mov edi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
call fcn.004a5880
sub esp, 4
test edi, edi
js 0x4044c3
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 8], 0x1001
mov dword [esp + 4], 0xffff
mov dword [esp], edi
mov dword [ebp - 0x23c], 0x10000
call fcn.0041a210
test esi, esi
mov ebx, dword [ebp - 0x278]
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x23c], eax
je 0x4043e8
mov dword [ebp - 0x26c], edi
mov edi, ebx
mov eax, dword [ebp - 0x26c]
cmp esi, 0x10000
mov ebx, 0x10000
cmovbe ebx, esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0041d0e0
test al, al
je 0x404456
sub esi, ebx
add edi, ebx
mov eax, esi
mov ebx, 0x64
mul ebx
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x27c], edx
mov edx, dword [ebp - 0x284]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x280]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x27c]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00492be0
mov dword [esp], str.sending:__s__4d_______r
sub ebx, eax
mov eax, dword [ebp - 0x274]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
call fcn.0049fbe0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
test esi, esi
jne 0x40433d
mov edi, dword [ebp - 0x26c]
mov dword [esp], 0x4b441b
call fcn.0049fbe0
mov eax, dword [ebp - 0x270]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00406f30
test al, al
je 0x4044f4
mov dword [esp], edi
call fcn.00419090
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x40418f
mov dword [ebp - 0x26c], eax
movd xmm0, dword [ebp - 0x26c]
movq qword [ebp - 0x260], xmm0
fild qword [ebp - 0x260]
jmp 0x40420d
mov edi, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x218], 0x4b0f50
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00406f30
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], str._failed_to_write_data__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
mov dword [esp], eax
call fcn.004a5880
mov dword [ebp - 0x264], 1
sub esp, 4
jmp 0x404416
mov eax, dword [ebp - 0x240]
mov dword [esp + 4], 0x4b3ee2
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
jmp 0x404416
mov eax, dword [ebp - 0x240]
mov dword [esp + 4], str._error_response__s__n
mov dword [esp + 8], eax
jmp 0x4044d5
mov dword [esp], 0x4b441b
call fcn.0049fbe0
mov eax, dword [ebp - 0x274]
mov dword [esp + 4], str._cannot_read__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
jmp 0x402dd1
mov esi, dword [ebp - 0x26c]
mov edi, str.remount
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x40472b
mov eax, str.reboot_bootloader
mov esi, dword [ebp - 0x26c]
mov ecx, 0x12
mov edi, eax
mov dword [ebp - 0x23c], 0x4b0f50
repe cmpsb byte [esi], byte es:[edi]
je 0x4046fd
lea eax, [ebp - 0x218]
cmp ebx, 1
mov edi, eax
mov dword [ebp - 0x268], eax
jle 0x4046de
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 4], 0x4b11ff
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp + 8], eax
call fcn.00421270
lea eax, [ebp - 0x23c]
mov ecx, eax
mov dword [esp], edi
mov dword [ebp - 0x278], eax
call fcn.004a5af0
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
mov eax, dword [ebp - 0x278]
call fcn.004ab656
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x23c]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x402dd1
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x244]
mov dword [ebp - 0x23c], 0x4b0f50
mov dword [esp + 4], eax
mov dword [esp], str.host:_kill_shuamehelper_server_
mov ecx, edi
call fcn.004a6f90
lea eax, [ebp - 0x23c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00407070
mov ebx, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
cmp ebx, 0xffffffff
jne 0x404600
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str._server_not_running__n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
jmp 0x404600
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x244]
mov dword [ebp - 0x23c], 0x4b0f50
mov dword [esp + 4], eax
mov dword [esp], 0x4b43a8
jmp 0x404648
mov edx, dword [ebp - 0x26c]
mov dword [esp + 4], 0x4b4586
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.00421270
jmp 0x4045bc
lea eax, [ebp - 0x23c]
mov dword [esp], str.reboot:bootloader
mov ecx, eax
mov dword [ebp - 0x278], eax
call fcn.004a60b0
lea eax, [ebp - 0x218]
mov dword [ebp - 0x268], eax
sub esp, 4
jmp 0x4045ef
mov esi, dword [ebp - 0x26c]
mov edi, str.reboot
mov ecx, 7
mov eax, str.reboot_bootloader
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov ecx, 0x12
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.tcpip
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4547
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.root
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.unroot
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.disable_verity
mov ecx, 0xf
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.enable_verity
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x404562
mov esi, dword [ebp - 0x26c]
mov edi, str.bugreport
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
jne 0x404967
cmp ebx, 1
jne 0x403117
lea eax, [ebp - 0x240]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x218]
mov dword [esp], str.shell:bugreport
call fcn.004a6f90
mov edx, dword [ebp - 0x288]
lea ecx, [ebp - 0x218]
mov eax, dword [ebp - 0x274]
sub esp, 8
call fcn.004ab4a8
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x23c]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x402dd1
mov esi, dword [0x4ac46c]
lea eax, [edx - 4]
test esi, esi
jne 0x404952
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x4039a3
lea eax, [ebp - 0x240]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x4039a3
mov edi, dword [0x4ac46c]
lea eax, [edx - 4]
test edi, edi
jne 0x404ad4
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403c99
mov eax, dword [ebp - 0x268]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x403c99
mov eax, dword [ebp - 0x288]
mov dword [ebp + 0xc], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x274]
mov dword [esp], eax
call fcn.00406ef0
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.00406f10
mov edx, dword [ebp - 0x264]
test edx, edx
jne 0x402d79
jmp 0x402f2a
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x40495c
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403c84
lea eax, [ebp - 0x240]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x403c84
call fcn.004aafeb
jmp 0x404883
lea esi, [esi]
call fcn.004aafeb
jmp 0x404932
mov esi, dword [ebp - 0x26c]
mov ecx, 8
mov edi, 0x4b3f2c
mov eax, 0x4b45a4
repe cmpsb byte [esi], byte es:[edi]
je 0x404995
mov esi, dword [ebp - 0x26c]
mov ecx, 8
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x404ade
mov esi, dword [ebp - 0x26c]
mov edi, eax
mov ecx, 8
mov dword [ebp - 0x240], 0x4b0f50
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
sub edx, eax
cmp ebx, 1
movsx edx, dl
jle 0x405052
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x278], 0
mov eax, dword [eax + 4]
cmp byte [eax], 0x2d
jne 0x404c4f
mov byte [ebp - 0x270], 0
mov byte [ebp - 0x26c], 0
mov byte [ebp - 0x264], 0
mov dword [ebp - 0x268], edx
mov esi, eax
mov ecx, 7
mov edi, str.__list
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov edx, esi
cmp dl, cl
je 0x405046
mov edi, str.__remove
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x40503a
mov edi, str.__remove_all
mov ecx, 0xd
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x404c43
mov edi, str.__no_rebind
mov ecx, 0xc
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x404a9a
mov byte [ebp - 0x278], 1
sub ebx, 1
add dword [ebp + 0xc], 4
cmp ebx, 1
je 0x404a69
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp byte [eax], 0x2d
je 0x4049f3
movsx eax, byte [ebp - 0x264]
movsx ecx, byte [ebp - 0x270]
mov edx, dword [ebp - 0x268]
add ecx, eax
movsx eax, byte [ebp - 0x26c]
add ecx, eax
movsx eax, byte [ebp - 0x278]
add eax, ecx
cmp eax, 1
jle 0x404c64
call fcn.004023c0
lea eax, [ebp - 0x244]
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x402dd1
call fcn.004aafeb
jmp 0x4048bd
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4625
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x404b14
cmp ebx, 2
jne 0x403117
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.0040a310
mov dword [ebp - 0x264], eax
jmp 0x402dd1
mov esi, dword [ebp - 0x26c]
mov edi, str.push
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404e3e
mov esi, dword [ebp - 0x26c]
mov edi, str.pull
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404da6
mov esi, dword [ebp - 0x26c]
mov edi, str.install
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x405073
cmp ebx, 1
jle 0x403117
mov edi, dword [ebp + 0xc]
lea edx, [ebx*4]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x264], str._data_local_tmp__s
mov dword [ebp - 0x26c], edx
add edi, edx
add eax, 4
mov dword [ebp - 0x268], edi
mov esi, dword [eax]
mov ecx, 3
mov edi, 0x4b463c
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov edx, esi
cmp dl, cl
mov edx, str._sdcard_tmp__s
cmovne edx, dword [ebp - 0x264]
add eax, 4
cmp eax, dword [ebp - 0x268]
mov dword [ebp - 0x264], edx
jne 0x404b8d
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x268], eax
mov eax, dword [ebp + 0xc]
lea esi, [eax + edx - 4]
mov edi, dword [esi]
mov dword [esp + 4], 0x2e
mov dword [esp], edi
call sub.msvcrt.dll_strrchr
test eax, eax
je 0x404c09
mov dword [esp + 4], str..apk
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x404d0a
sub dword [ebp - 0x268], 1
sub esi, 4
cmp dword [ebp - 0x268], 0xffffffff
jne 0x404bda
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Missing_APK_file_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x402dd1
mov byte [ebp - 0x26c], 1
jmp 0x404a52
mov byte [ebp - 0x264], 0
mov byte [ebp - 0x26c], 0
mov byte [ebp - 0x270], 0
test edx, edx
je 0x405b5e
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x405b22
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x218]
mov dword [esp + 8], str.host_serial:_s
mov dword [esp + 4], 0x40
mov dword [esp], eax
mov dword [ebp - 0x268], eax
call fcn.0049fc60
cmp byte [ebp - 0x270], 0
je 0x405199
cmp ebx, 1
jne 0x404a9a
mov eax, dword [ebp - 0x268]
lea ebx, [ebp - 0x23c]
mov dword [esp + 4], str._s:list_forward
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00421270
mov eax, ebx
call fcn.004029b0
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x23c]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x244]
mov dword [esp], eax
mov dword [ebp - 0x26c], eax
call fcn.004a5880
sub esp, 4
jmp 0x404ab5
mov dword [esp], edi
call sub.msvcrt.dll_strlen
lea edx, [ebp - 0x218]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [ebp - 0x268], edx
mov dword [esp + 8], eax
call fcn.0041c900
lea eax, [ebp - 0x23c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x218]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wstat]
cmp eax, 0xffffffff
je 0x404d61
movzx eax, word [ebp - 0x236]
and ax, 0xf000
cmp ax, 0x8000
je 0x404ee0
mov dword [esp + 8], edi
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Invalid_APK_file:__s_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
mov dword [esp], eax
call fcn.004a31c0
mov dword [ebp - 0x264], 0xffffffff
sub esp, 4
jmp 0x402dd1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x240]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x244]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x218]
mov dword [esp], ecx
lea edx, [ebx - 1]
add eax, 4
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x218], 0x4b4632
call fcn.004aaf1d
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x404ecc
mov edx, dword [ebp - 0x240]
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x244]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x218]
mov dword [esp + 4], edx
call fcn.0040b1e0
mov dword [ebp - 0x264], eax
jmp 0x402dd1
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x240]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x244]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x218]
mov dword [esp], ecx
lea edx, [ebx - 1]
add eax, 4
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x218], 0
call fcn.004aaf1d
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x404ecc
mov edx, dword [ebp - 0x218]
test edx, edx
je 0x404ecc
mov ecx, dword [ebp - 0x244]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.0040ae60
mov dword [ebp - 0x264], eax
jmp 0x402dd1
call fcn.004023c0
mov dword [ebp - 0x264], 1
jmp 0x402dd1
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
mov dword [esp], eax
mov dword [ebp - 0x270], eax
call fcn.004a31c0
mov edi, dword [esi]
mov eax, edi
sub esp, 4
call fcn.004aaee0
mov dword [esp + 4], 0x104
lea edx, [eax + 1]
test eax, eax
mov eax, edx
cmove eax, edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x264]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.0049fc60
mov eax, dword [ebp - 0x268]
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call fcn.0040ae60
test eax, eax
mov edi, eax
jne 0x404f7a
mov eax, dword [ebp - 0x268]
mov ecx, ebx
mov edx, dword [ebp - 0x288]
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, dword [ebp - 0x274]
call fcn.004ab562
mov edi, eax
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x268]
lea esi, [ebp - 0x244]
mov ecx, esi
mov dword [esp], eax
call fcn.004a6f90
mov ebx, dword [ebp - 0x270]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], ebx
call fcn.0041c620
mov ecx, ebx
mov dword [esp + 4], str.shell:rm__f
mov dword [esp], 0
call fcn.004a63a0
mov edx, dword [eax]
sub esp, 8
mov dword [ebp - 0x248], edx
mov dword [eax], 0x4b0f50
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a5880
mov eax, dword [ebp - 0x244]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], ebx
call fcn.004a5880
mov edx, dword [ebp - 0x288]
lea ecx, [ebp - 0x248]
mov eax, dword [ebp - 0x274]
sub esp, 4
call fcn.004ab4a8
mov eax, dword [ebp - 0x248]
mov dword [esp], ebx
lea ecx, [eax - 0xc]
call fcn.004a5880
mov dword [ebp - 0x264], edi
sub esp, 4
jmp 0x402dd1
mov byte [ebp - 0x264], 1
jmp 0x404a52
mov byte [ebp - 0x270], 1
jmp 0x404a52
mov byte [ebp - 0x278], 0
mov byte [ebp - 0x264], 0
mov byte [ebp - 0x26c], 0
mov byte [ebp - 0x270], 0
jmp 0x404c64
mov esi, dword [ebp - 0x26c]
mov edi, str.install_multiple
mov ecx, 0x11
repe cmpsb byte [esi], byte es:[edi]
jne 0x40542e
cmp ebx, 1
jle 0x403117
lea eax, [ebx - 1]
xor esi, esi
mov dword [ebp - 0x268], eax
xor edi, edi
mov dword [ebp - 0x264], 0xffffffff
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
mov dword [esp + 4], 0x2e
mov dword [esp], eax
mov dword [ebp - 0x26c], eax
call sub.msvcrt.dll_strrchr
test eax, eax
je 0x4052e0
mov dword [esp + 4], str..apk
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x4052e0
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
call fcn.0041c900
lea eax, [ebp - 0x23c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x218]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wstat]
cmp eax, 0xffffffff
je 0x405aa0
movzx eax, word [ebp - 0x236]
and ax, 0xf000
cmp ax, 0x8000
jne 0x405aa0
mov eax, dword [ebp - 0x228]
cdq
add esi, eax
mov eax, dword [ebp - 0x218]
adc edi, edx
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
mov dword [esp], eax
call fcn.004a31c0
mov edx, dword [ebp - 0x268]
mov eax, edx
sub eax, 1
sub esp, 4
cmp eax, 0xffffffff
je 0x4052d4
mov dword [ebp - 0x264], edx
mov dword [ebp - 0x268], eax
jmp 0x4050ab
cmp byte [ebp - 0x26c], 0
je 0x405287
cmp ebx, 1
jne 0x404a9a
mov edx, dword [ebp - 0x268]
lea eax, [ebp - 0x23c]
mov dword [esp + 4], str._s:killforward_all
mov edi, eax
mov dword [esp], eax
mov dword [ebp - 0x278], eax
mov dword [esp + 8], edx
call fcn.00421270
lea eax, [ebp - 0x240]
mov ecx, eax
mov dword [ebp - 0x270], eax
mov dword [esp], edi
call fcn.004a5af0
mov eax, dword [ebp - 0x23c]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x244]
sub esp, 4
mov dword [esp], eax
mov dword [ebp - 0x26c], eax
call fcn.004a5880
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x23c], 0x4b0f50
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x270]
mov dword [esp], eax
call fcn.00407e50
test eax, eax
mov dword [ebp - 0x264], eax
je 0x405268
mov eax, dword [ebp - 0x23c]
mov dword [esp + 4], 0x4b3ee2
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
mov eax, dword [ebp - 0x23c]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x404ab5
cmp byte [ebp - 0x264], 0
je 0x405aaf
cmp ebx, 2
jne 0x404a9a
lea eax, [ebp - 0x23c]
mov edi, eax
mov dword [ebp - 0x278], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 4], str._s:killforward:_s
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x268]
mov dword [esp + 8], eax
call fcn.00421270
jmp 0x4051d7
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0xffffffff
je 0x405f3c
lea edi, [ebp - 0x250]
mov dword [esp + 8], esi
mov dword [esp + 4], str.exec:pm_install_create__S__u
mov dword [esp], edi
call fcn.00421270
cmp dword [ebp - 0x264], 1
jle 0x405b7c
lea eax, [ebp - 0x218]
mov esi, 1
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x244]
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x268]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + esi*4]
add esi, 1
mov dword [esp], eax
call fcn.004a6f90
mov eax, dword [ebp - 0x268]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x270]
mov dword [esp], eax
call fcn.0041c620
mov ecx, dword [ebp - 0x270]
mov dword [esp + 4], 0x4b3f14
mov dword [esp], 0
call fcn.004a63a0
mov ecx, edi
mov edx, dword [eax]
sub esp, 8
mov dword [ebp - 0x244], edx
mov edx, dword [ebp - 0x26c]
mov dword [eax], 0x4b0f50
mov dword [esp], edx
call fcn.004a5e40
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x244]
sub ecx, 0xc
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x240]
sub ecx, 0xc
sub esp, 4
mov dword [esp], edx
call fcn.004a5880
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x270]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
cmp esi, dword [ebp - 0x264]
jne 0x405355
jmp 0x405b94
mov esi, dword [ebp - 0x26c]
mov edi, str.uninstall
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
jne 0x40548c
cmp ebx, 1
jle 0x403117
cmp ebx, 3
jne 0x405468
mov eax, dword [ebp + 0xc]
mov edi, 0x4b47b2
mov ecx, 3
mov esi, dword [eax + 4]
repe cmpsb byte [esi], byte es:[edi]
je 0x405f49
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [ebp - 0x288]
mov dword [esp], eax
mov eax, dword [ebp - 0x274]
call fcn.004ab562
mov dword [ebp - 0x264], eax
jmp 0x402dd1
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b48e1
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x40594e
cmp ebx, 1
mov dword [ebp - 0x24c], 0x4b0f50
jle 0x40592a
mov eax, dword [ebp + 0xc]
mov edi, 0x4b41c5
mov ecx, 3
mov eax, dword [eax + 4]
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x405905
cmp ebx, 3
lea eax, [ebp - 0x24c]
je 0x4058e2
mov dword [esp], 0x4b3f1a
mov ecx, eax
mov ebx, 1
mov dword [ebp - 0x280], eax
call fcn.004a60b0
sub esp, 4
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b3f1a
call fcn.004a2600
sub esp, 4
test eax, eax
jne 0x40584e
lea eax, [ebp - 0x248]
mov edx, 0x4b48e6
mov dword [ebp - 0x288], eax
call fcn.004ab44b
lea eax, [ebp - 0x244]
mov edx, 0x4b48ed
mov dword [ebp - 0x26c], eax
call fcn.004ab44b
lea eax, [ebp - 0x240]
mov edx, str.vendor
mov dword [ebp - 0x270], eax
call fcn.004ab44b
lea eax, [ebp - 0x23c]
mov edx, 0x4b48f9
mov dword [ebp - 0x278], eax
call fcn.004ab44b
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x405820
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x251]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], str._system
call fcn.004a6f90
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040b770
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
test esi, esi
jne 0x405751
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x4057fc
mov eax, dword [ebp - 0x270]
mov dword [esp], eax
call fcn.0041c9f0
test al, al
je 0x405819
mov edi, dword [ebp - 0x268]
lea eax, [ebp - 0x251]
mov dword [esp + 4], eax
mov dword [esp], str._vendor
mov ecx, edi
call fcn.004a6f90
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x270]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040b770
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
test esi, esi
jne 0x405751
mov eax, dword [ebp - 0x24c]
mov edi, dword [eax - 0xc]
test edi, edi
jne 0x4057da
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.0041c9f0
test al, al
je 0x4056ea
mov edi, dword [ebp - 0x268]
lea eax, [ebp - 0x251]
mov dword [esp + 4], eax
mov dword [esp], str._oem
mov ecx, edi
call fcn.004a6f90
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040b770
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
test esi, esi
jne 0x405751
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax - 0xc]
test ecx, ecx
jne 0x4057b8
mov esi, dword [ebp - 0x268]
lea eax, [ebp - 0x251]
movzx edi, bl
mov dword [esp + 4], eax
mov dword [esp], str._data
mov ecx, esi
call fcn.004a6f90
mov eax, dword [ebp - 0x26c]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.0040b770
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
mov edi, dword [ebp - 0x268]
mov eax, dword [ebp - 0x23c]
mov dword [esp], edi
lea ecx, [eax - 0xc]
call fcn.004a5880
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a5880
mov eax, dword [ebp - 0x244]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a5880
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a5880
mov dword [ebp - 0x264], esi
sub esp, 4
mov eax, dword [ebp - 0x24c]
jmp 0x404606
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48ed
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x4056fb
jmp 0x405751
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48f9
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x40567e
jmp 0x4056ea
mov ecx, dword [ebp - 0x280]
mov dword [esp], str.vendor
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x4055f9
xor esi, esi
jmp 0x40566d
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48e6
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x405582
lea eax, [ebp - 0x218]
mov dword [ebp - 0x268], eax
jmp 0x4055e8
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48e6
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x405519
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48ed
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x405519
mov ecx, dword [ebp - 0x280]
mov dword [esp], str.vendor
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x405519
mov ecx, dword [ebp - 0x280]
mov dword [esp], 0x4b48f9
call fcn.004a2600
sub esp, 4
test eax, eax
je 0x405519
call fcn.004023c0
lea eax, [ebp - 0x218]
mov dword [ebp - 0x264], 1
mov dword [ebp - 0x268], eax
jmp 0x4057ad
mov ecx, eax
mov ebx, 1
mov dword [ebp - 0x280], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.004a60b0
sub esp, 4
jmp 0x4054fc
cmp ebx, 2
jne 0x4058c2
lea edx, [ebp - 0x24c]
xor ebx, ebx
mov dword [esp], eax
mov ecx, edx
mov dword [ebp - 0x280], edx
call fcn.004a60b0
sub esp, 4
jmp 0x4054fc
lea eax, [ebp - 0x24c]
xor ebx, ebx
mov dword [esp], 0x4b3f1a
mov ecx, eax
mov dword [ebp - 0x280], eax
call fcn.004a60b0
sub esp, 4
jmp 0x4054fc
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4905
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x406533
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b490f
mov ecx, 0xd
repe cmpsb byte [esi], byte es:[edi]
je 0x406533
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b491c
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x406533
mov esi, dword [ebp - 0x26c]
mov edi, str.logcat
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x4062e7
mov esi, dword [ebp - 0x26c]
mov edi, str.lolcat
mov ecx, 7
mov edx, str.longcat
repe cmpsb byte [esi], byte es:[edi]
je 0x4062ec
mov esi, dword [ebp - 0x26c]
mov ecx, 8
mov edi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4062ec
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4988
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x4062b6
mov esi, dword [ebp - 0x26c]
mov edi, str.start_server
mov ecx, 0xd
repe cmpsb byte [esi], byte es:[edi]
je 0x40669a
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b49d3
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x406563
mov esi, dword [ebp - 0x26c]
mov edi, str.restore
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
je 0x4061b7
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4b3f
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x406107
cmp ebx, 1
jle 0x403117
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00415460
mov dword [ebp - 0x264], eax
jmp 0x402dd1
mov eax, dword [ebp - 0x26c]
mov dword [esp + 8], eax
jmp 0x404d65
cmp ebx, 3
jne 0x404a9a
cmp byte [ebp - 0x278], 0
mov edx, 0x4b3f2c
mov eax, str.forward:norebind
cmove eax, edx
lea edx, [ebp - 0x23c]
mov edi, edx
mov dword [ebp - 0x278], edx
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 8]
mov dword [esp + 0x14], edx
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 4]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x268]
mov dword [esp + 4], str._s:_s:_s__s
mov dword [esp], edi
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
call fcn.00421270
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
mov ecx, eax
mov dword [esp], edi
jmp 0x4051e8
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x405b72
cmp dword [ebp - 0x274], 1
je 0x405b68
mov dword [esp + 8], 0x4b11dd
lea eax, [ebp - 0x218]
mov dword [esp + 4], 0x40
mov dword [esp], eax
mov dword [ebp - 0x268], eax
call fcn.0049fc60
jmp 0x404ca2
mov dword [esp + 8], 0x4b45a4
jmp 0x405b3d
mov dword [esp + 8], str.host_local
jmp 0x405b3d
mov dword [esp + 8], str.host_usb
jmp 0x405b3d
lea eax, [ebp - 0x244]
mov dword [ebp - 0x26c], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x280]
mov dword [esp], edi
mov dword [ebp - 0x24c], 0x4b0f50
mov dword [esp + 4], eax
call fcn.004077d0
test eax, eax
mov esi, eax
js 0x405c74
lea edi, [ebp - 0x218]
mov edx, edi
mov dword [ebp - 0x268], edi
call fcn.004aafa2
mov dword [esp], esi
mov esi, str.Success
call fcn.00419090
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x405c13
mov edi, dword [ebp - 0x268]
mov dword [esp + 4], 0x5b
mov dword [esp], edi
call sub.msvcrt.dll_strrchr
mov dword [esp + 4], 0x5d
mov dword [esp], edi
mov esi, eax
call sub.msvcrt.dll_strrchr
test eax, eax
jne 0x405ca2
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Failed_to_create_session_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov dword [ebp - 0x264], 0xffffffff
mov eax, dword [ebp - 0x24c]
mov edi, dword [ebp - 0x26c]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a5880
mov eax, dword [ebp - 0x250]
sub esp, 4
jmp 0x4041bd
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], str.Connect_error_for_create:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x405c4f
test esi, esi
je 0x405c13
mov byte [eax], 0
lea eax, [esi + 1]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
test eax, eax
mov dword [ebp - 0x274], eax
js 0x405c13
cmp ebx, dword [ebp - 0x264]
jle 0x4060f6
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x288], eax
mov dword [ebp + 8], ebx
mov edx, dword [ebp - 0x264]
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + edx*4]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call fcn.0041c900
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x248]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wstat]
cmp eax, 0xffffffff
mov eax, ebx
je 0x4060d5
call fcn.004aaee0
mov dword [esp + 4], str.exec:pm_install_write__S__u__d__d__s__
test eax, eax
lea edx, [eax + 1]
mov eax, dword [ebp - 0x264]
cmove edx, ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x274]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x228]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.00421270
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.00418330
test eax, eax
mov esi, eax
js 0x40609d
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x240], 0x4b0f50
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004077d0
test eax, eax
mov edi, eax
js 0x40606e
mov edx, eax
mov eax, esi
call fcn.004aaff5
mov edx, dword [ebp - 0x268]
mov eax, edi
call fcn.004aafa2
mov dword [esp], esi
mov esi, str.Success
call fcn.00419090
mov dword [esp], edi
call fcn.00419090
mov edi, dword [ebp - 0x268]
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x405f6e
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
mov dword [esp], eax
call fcn.004a5880
mov eax, dword [ebp - 0x244]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
sub esp, 4
mov dword [esp], eax
call fcn.004a31c0
add dword [ebp - 0x264], 1
mov eax, dword [ebp - 0x264]
sub esp, 4
cmp eax, dword [ebp + 8]
jne 0x405d09
mov eax, str.commit
mov edx, dword [ebp - 0x274]
mov edi, dword [ebp - 0x270]
mov dword [esp + 8], eax
mov dword [esp + 4], str.exec:pm_install__s__d
mov dword [esp + 0xc], edx
mov dword [esp], edi
call fcn.00421270
mov eax, dword [ebp - 0x280]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004077d0
test eax, eax
mov ebx, eax
js 0x40603d
mov edi, dword [ebp - 0x268]
mov esi, str.Success
mov edx, edi
call fcn.004aafa2
mov dword [esp], ebx
call fcn.00419090
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
jne 0x405ffc
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
jmp 0x405c4f
mov dword [esp + 4], str.Missing_APK_file_n
jmp 0x402f9b
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp], str.The__k_option_uninstalls_the_application_while_retaining_the_data_cache._nAt_the_moment__there_is_no_way_to_remove_the_remaining_data._nYou_will_have_to_reinstall_the_application_with_the_same_signature__and_fully_uninstall_it._nIf_you_truly_wish_to_continue__execute_adb_shell_pm_uninstall__k__s_n
mov dword [esp + 4], eax
call fcn.0049fbe0
mov dword [ebp - 0x264], 0xffffffff
jmp 0x402dd1
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Failed_to_write__s_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x240]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
mov eax, dword [ebp - 0x244]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x251]
mov dword [esp], eax
call fcn.004a31c0
mov eax, str.abandon
sub esp, 4
jmp 0x405e89
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Failed_to_finalize_session_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov dword [ebp - 0x264], 0xffffffff
jmp 0x405f1d
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], str.Connect_error_for_finalize:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x405f1d
mov eax, dword [ebp - 0x240]
mov dword [esp + 4], str.Connect_error_for_write:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [esp], esi
call fcn.00419090
jmp 0x405fa4
lea esi, [esi]
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x4b470b
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x405fbe
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Failed_to_stat__s_n
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x405fd8
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
jmp 0x405e84
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4b46
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x406287
mov esi, dword [ebp - 0x26c]
mov edi, str.help
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x406273
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4b50
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x406273
mov esi, dword [ebp - 0x26c]
mov edi, 0x4b4b53
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x264], eax
jne 0x403117
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0x14], str.edd2a148a60c_android
mov dword [esp + 0x10], 0x20
mov dword [esp + 0xc], 0
add eax, 0x20
mov dword [esp + 8], 1
mov dword [esp + 4], str.Android_Debug_Bridge_version__d._d._d_nRevision__s_n
mov dword [esp], eax
call fcn.0049fc30
jmp 0x402dd1
cmp ebx, 2
jne 0x403117
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00418330
test eax, eax
mov ebx, eax
js 0x406a85
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x240]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], str.restore:
mov dword [ebp - 0x23c], 0x4b0f50
call fcn.004a6f90
lea eax, [ebp - 0x23c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.004077d0
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x244]
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
test esi, esi
js 0x406a4c
mov dword [esp], str.Now_unlock_your_device_and_confirm_the_restore_operation._n
call fcn.0049fbe0
mov edx, esi
mov eax, ebx
call fcn.004aaff5
mov dword [esp], esi
call fcn.00419090
mov dword [esp], ebx
call fcn.00419090
jmp 0x404600
call fcn.004023c0
mov dword [ebp - 0x264], 0
jmp 0x402dd1
lea eax, [ebp - 0x240]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x218]
mov dword [esp], 0x4b4b46
call fcn.004a6f90
lea eax, [ebp - 0x218]
sub esp, 8
call fcn.004ab656
jmp 0x404844
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], str.error:_adb__s_not_implemented_on_Win32_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x402dd1
mov edx, str.longcat
mov dword [esp], str.ANDROID_LOG_TAGS
lea esi, [ebp - 0x248]
mov dword [ebp - 0x264], edx
call sub.msvcrt.dll_getenv
mov ecx, 0x4b3f1a
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x268], eax
lea eax, [ebp - 0x23c]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, edi
mov dword [ebp - 0x278], eax
call fcn.004a6f90
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0041c620
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
lea edx, [ebp - 0x240]
mov dword [esp], edx
mov dword [ebp - 0x270], edx
call fcn.004a5880
mov eax, dword [ebp - 0x248]
mov ecx, edi
mov dword [ebp - 0x218], 0x4b0f50
mov eax, dword [eax - 0xc]
sub esp, 4
add eax, 0x1f
mov dword [esp], eax
call fcn.004a6cb0
mov ecx, edi
sub esp, 4
mov dword [esp + 4], 0x1f
mov dword [esp], str.shell:export_ANDROID_LOG_TAGS_
call fcn.004a5d30
mov ecx, edi
sub esp, 8
mov dword [esp], esi
call fcn.004a5e40
mov ecx, edi
sub esp, 4
mov dword [esp], str.___exec_logcat
call fcn.004a5cf0
mov ecx, dword [eax]
sub esp, 4
mov dword [ebp - 0x244], ecx
mov dword [eax], 0x4b0f50
mov eax, dword [ebp - 0x278]
mov edx, dword [ebp - 0x218]
mov dword [esp], eax
lea ecx, [edx - 0xc]
call fcn.004a5880
mov eax, dword [ebp + 0xc]
mov ecx, 8
mov edx, dword [ebp - 0x264]
mov esi, dword [eax]
mov edi, edx
sub esp, 4
repe cmpsb byte [esi], byte es:[edi]
lea edi, [ebp - 0x244]
mov dword [ebp - 0x26c], edi
seta dl
setb al
cmp dl, al
jne 0x406422
mov dword [esp], str.__v_long
mov ecx, edi
call fcn.004a5cf0
sub esp, 4
cmp ebx, 1
jle 0x406511
lea eax, [ebp - 0x24c]
lea esi, [ebx - 1]
xor ebx, ebx
mov dword [ebp - 0x280], eax
lea edi, [ebp - 0x250]
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x270]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4 + 4]
add ebx, 1
mov dword [esp], eax
call fcn.004a6f90
mov eax, dword [ebp - 0x270]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.0041c620
mov ecx, dword [ebp - 0x278]
mov dword [esp + 4], 0x4b3f14
mov dword [esp], 0
call fcn.004a63a0
mov ecx, dword [eax]
sub esp, 8
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x26c]
mov dword [eax], 0x4b0f50
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.004a5e40
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a5880
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x268]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x268]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
cmp ebx, esi
jne 0x406442
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x274]
call fcn.004ab4a8
mov dword [ebp - 0x264], eax
jmp 0x40419d
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x26c]
mov dword [esp], eax
lea eax, [ebp - 0x218]
call fcn.004020e0
lea eax, [ebp - 0x218]
call fcn.004029b0
jmp 0x404844
mov eax, dword [ebp + 0xc]
mov edx, 1
mov dword [ebp - 0x274], str.._backup.ab
sub eax, 4
cmp ebx, 1
mov dword [ebp - 0x270], eax
jle 0x404ecc
lea eax, [edx*4]
mov esi, 0x4b49da
mov dword [ebp - 0x268], eax
mov ecx, 3
add eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov dword [ebp - 0x26c], eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov eax, esi
cmp al, cl
jne 0x40660f
lea ecx, [ebx - 1]
cmp edx, ecx
je 0x406a2f
mov eax, dword [ebp + 0xc]
lea ecx, [edx + 2]
mov edi, dword [ebp - 0x268]
cmp ebx, ecx
mov eax, dword [eax + edi + 4]
mov dword [ebp - 0x274], eax
jl 0x406602
mov edi, dword [ebp - 0x270]
mov eax, dword [ebp - 0x26c]
lea ecx, [edi + ebx*4]
mov esi, dword [eax + 8]
add eax, 4
mov dword [eax - 4], esi
cmp eax, ecx
jne 0x4065ed
lea eax, [edx + ebx - 1]
sub eax, edx
mov edx, eax
mov eax, dword [ebp + 0xc]
sub ebx, 2
mov dword [eax + ebx*4], 0
add edx, 1
cmp edx, ebx
jl 0x406587
cmp ebx, 1
jle 0x404ecc
mov eax, dword [ebp - 0x274]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
cmp eax, 0xffffffff
je 0x4069ef
mov eax, dword [ebp - 0x274]
lea esi, [eax + 1]
mov dword [esp + 4], 0x2f
mov dword [esp], esi
call sub.msvcrt.dll_strchr
mov dword [esp + 4], 0x5c
mov dword [esp], esi
mov edi, eax
call sub.msvcrt.dll_strchr
test edi, edi
je 0x406672
cmp edi, eax
jae 0x40667c
test eax, eax
nop
je 0x40667c
test eax, eax
je 0x40671f
mov edi, eax
mov eax, dword [ebp - 0x274]
mov byte [edi], 0
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__mkdir]
mov byte [edi], 0x5c
test eax, eax
js 0x406710
lea esi, [edi + 1]
jmp 0x406643
lea ebx, [ebp - 0x218]
lea eax, [ebp - 0x244]
mov ecx, ebx
mov dword [esp + 4], eax
mov dword [esp], 0x4b49c1
mov dword [ebp - 0x23c], 0x4b0f50
call fcn.004a6f90
lea eax, [ebp - 0x23c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004077d0
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x240]
mov dword [esp], eax
call fcn.004a5880
mov eax, dword [ebp - 0x23c]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], ebx
call fcn.004a5880
sub esp, 4
jmp 0x402dd1
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 0x11
je 0x406695
mov eax, dword [ebp - 0x274]
mov dword [esp + 4], 0x1a0
mov dword [esp], eax
call fcn.00418920
test eax, eax
mov esi, eax
js 0x4069a2
lea eax, [ebp - 0x244]
lea edx, [ebp - 0x218]
mov ecx, eax
mov dword [esp + 4], edx
lea edi, [ebx - 1]
xor ebx, ebx
mov dword [esp], str.backup:
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
call fcn.004a6f90
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x270], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x288], eax
sub esp, 8
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x270]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ebx*4 + 4]
add ebx, 1
mov dword [esp], eax
call fcn.004a6f90
mov eax, dword [ebp - 0x270]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.0041c620
mov ecx, dword [ebp - 0x278]
mov dword [esp + 4], 0x4b3f14
mov dword [esp], 0
call fcn.004a63a0
mov ecx, dword [eax]
sub esp, 8
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x26c]
mov dword [eax], 0x4b0f50
mov eax, dword [ebp - 0x268]
mov dword [esp], eax
call fcn.004a5e40
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
mov edx, dword [ebp - 0x280]
sub esp, 4
mov dword [esp], edx
call fcn.004a5880
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x268]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x268]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a5880
sub esp, 4
cmp ebx, edi
jne 0x4067a1
test byte [0x4f3060], 1
je 0x406930
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov edi, dword [eax]
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x270], eax
call sub.msvcrt.dll__getpid
mov ecx, dword [ebp - 0x270]
mov dword [esp + 8], str.backup
mov dword [esp + 4], 0x4b120b
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
call ebx
mov dword [eax], edi
mov eax, dword [ebp - 0x244]
mov dword [esp + 4], str.backup._filename_s_cmd_s_n
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x274]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4f3068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call ebx
mov dword [eax], edi
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x218], 0x4b0f50
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x26c]
mov dword [esp], eax
call fcn.004077d0
test eax, eax
mov edi, eax
js 0x4069b9
mov dword [esp], str.Now_unlock_your_device_and_confirm_the_backup_operation._n
call fcn.0049fbe0
mov edx, esi
mov eax, edi
call fcn.004aaff5
mov dword [esp], edi
call fcn.00419090
mov dword [esp], esi
call fcn.00419090
mov eax, dword [ebp - 0x218]
mov edi, dword [ebp - 0x278]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a5880
mov eax, dword [ebp - 0x244]
sub esp, 4
jmp 0x4041bd
mov eax, dword [ebp - 0x274]
mov dword [esp + 4], str.adb:_unable_to_open_file__s_n
mov dword [esp + 8], eax
jmp 0x4062c8
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], str.adb:_unable_to_connect_for_backup:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [esp], esi
call fcn.00419090
mov dword [ebp - 0x264], 0xffffffff
jmp 0x40697d
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 0xd
jne 0x40663a
mov eax, dword [ebp - 0x274]
mov dword [esp + 4], 0x180
mov dword [esp], eax
call sub.msvcrt.dll__chmod
test eax, eax
jne 0x40663a
mov eax, dword [ebp - 0x274]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
jmp 0x40663a
mov dword [esp + 4], str.adb:__f_passed_with_no_filename_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x403117
mov eax, dword [ebp - 0x23c]
mov dword [esp + 4], str.adb:_unable_to_connect_for_restore:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [esp], ebx
call fcn.00419090
mov dword [ebp - 0x264], 0xffffffff
jmp 0x404600
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 8], esi
mov dword [esp + 4], str.adb:_unable_to_open_file__s:__s_n
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x402dd1
mov eax, dword [ebp - 0x26c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00406f30
mov eax, dword [ebp - 0x244]
mov dword [esp + 4], str._failed_to_write_data__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
jmp 0x40417d
mov esi, dword [0x4ac46c]
lea eax, [edx - 4]
test esi, esi
jne 0x406b73
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x4036b5
lea eax, [ebp - 0x23c]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x4036b5
mov edx, 1
call fcn.004aaff5
jmp 0x40368e
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], 0x4b3ee2
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 0xffffffff
jmp 0x4036a0
call fcn.004aafeb
jmp 0x406b13
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x406be6
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x40363c
mov eax, dword [ebp - 0x268]
mov ecx, edi
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x40363c
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x406bf2
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403627
mov eax, dword [ebp - 0x268]
mov ecx, edi
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x403627
call fcn.004aafeb
nop
lea esi, [esi]
jmp 0x406b90
call fcn.004aafeb
jmp 0x406bc6
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x406c29
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403612
mov dword [esp], ebx
mov ecx, edi
call fcn.004a5860
sub esp, 4
jmp 0x403612
call fcn.004aafeb
nop
jmp 0x406c0f
mov dword [ebp - 0x278], edx
call fcn.004aafeb
mov edx, dword [ebp - 0x278]
jmp 0x403354
mov dword [esp + 4], str.adb:_port_number_must_be_a_positive_number_less_than_65536._Got_empty_string._n
jmp 0x406a37
call fcn.004aafeb
jmp 0x4036e4
mov ebx, dword [0x4ac46c]
lea eax, [esi - 4]
test ebx, ebx
jne 0x406cc1
mov eax, dword [esi - 4]
lea ebx, [eax - 1]
mov dword [esi - 4], ebx
test eax, eax
jg 0x402ec9
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov dword [ebp - 0x278], edx
call fcn.004a5860
mov edx, dword [ebp - 0x278]
sub esp, 4
jmp 0x402ec9
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x278], ecx
call fcn.004aafeb
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x28c]
jmp 0x402cf9
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x278], ecx
call fcn.004aafeb
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x28c]
jmp 0x406c75
mov ecx, dword [0x4ac46c]
lea eax, [edx - 4]
test ecx, ecx
jne 0x406d51
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403e5e
mov eax, dword [ebp - 0x268]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x403e5e
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], str.couldnt_allocate_fds_array:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049fc30
mov dword [ebp - 0x264], 1
jmp 0x403e49
call fcn.004aafeb
jmp 0x406cf6
mov eax, dword [ebp - 0x23c]
mov dword [esp + 4], 0x4b3ee2
mov dword [esp + 8], eax
jmp 0x406d32
mov edi, dword [0x4ac46c]
lea eax, [edx - 4]
test edi, edi
jne 0x406da2
mov eax, dword [edx - 4]
lea ecx, [eax - 1]
mov dword [edx - 4], ecx
test eax, eax
jg 0x403de0
lea eax, [ebp - 0x244]
mov ecx, esi
mov dword [esp], eax
call fcn.004a5860
sub esp, 4
jmp 0x403de0
call fcn.004aafeb
jmp 0x406d82