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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2ac
mov ebx, dword [ebp + 8]
mov dword [esp], str.ANDROID_PRODUCT_OUT
call sub.msvcrt.dll_getenv
test eax, eax
mov esi, eax
je 0x40227d
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov ecx, 0x4de020
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004a13d0
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 - 0x2a0], eax
call sub.msvcrt.dll_getenv
mov dword [ebp - 0x298], 0x13ad
test eax, eax
mov esi, eax
je 0x4022b4
cmp byte [eax], 0
jne 0x40285f
test ebx, ebx
jle 0x40267a
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x288], 2
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x280], 0
mov dword [ebp + 8], ebx
mov eax, dword [edx]
mov ecx, 7
mov edi, 0x4aef6e
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov ebx, esi
cmp bl, cl
je 0x4024b0
mov edi, str.nodaemon
mov ecx, 9
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402570
mov edi, str.fork_server
mov ecx, 0xc
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402580
mov edi, str.persist
mov ecx, 8
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x402590
mov edi, 0x4ac16d
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4025a0
cmp byte [eax + 2], 0
jne 0x4025e0
cmp dword [ebp + 8], 1
je 0x4028a7
sub dword [ebp + 8], 1
add edx, 4
mov esi, dword [edx]
test esi, esi
je 0x4025f7
movsx eax, byte [esi]
test al, al
je 0x4025f7
mov dword [ebp - 0x28c], edx
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_isalpha]
mov edx, dword [ebp - 0x28c]
test eax, eax
jne 0x402753
mov dword [esp + 4], 0x2f
mov dword [esp], esi
mov dword [ebp - 0x28c], edx
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
mov edx, dword [ebp - 0x28c]
je 0x4023ed
cmp edi, eax
jae 0x4023f6
test eax, eax
je 0x4023f6
test eax, eax
nop
je 0x40295b
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov dword [ebp - 0x28c], edx
mov dword [ebp - 0x218], 0x4abf40
call fcn.0041b120
mov edx, dword [ebp - 0x28c]
test al, al
je 0x4027de
mov eax, dword [ebp - 0x218]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0x4ac378
mov dword [esp + 4], str._s_s_s
mov dword [esp + 8], eax
lea eax, [ebp - 0x248]
mov dword [esp], eax
mov dword [ebp - 0x28c], edx
call fcn.0041f9c0
mov edx, dword [ebp - 0x28c]
mov eax, dword [ebp - 0x218]
lea edi, [eax - 0xc]
cmp edi, 0x4abf34
je 0x402622
sub eax, 4
mov dword [ebp - 0x28c], edx
call fcn.004a5ddb
mov edx, dword [ebp - 0x28c]
test eax, eax
jg 0x402622
lea eax, [ebp - 0x24c]
mov ecx, edi
mov dword [esp], eax
call fcn.004a0b50
mov edx, dword [ebp - 0x28c]
sub esp, 4
jmp 0x402622
mov dword [ebp - 0x274], 1
sub dword [ebp + 8], 1
add edx, 4
mov ebx, dword [ebp + 8]
test ebx, ebx
jg 0x4022f4
mov eax, dword [ebp - 0x2a0]
mov dword [ebp + 0xc], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call fcn.004063a0
mov eax, dword [ebp - 0x298]
mov dword [esp], eax
call fcn.004063c0
mov ecx, dword [ebp - 0x274]
test ecx, ecx
je 0x4026b2
mov eax, dword [ebp - 0x280]
or eax, dword [ebp - 0x278]
mov eax, dword [ebp - 0x298]
je 0x4028b1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.004016b0
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x274], 0
je 0x40255e
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.0049e490
mov dword [ebp - 0x274], ebx
mov eax, dword [ebp - 0x274]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x280], 1
jmp 0x4024ba
mov dword [ebp - 0x278], 1
jmp 0x4024ba
mov dword [ebp - 0x284], 1
jmp 0x4024ba
cmp byte [eax], 0x2d
je 0x402834
mov edi, 0x4af058
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4025e8
mov edi, 0x4af05b
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x402793
mov dword [ebp - 0x288], 1
jmp 0x4024ba
lea esi, [eax + 2]
jmp 0x402383
mov dword [ebp - 0x288], 0
jmp 0x4024ba
mov dword [ebp - 0x28c], edx
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x248]
mov dword [esp], 0x4aee81
call fcn.004a2280
mov edx, dword [ebp - 0x28c]
sub esp, 8
lea eax, [ebp - 0x248]
mov ecx, 0x4de020
mov dword [esp], eax
mov dword [ebp - 0x28c], edx
call fcn.004a0de0
mov eax, dword [ebp - 0x248]
mov edx, dword [ebp - 0x28c]
lea edi, [eax - 0xc]
sub esp, 4
cmp edi, 0x4abf34
jne 0x4041d3
mov eax, dword [0x4de020]
mov edi, dword [eax - 0xc]
test edi, edi
jne 0x4024ba
mov dword [esp + 8], esi
mov dword [esp + 4], str.adb:_could_not_resolve___p__s__n
jmp 0x402897
mov eax, dword [ebp - 0x2a0]
mov dword [esp], 2
mov dword [esp + 4], eax
call fcn.004063a0
mov eax, dword [ebp - 0x298]
mov dword [esp], eax
call fcn.004063c0
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x288], 2
test ebx, ebx
je 0x4028a7
mov eax, dword [ebp + 0xc]
mov edi, 0x4af117
mov ecx, 9
mov esi, dword [eax]
mov dword [ebp - 0x278], esi
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [ebp - 0x274], eax
je 0x402add
mov esi, dword [ebp - 0x278]
mov edi, 0x4af121
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
je 0x4028cf
mov esi, dword [ebp - 0x278]
mov edi, 0x4af169
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x402b80
cmp ebx, 2
je 0x402ee3
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.0049e490
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x274]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esi + 1], 0x3a
jne 0x4023b3
cmp byte [esi + 2], 0x5c
jne 0x4023b3
lea eax, [ebp - 0x218]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x248]
mov dword [esp], esi
mov dword [ebp - 0x28c], edx
call fcn.004a2280
mov edx, dword [ebp - 0x28c]
sub esp, 8
jmp 0x402622
mov edi, 0x4ac170
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4028c0
mov edi, 0x4af05e
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x402b22
cmp byte [eax + 2], 0
jne 0x402e90
cmp dword [ebp + 8], 1
je 0x4028a7
mov eax, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
jmp 0x402e93
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.0049e490
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x248]
mov dword [esp], 0x4aee81
call fcn.004a2280
mov edx, dword [ebp - 0x28c]
sub esp, 8
jmp 0x40245a
cmp byte [eax + 1], 0x73
jne 0x4025a9
movzx ecx, byte [eax + 2]
movsx esi, cl
sub esi, 0x30
cmp esi, 9
ja 0x402e18
add eax, 2
mov dword [ebp - 0x2a0], eax
jmp 0x4024ba
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov dword [ebp - 0x298], eax
sub eax, 1
cmp eax, 0xfffe
jbe 0x4022b4
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.0049e490
call fcn.00401f50
jmp 0x40273b
mov dword [esp], eax
call fcn.0040be20
mov ebx, eax
jmp 0x402532
mov dword [0x4ee208], 1
jmp 0x4024ba
cmp ebx, 1
jle 0x4032d1
cmp ebx, 2
jne 0x402ad0
mov eax, dword [ebp + 0xc]
mov edi, 0x4af129
mov ecx, 3
mov edx, dword [eax + 4]
mov esi, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x402ad0
mov eax, dword [ebp - 0x278]
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.0041f9c0
mov dword [esp], str.List_of_devices_attached_n
call fcn.0049e440
mov eax, esi
call fcn.00402170
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x218]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x402df0
mov eax, dword [ebp - 0x274]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], str.ANDROID_BUILD_TOP
mov dword [ebp - 0x28c], edx
call sub.msvcrt.dll_getenv
mov edx, dword [ebp - 0x28c]
test eax, eax
je 0x4033df
mov dword [ebp - 0x28c], edx
lea edx, [ebp - 0x248]
mov dword [esp + 4], edx
lea ecx, [ebp - 0x218]
mov dword [esp], eax
call fcn.004a2280
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4ac378
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 3
mov dword [esp], 0x4aefdd
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4ac378
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 6
mov dword [esp], str.target
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4ac378
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 7
mov dword [esp], str.product
call fcn.004a1020
lea ecx, [ebp - 0x218]
sub esp, 8
mov dword [esp + 4], 1
mov dword [esp], 0x4ac378
call fcn.004a1020
sub esp, 8
mov dword [esp], esi
call sub.msvcrt.dll_strlen
lea ecx, [ebp - 0x218]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.004a1020
lea eax, [ebp - 0x218]
sub esp, 8
mov dword [esp], eax
call fcn.0041b170
mov edx, dword [ebp - 0x28c]
test al, al
mov eax, dword [ebp - 0x218]
je 0x402efd
mov dword [ebp - 0x248], eax
mov eax, 0x4abf40
mov dword [ebp - 0x218], 0x4abf40
lea edi, [eax - 0xc]
cmp edi, 0x4abf34
je 0x402622
jmp 0x40246f
mov dword [esp + 4], str.Usage:_adb_devices___l__n
jmp 0x40272b
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x278]
call fcn.00401fb0
test al, al
je 0x40273b
cmp ebx, 1
je 0x40255e
mov eax, dword [ebp + 0xc]
sub ebx, 1
mov eax, dword [eax + 4]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
jmp 0x4026ea
mov edi, 0x4af061
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x403dbf
cmp byte [eax + 2], 0
jne 0x402e3f
cmp dword [ebp + 8], 1
je 0x4028a7
mov esi, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
cmp byte [esi], 0
jne 0x402e42
mov dword [esp + 4], str.adb:_port_number_must_be_a_positive_number_less_than_65536._Got_empty_string._n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
jmp 0x4028a7
mov esi, dword [ebp - 0x278]
mov edi, str.disconnect
mov ecx, 0xb
repe cmpsb byte [esi], byte es:[edi]
je 0x402eac
mov esi, dword [ebp - 0x278]
mov edi, 0x4af1f0
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x4035ad
mov esi, dword [ebp - 0x278]
mov edi, str.shell
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x402f4d
mov esi, dword [ebp - 0x278]
mov edi, str.hell
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x402f4d
mov esi, dword [ebp - 0x278]
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 - 0x274], eax
je 0x402c1f
mov esi, dword [ebp - 0x278]
mov edi, str.exec_out
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
jne 0x4035c7
lea eax, [ebp - 0x250]
lea edx, [ebp - 0x218]
mov ecx, eax
mov dword [esp + 4], edx
mov edi, eax
mov dword [esp], str.exec:
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x278], eax
call fcn.004a2280
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.004a1020
sub esp, 8
cmp ebx, 2
jle 0x402d71
lea eax, [ebx - 2]
xor esi, esi
mov dword [ebp - 0x288], eax
lea eax, [ebp - 0x248]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
lea edi, [ebp - 0x258]
lea ebx, [ebp - 0x254]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0x284]
mov eax, dword [eax + esi*4 + 8]
mov dword [esp], eax
call fcn.004a2280
mov eax, dword [ebp - 0x284]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.0041b1b0
mov ecx, dword [ebp - 0x28c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0x4aee7b
mov dword [esp], 0
call fcn.004a16d0
mov ecx, dword [ebp - 0x278]
mov edx, dword [eax]
sub esp, 0xc
mov dword [ebp - 0x218], edx
mov dword [eax], 0x4abf40
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a1130
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
sub esp, 4
cmp ecx, 0x4abf34
jne 0x4041a7
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
cmp ecx, 0x4abf34
jne 0x404044
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
cmp ecx, 0x4abf34
jne 0x404012
add esi, 1
cmp esi, dword [ebp - 0x288]
jne 0x402ca5
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x218], 0x4abf40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.00406c80
test eax, eax
mov ebx, eax
js 0x404126
mov eax, dword [ebp - 0x274]
test eax, eax
jne 0x404115
mov edx, ebx
xor eax, eax
call fcn.004a5df8
mov dword [esp], ebx
call fcn.00417be0
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x218]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x403fc2
mov eax, dword [ebp - 0x250]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
je 0x40255e
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x40255e
lea eax, [ebp - 0x248]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x40255e
cmp dword [ebp + 8], 1
je 0x4028a7
test cl, cl
jne 0x4028a7
mov eax, dword [edx + 4]
add edx, 4
sub dword [ebp + 8], 1
mov dword [ebp - 0x2a0], eax
jmp 0x4024ba
lea esi, [eax + 2]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
mov dword [ebp - 0x28c], edx
call sub.msvcrt.dll_strtol
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x298], eax
sub eax, 1
cmp eax, 0xfffe
jbe 0x4024ba
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 0x402897
add eax, 2
mov dword [esp], eax
mov dword [ebp - 0x28c], edx
call fcn.004063d0
mov edx, dword [ebp - 0x28c]
jmp 0x4024ba
cmp ebx, 2
jg 0x4035a0
mov eax, 0x4aee81
jne 0x402ec2
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.0041f9c0
mov eax, ebx
jmp 0x40292d
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 0x402ed4
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], esi
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.0049e490
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x248]
mov dword [esp], 0x4aee81
call fcn.004a2280
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x28c]
sub esp, 8
jmp 0x402abb
mov eax, dword [ebp - 0x278]
cmp byte [eax], 0x68
sete byte [ebp - 0x278]
je 0x403880
cmp ebx, 1
jle 0x4033fc
lea eax, [ebp - 0x248]
lea edx, [ebp - 0x218]
mov ecx, eax
mov dword [esp + 4], edx
lea esi, [ebx - 1]
mov dword [esp], str.shell:
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x280], edx
call fcn.004a2280
mov eax, dword [ebp + 0xc]
lea edi, [eax + 4]
sub esp, 8
sub esi, 1
cmp esi, 0xffffffff
je 0x403153
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 - 0x28c]
mov ecx, ebx
mov dword [esp + 4], eax
call fcn.004a1020
mov edx, dword [edi]
sub esp, 8
test edx, edx
je 0x402fa2
mov dword [esp + 4], 1
mov ecx, ebx
sub esi, 1
mov dword [esp], 0x4aee7b
call fcn.004a1020
sub esp, 8
cmp esi, 0xffffffff
jne 0x402fae
jmp 0x403153
nop
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
mov dword [esp], 0x4ee068
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], 0x4ac173
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
mov eax, dword [ebp - 0x248]
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
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 - 0x280]
mov dword [ebp - 0x218], 0x4abf40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.00406c80
test eax, eax
mov ebx, eax
js 0x4032a5
test byte [0x4ee060], 1
jne 0x403203
mov eax, ebx
call fcn.00401d40
test byte [0x4ee060], 1
jne 0x403165
mov dword [esp], ebx
xor esi, esi
call fcn.00417be0
mov eax, dword [ebp - 0x284]
test eax, eax
je 0x4032db
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.0049e490
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x2a0]
mov eax, 0x4aee2a
mov edx, dword [ebp - 0x288]
sub esp, 4
call fcn.00401fb0
mov eax, dword [ebp - 0x218]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x403fea
test byte [0x4ee060], 1
je 0x40309f
jmp 0x402fff
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov edi, dword [eax]
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x274], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x274]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4ac173
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.0049e490
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call esi
mov dword [eax], edi
jmp 0x4030e8
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov edi, dword [eax]
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x274], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x274]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4ac173
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.0049e490
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call esi
mov dword [eax], edi
jmp 0x4030d8
mov eax, dword [ebp - 0x218]
mov esi, 0xffffffff
mov dword [esp + 4], 0x4aee49
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
jmp 0x4030f2
mov edx, 0x4aee81
jmp 0x4028fb
cmp byte [ebp - 0x278], 0
je 0x403300
mov dword [esp], str.e_0m
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
test byte [0x4ee060], 1
je 0x4033aa
mov edi, dword [sym.imp.msvcrt.dll__errno]
call edi
mov ebx, dword [eax]
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x274], eax
call sub.msvcrt.dll__getpid
mov edx, dword [ebp - 0x274]
mov dword [esp + 8], str.adb_commandline
mov dword [esp + 4], 0x4ac173
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.0049e490
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call edi
mov dword [eax], ebx
mov eax, dword [ebp - 0x218]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x40417f
mov eax, dword [ebp - 0x248]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x404157
mov dword [ebp - 0x274], esi
jmp 0x40255e
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.0049e490
jmp 0x4025fd
test byte [0x4ee060], 1
je 0x403498
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov esi, dword [eax]
mov dword [esp], 0x4ee068
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], 0x4ac173
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
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 - 0x280], eax
lea eax, [ebp - 0x24c]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], str.shell:
mov dword [ebp - 0x248], 0x4abf40
call fcn.004a2280
lea eax, [ebp - 0x248]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00406c80
mov ebx, eax
mov eax, dword [ebp - 0x218]
lea esi, [eax - 0xc]
cmp esi, 0x4abf34
jne 0x4040ed
test ebx, ebx
js 0x4040d9
mov dword [esp], 8
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
je 0x40409e
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esp], 0
call fcn.0041a310
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x401a80
call dword [sym.imp.msvcrt.dll__beginthread]
mov eax, ebx
call fcn.00401d40
mov dword [esp], 0
call fcn.0041a440
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x248]
lea ebx, [eax - 0xc]
cmp ebx, 0x4abf34
jne 0x404076
cmp byte [ebp - 0x278], 0
je 0x40255e
mov dword [esp], str.e_0m
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x40255e
mov dword [esp + 4], str.Usage:_adb_disconnect___host__:_port____n
jmp 0x40272b
mov eax, dword [ebp + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004018a0
mov dword [ebp - 0x274], eax
jmp 0x40255e
mov esi, dword [ebp - 0x278]
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 - 0x274], eax
je 0x403d2e
mov esi, dword [ebp - 0x278]
mov edi, 0x4af32e
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 - 0x274], eax
jne 0x403c54
cmp ebx, 2
jne 0x4028a7
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x258], 0x10000
mov eax, dword [eax + 4]
mov dword [esp], str.loading:__s
mov dword [esp + 4], eax
mov edi, eax
mov dword [ebp - 0x288], eax
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
lea eax, [ebp - 0x25c]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00416cd0
test eax, eax
mov dword [ebp - 0x28c], eax
je 0x403c17
mov eax, dword [ebp - 0x25c]
lea esi, [ebp - 0x254]
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.0041f9c0
lea eax, [ebp - 0x250]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [ebp - 0x250], 0x4abf40
mov dword [ebp - 0x278], eax
call fcn.00406c80
test eax, eax
mov ebx, eax
js 0x403970
lea eax, [ebp - 0x258]
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.00418d60
mov dword [ebp - 0x274], 0xffffffff
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 0x280], eax
jmp 0x40382c
mov edi, dword [ebp - 0x280]
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 0x403910
mov eax, dword [ebp - 0x280]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_strtol
mov ecx, dword [ebp - 0x25c]
mov edx, eax
shl edx, 0x10
cmp edx, ecx
jae 0x4038a1
mov eax, dword [ebp - 0x28c]
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.0041b830
test al, al
je 0x403f89
mov ecx, dword [ebp - 0x25c]
mov eax, 0x2f
xor edi, edi
add dword [ebp - 0x284], esi
mov esi, 1
mul dword [ebp - 0x284]
test ecx, ecx
je 0x4037de
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.00491440
cmp eax, dword [ebp - 0x274]
mov esi, eax
je 0x403826
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x288]
mov dword [esp], str._rserving:__s____d___
mov dword [esp + 4], eax
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [ebp - 0x274], esi
mov eax, dword [ebp - 0x280]
mov dword [esp + 8], 8
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0041b4c0
test al, al
jne 0x403727
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.0049e490
jmp 0x4038bd
mov dword [esp], str.e_41_33m
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x402f63
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.0049e490
mov dword [ebp - 0x274], 1
mov dword [esp], ebx
call fcn.00417be0
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.0049e1d0
mov eax, dword [ebp - 0x250]
mov edi, dword [ebp - 0x280]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a0b70
mov eax, dword [ebp - 0x254]
sub esp, 4
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
movd xmm1, dword [ebp - 0x284]
movq qword [ebp - 0x270], xmm1
lea edx, [eax + 0xa]
mov eax, dword [ebp - 0x25c]
fild qword [ebp - 0x270]
test eax, eax
jne 0x403b44
fld1
fdivp st(1)
mov dword [esp + 0x10], 0x4aee81
mov dword [esp + 0xc], edx
mov dword [esp], str._rTotal_xfer:__.2fx_s_n
fstp qword [esp + 4]
call fcn.0049e440
jmp 0x4038c7
mov dword [esp], 0x4af345
lea ebx, [ebp - 0x248]
call fcn.0049e440
mov esi, dword [ebp - 0x25c]
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov edi, eax
mov dword [esp + 8], 0x4af32e
mov dword [esp + 4], 0x4af371
mov dword [esp + 0xc], esi
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x24c], 0x4abf40
call fcn.0041f9c0
lea eax, [ebp - 0x24c]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [ebp - 0x284], eax
call fcn.00406c80
mov dword [esp], ebx
mov edi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
call fcn.004a0b70
sub esp, 4
test edi, edi
js 0x403bd2
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 - 0x248], 0x10000
call fcn.00418d60
test esi, esi
mov ebx, dword [ebp - 0x28c]
mov dword [ebp - 0x2a0], esi
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x248], eax
je 0x403af7
mov dword [ebp - 0x278], edi
mov edi, ebx
mov eax, dword [ebp - 0x278]
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.0041b830
test al, al
je 0x403b65
sub esi, ebx
add edi, ebx
mov eax, esi
mov ebx, 0x64
mul ebx
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x294], edx
mov edx, dword [ebp - 0x29c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x298]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x294]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00491440
mov dword [esp], str.sending:__s__4d_______r
sub ebx, eax
mov eax, dword [ebp - 0x288]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
call fcn.0049e440
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_fflush
test esi, esi
jne 0x403a4c
mov edi, dword [ebp - 0x278]
mov dword [esp], 0x4af345
call fcn.0049e440
mov eax, dword [ebp - 0x284]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004063e0
test al, al
je 0x403c03
mov dword [esp], edi
call fcn.00417be0
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x4038cf
mov dword [ebp - 0x278], eax
movd xmm0, dword [ebp - 0x278]
movq qword [ebp - 0x270], xmm0
fild qword [ebp - 0x270]
jmp 0x40394d
mov edi, dword [ebp - 0x278]
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x218], 0x4abf40
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004063e0
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.0049e490
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25d]
mov dword [esp], eax
call fcn.004a0b70
mov dword [ebp - 0x274], 1
sub esp, 4
jmp 0x403b25
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], 0x4aee49
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
mov dword [ebp - 0x274], 1
jmp 0x403b25
mov eax, dword [ebp - 0x24c]
mov dword [esp + 4], str._error_response__s__n
mov dword [esp + 8], eax
jmp 0x403be4
mov dword [esp], 0x4af345
call fcn.0049e440
mov eax, dword [ebp - 0x288]
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.0049e490
mov dword [ebp - 0x274], 1
jmp 0x40255e
mov esi, dword [ebp - 0x278]
mov edi, str.remount
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x403e4b
mov eax, str.reboot_bootloader
mov esi, dword [ebp - 0x278]
mov ecx, 0x12
mov edi, eax
mov dword [ebp - 0x248], 0x4abf40
repe cmpsb byte [esi], byte es:[edi]
je 0x403e1d
lea eax, [ebp - 0x218]
cmp ebx, 1
mov edi, eax
mov dword [ebp - 0x280], eax
jle 0x403dfe
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 4], 0x4ac167
mov dword [esp], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x278]
mov dword [esp + 8], eax
call fcn.0041f9c0
lea eax, [ebp - 0x248]
mov ecx, eax
mov dword [esp], edi
mov dword [ebp - 0x28c], eax
call fcn.004a0de0
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x24c]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
mov eax, dword [ebp - 0x28c]
call fcn.004a6459
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x250]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], 0x4af30c
mov dword [ebp - 0x248], 0x4abf40
call fcn.004a2280
lea eax, [ebp - 0x248]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00406520
mov ebx, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x24c]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
cmp ebx, 0xffffffff
jne 0x403d0f
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.0049e490
mov dword [ebp - 0x274], 1
jmp 0x403d0f
mov eax, dword [ebp - 0x2a0]
mov dword [ebp + 0xc], edx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call fcn.004063a0
mov eax, dword [ebp - 0x298]
mov dword [esp], eax
call fcn.004063c0
mov edx, dword [ebp - 0x274]
test edx, edx
jne 0x402506
jmp 0x4026ba
mov edx, dword [ebp - 0x278]
mov dword [esp + 4], 0x4af4ae
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.0041f9c0
jmp 0x403ccb
lea eax, [ebp - 0x248]
mov dword [esp], str.reboot:bootloader
mov ecx, eax
mov dword [ebp - 0x28c], eax
call fcn.004a13a0
lea eax, [ebp - 0x218]
mov dword [ebp - 0x280], eax
sub esp, 4
jmp 0x403cfe
mov esi, dword [ebp - 0x278]
mov edi, str.reboot
mov ecx, 7
mov eax, str.reboot_bootloader
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov ecx, 0x12
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.tcpip
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, 0x4af46f
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.root
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.unroot
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.disable_verity
mov ecx, 0xf
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.enable_verity
mov ecx, 0xe
repe cmpsb byte [esi], byte es:[edi]
je 0x403c71
mov esi, dword [ebp - 0x278]
mov edi, str.bugreport
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
jne 0x404207
cmp ebx, 1
jne 0x4028a7
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x218]
mov dword [esp], str.shell:bugreport
call fcn.004a2280
mov edx, dword [ebp - 0x2a0]
lea ecx, [ebp - 0x218]
mov eax, dword [ebp - 0x288]
sub esp, 8
call fcn.004a62ab
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x248]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
mov eax, dword [ebp - 0x278]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004063e0
mov eax, dword [ebp - 0x250]
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.0049e490
jmp 0x4038bd
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x402ddb
lea eax, [ebp - 0x248]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x402ddb
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x403153
lea eax, [ebp - 0x24c]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x403153
sub eax, 4
mov dword [ebp - 0x298], ecx
call fcn.004a5ddb
mov ecx, dword [ebp - 0x298]
test eax, eax
jg 0x402d62
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x402d62
sub eax, 4
mov dword [ebp - 0x298], ecx
call fcn.004a5ddb
mov ecx, dword [ebp - 0x298]
test eax, eax
jg 0x402d4d
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x402d4d
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x403572
mov eax, dword [ebp - 0x280]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x403572
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.0049e490
mov dword [ebp - 0x274], 1
jmp 0x40355d
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], 0x4aee49
mov dword [esp + 8], eax
jmp 0x4040ba
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x4034f4
lea eax, [ebp - 0x250]
mov ecx, esi
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x4034f4
mov edx, 1
mov eax, ebx
call fcn.004a5df8
jmp 0x402db4
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], 0x4aee49
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x402dc6
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x4033d4
mov eax, dword [ebp - 0x280]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x4033d4
sub eax, 4
call fcn.004a5ddb
test eax, eax
jg 0x4033bf
lea eax, [ebp - 0x24c]
mov ecx, ebx
mov dword [esp], eax
call fcn.004a0b50
sub esp, 4
jmp 0x4033bf
sub eax, 4
mov dword [ebp - 0x298], ecx
call fcn.004a5ddb
mov ecx, dword [ebp - 0x298]
test eax, eax
jg 0x402d38
mov dword [esp], ebx
call fcn.004a0b50
sub esp, 4
jmp 0x402d38
sub eax, 4
call fcn.004a5ddb
mov edx, dword [ebp - 0x28c]
test eax, eax
jg 0x402659
lea eax, [ebp - 0x218]
mov ecx, edi
mov dword [esp], eax
call fcn.004a0b50
mov edx, dword [ebp - 0x28c]
sub esp, 4
jmp 0x402659
mov esi, dword [ebp - 0x278]
mov ecx, 8
mov edi, 0x4aee93
mov eax, 0x4af4cc
repe cmpsb byte [esi], byte es:[edi]
je 0x404235
mov esi, dword [ebp - 0x278]
mov ecx, 8
mov edi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x404374
mov esi, dword [ebp - 0x278]
mov edi, eax
mov ecx, 8
mov dword [ebp - 0x24c], 0x4abf40
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
sub edx, eax
cmp ebx, 1
movsx edx, dl
jle 0x40488a
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x28c], 0
mov eax, dword [eax + 4]
cmp byte [eax], 0x2d
jne 0x4044e5
mov byte [ebp - 0x284], 0
mov byte [ebp - 0x278], 0
mov byte [ebp - 0x274], 0
mov dword [ebp - 0x280], 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 0x40487e
mov edi, str.__remove
mov esi, eax
mov ecx, 9
repe cmpsb byte [esi], byte es:[edi]
je 0x404872
mov edi, str.__remove_all
mov ecx, 0xd
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x4044d9
mov edi, str.__no_rebind
mov ecx, 0xc
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40433a
mov byte [ebp - 0x28c], 1
sub ebx, 1
add dword [ebp + 0xc], 4
cmp ebx, 1
je 0x404309
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp byte [eax], 0x2d
je 0x404293
movsx eax, byte [ebp - 0x274]
movsx ecx, byte [ebp - 0x284]
mov edx, dword [ebp - 0x280]
add ecx, eax
movsx eax, byte [ebp - 0x278]
add ecx, eax
movsx eax, byte [ebp - 0x28c]
add eax, ecx
cmp eax, 1
jle 0x4044fa
call fcn.00401f50
lea eax, [ebp - 0x250]
mov dword [ebp - 0x274], 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
mov esi, dword [ebp - 0x278]
mov edi, 0x4af54d
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
jne 0x4043aa
cmp ebx, 2
jne 0x4028a7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00409570
mov dword [ebp - 0x274], eax
jmp 0x40255e
mov esi, dword [ebp - 0x278]
mov edi, str.push
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x404690
mov esi, dword [ebp - 0x278]
mov edi, str.pull
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x4045f8
mov esi, dword [ebp - 0x278]
mov edi, str.install
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
jne 0x4048ab
cmp ebx, 1
jle 0x4028a7
mov edi, dword [ebp + 0xc]
lea edx, [ebx*4]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x274], str._data_local_tmp__s
mov dword [ebp - 0x278], edx
add edi, edx
add eax, 4
mov dword [ebp - 0x280], edi
mov esi, dword [eax]
mov ecx, 3
mov edi, 0x4af564
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 - 0x274]
add eax, 4
cmp eax, dword [ebp - 0x280]
mov dword [ebp - 0x274], edx
jne 0x404423
lea eax, [ebx - 1]
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x280], 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 0x40449f
mov dword [esp + 4], str..apk
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
je 0x4045a0
sub dword [ebp - 0x280], 1
sub esi, 4
cmp dword [ebp - 0x280], 0xffffffff
jne 0x404470
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.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40255e
mov byte [ebp - 0x278], 1
jmp 0x4042f2
mov byte [ebp - 0x274], 0
mov byte [ebp - 0x278], 0
mov byte [ebp - 0x284], 0
test edx, edx
je 0x406236
mov eax, dword [ebp - 0x2a0]
test eax, eax
je 0x4061fa
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 - 0x280], eax
call fcn.0049e4c0
cmp byte [ebp - 0x284], 0
je 0x404986
cmp ebx, 1
jne 0x40433a
mov eax, dword [ebp - 0x280]
lea ebx, [ebp - 0x248]
mov dword [esp + 4], str._s:list_forward
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.0041f9c0
mov eax, ebx
call fcn.00402170
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
mov dword [ebp - 0x278], eax
call fcn.004a0b70
sub esp, 4
jmp 0x404355
lea eax, [ebp - 0x248]
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll__stati64]
cmp eax, 0xffffffff
je 0x4045cd
movzx eax, word [ebp - 0x242]
and ax, 0xf000
cmp ax, 0x8000
je 0x404732
mov dword [esp + 8], edi
mov dword [esp + 4], str.Invalid_APK_file:__s_n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40255e
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x24c]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x250]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x218]
mov dword [esp], ecx
lea edx, [ebx - 1]
add eax, 4
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x218], 0x4af55a
call fcn.004a5d0d
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x40471e
mov edx, dword [ebp - 0x24c]
mov dword [esp], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x250]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x218]
mov dword [esp + 4], edx
call fcn.0040a170
mov dword [ebp - 0x274], eax
jmp 0x40255e
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x24c]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x250]
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x218]
mov dword [esp], ecx
lea edx, [ebx - 1]
add eax, 4
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x218], 0
call fcn.004a5d0d
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x40471e
mov edx, dword [ebp - 0x218]
test edx, edx
je 0x40471e
mov ecx, dword [ebp - 0x250]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00409e90
mov dword [ebp - 0x274], eax
jmp 0x40255e
call fcn.00401f50
mov dword [ebp - 0x274], 1
jmp 0x40255e
mov edi, dword [esi]
mov eax, edi
call fcn.004a5cd0
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 - 0x274]
mov dword [esp + 8], eax
lea eax, [ebp - 0x218]
mov dword [esp], eax
mov dword [ebp - 0x280], eax
call fcn.0049e4c0
mov eax, dword [ebp - 0x280]
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call fcn.00409e90
test eax, eax
mov edi, eax
jne 0x4047b2
mov eax, dword [ebp - 0x280]
mov ecx, ebx
mov edx, dword [ebp - 0x2a0]
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov eax, dword [ebp - 0x288]
call fcn.004a6365
mov edi, eax
lea eax, [ebp - 0x258]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x280]
lea ebx, [ebp - 0x250]
mov ecx, ebx
lea esi, [ebp - 0x24c]
mov dword [esp], eax
call fcn.004a2280
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0041b1b0
mov ecx, esi
mov dword [esp + 4], str.shell:rm__f
mov dword [esp], 0
call fcn.004a1690
mov edx, dword [eax]
sub esp, 8
mov dword [ebp - 0x254], edx
mov dword [eax], 0x4abf40
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
mov eax, dword [ebp - 0x250]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], esi
call fcn.004a0b70
mov edx, dword [ebp - 0x2a0]
lea ecx, [ebp - 0x254]
mov eax, dword [ebp - 0x288]
sub esp, 4
call fcn.004a62ab
mov eax, dword [ebp - 0x254]
mov dword [esp], esi
lea ecx, [eax - 0xc]
call fcn.004a0b70
mov dword [ebp - 0x274], edi
sub esp, 4
jmp 0x40255e
mov byte [ebp - 0x274], 1
jmp 0x4042f2
mov byte [ebp - 0x284], 1
jmp 0x4042f2
mov byte [ebp - 0x28c], 0
mov byte [ebp - 0x274], 0
mov byte [ebp - 0x278], 0
mov byte [ebp - 0x284], 0
jmp 0x4044fa
mov esi, dword [ebp - 0x278]
mov edi, str.install_multiple
mov ecx, 0x11
repe cmpsb byte [esi], byte es:[edi]
jne 0x404d68
cmp ebx, 1
jle 0x4028a7
lea edi, [ebx - 1]
mov dword [ebp - 0x274], 0xffffffff
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + edi*4]
mov dword [esp + 4], 0x2e
mov dword [esp], esi
call sub.msvcrt.dll_strrchr
test eax, eax
je 0x404b39
mov dword [esp + 4], str..apk
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stricmp]
test eax, eax
jne 0x404b39
lea eax, [ebp - 0x248]
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__stati64]
cmp eax, 0xffffffff
je 0x404abd
movzx eax, word [ebp - 0x242]
and ax, 0xf000
cmp ax, 0x8000
jne 0x404abd
mov eax, dword [ebp - 0x230]
add dword [ebp - 0x280], eax
mov edx, dword [ebp - 0x22c]
lea eax, [edi - 1]
adc dword [ebp - 0x27c], edx
cmp eax, 0xffffffff
mov dword [ebp - 0x274], edi
je 0x404b39
mov edi, eax
jmp 0x4048ed
cmp byte [ebp - 0x278], 0
je 0x404a74
cmp ebx, 1
jne 0x40433a
mov edx, dword [ebp - 0x280]
lea eax, [ebp - 0x248]
mov dword [esp + 4], str._s:killforward_all
mov edi, eax
mov dword [esp], eax
mov dword [ebp - 0x28c], eax
mov dword [esp + 8], edx
call fcn.0041f9c0
lea eax, [ebp - 0x24c]
mov ecx, eax
mov dword [ebp - 0x284], eax
mov dword [esp], edi
call fcn.004a0de0
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
mov dword [ebp - 0x278], eax
call fcn.004a0b70
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x248], 0x4abf40
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x284]
mov dword [esp], eax
call fcn.004071d0
test eax, eax
mov dword [ebp - 0x274], eax
je 0x404a55
mov eax, dword [ebp - 0x248]
mov dword [esp + 4], 0x4aee49
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
mov dword [ebp - 0x274], 1
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x404355
cmp byte [ebp - 0x274], 0
je 0x404ac6
cmp ebx, 2
jne 0x40433a
lea eax, [ebp - 0x248]
mov edi, eax
mov dword [ebp - 0x28c], 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 - 0x280]
mov dword [esp + 8], eax
call fcn.0041f9c0
jmp 0x4049c4
mov dword [esp + 8], esi
jmp 0x4045d1
cmp ebx, 3
jne 0x40433a
cmp byte [ebp - 0x28c], 0
mov edx, 0x4aee93
mov eax, str.forward:norebind
cmove eax, edx
lea edx, [ebp - 0x248]
mov edi, edx
mov dword [ebp - 0x28c], 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 - 0x280]
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.0041f9c0
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
mov ecx, eax
mov dword [esp], edi
jmp 0x4049d5
cmp dword [ebp - 0x274], 0xffffffff
je 0x4061ed
mov eax, dword [ebp - 0x280]
lea edi, [ebp - 0x258]
mov dword [esp + 4], str.exec:pm_install_create__S__u
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0041f9c0
cmp dword [ebp - 0x274], 1
jle 0x4061d0
lea eax, [ebp - 0x218]
mov edx, 1
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x250]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x254]
mov dword [ebp - 0x298], eax
lea esi, [ebp - 0x25c]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], esi
mov ecx, dword [ebp - 0x280]
mov dword [ebp - 0x288], edx
mov eax, dword [eax + edx*4]
mov dword [esp], eax
call fcn.004a2280
mov eax, dword [ebp - 0x280]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x284]
mov dword [esp], eax
call fcn.0041b1b0
mov ecx, dword [ebp - 0x284]
mov dword [esp + 4], 0x4aee7b
mov dword [esp], 0
call fcn.004a1690
mov edx, dword [ebp - 0x278]
mov ecx, dword [eax]
sub esp, 8
mov dword [ebp - 0x250], ecx
mov ecx, edi
mov dword [eax], 0x4abf40
mov dword [esp], edx
call fcn.004a1130
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x250]
sub ecx, 0xc
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
mov edx, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x24c]
sub ecx, 0xc
sub esp, 4
mov dword [esp], edx
call fcn.004a0b70
mov edx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x284]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
mov edx, dword [ebp - 0x288]
add edx, 1
sub esp, 4
cmp edx, dword [ebp - 0x274]
jne 0x404bae
mov eax, dword [ebp - 0x298]
mov dword [esp], edi
mov dword [ebp - 0x254], 0x4abf40
mov dword [esp + 4], eax
call fcn.00406c80
test eax, eax
mov esi, eax
js 0x40539e
lea edi, [ebp - 0x218]
mov edx, edi
mov dword [ebp - 0x280], edi
call fcn.004a5d92
mov dword [esp], esi
mov esi, str.Success
call fcn.00417be0
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x404d07
mov edi, dword [ebp - 0x280]
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 0x4053f4
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov dword [ebp - 0x274], 0xffffffff
mov eax, dword [ebp - 0x254]
mov edi, dword [ebp - 0x278]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a0b70
mov eax, dword [ebp - 0x258]
sub esp, 4
jmp 0x4038fd
mov esi, dword [ebp - 0x278]
mov edi, str.uninstall
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
jne 0x404dc6
cmp ebx, 1
jle 0x4028a7
cmp ebx, 3
jne 0x404da2
mov eax, dword [ebp + 0xc]
mov edi, 0x4af6da
mov ecx, 3
mov esi, dword [eax + 4]
repe cmpsb byte [esi], byte es:[edi]
je 0x4053cf
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov edx, dword [ebp - 0x2a0]
mov dword [esp], eax
mov eax, dword [ebp - 0x288]
call fcn.004a6365
mov dword [ebp - 0x274], eax
jmp 0x40255e
mov esi, dword [ebp - 0x278]
mov edi, 0x4af809
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
jne 0x40524c
cmp ebx, 1
mov dword [ebp - 0x258], 0x4abf40
jle 0x40522e
mov eax, dword [ebp + 0xc]
mov edi, 0x4af129
mov ecx, 3
mov eax, dword [eax + 4]
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x40520f
cmp ebx, 3
lea edi, [ebp - 0x258]
je 0x4051f2
mov dword [esp], 0x4aee81
mov ecx, edi
mov ebx, 1
call fcn.004a13a0
sub esp, 4
mov dword [esp], 0x4aee81
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
jne 0x40516e
lea eax, [ebp - 0x254]
mov edx, 0x4af80e
mov dword [ebp - 0x298], eax
call fcn.004a624e
lea eax, [ebp - 0x250]
mov edx, 0x4af815
mov dword [ebp - 0x278], eax
call fcn.004a624e
lea eax, [ebp - 0x24c]
mov edx, str.vendor
mov dword [ebp - 0x284], eax
call fcn.004a624e
lea eax, [ebp - 0x248]
mov edx, 0x4af821
mov dword [ebp - 0x28c], eax
call fcn.004a624e
mov eax, dword [ebp - 0x258]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x405144
lea eax, [ebp - 0x218]
mov esi, eax
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x25d]
mov ecx, esi
mov dword [esp + 4], eax
mov dword [esp], str._system
call fcn.004a2280
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x298]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0040a620
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
test esi, esi
jne 0x405081
mov eax, dword [ebp - 0x258]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x405124
mov eax, dword [ebp - 0x284]
mov dword [esp], eax
call fcn.0041b170
test al, al
je 0x40513d
mov esi, dword [ebp - 0x280]
lea eax, [ebp - 0x25d]
mov dword [esp + 4], eax
mov dword [esp], str._vendor
mov ecx, esi
call fcn.004a2280
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0040a620
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
test esi, esi
jne 0x405081
mov eax, dword [ebp - 0x258]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x405106
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.0041b170
test al, al
je 0x40501a
mov esi, dword [ebp - 0x280]
lea eax, [ebp - 0x25d]
mov dword [esp + 4], eax
mov dword [esp], str._oem
mov ecx, esi
call fcn.004a2280
movzx eax, bl
sub esp, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0040a620
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
test esi, esi
jne 0x405081
mov eax, dword [ebp - 0x258]
mov eax, dword [eax - 0xc]
test eax, eax
jne 0x4050e8
mov esi, dword [ebp - 0x280]
lea eax, [ebp - 0x25d]
movzx edi, bl
mov dword [esp + 4], eax
mov dword [esp], str._data
mov ecx, esi
call fcn.004a2280
mov eax, dword [ebp - 0x278]
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], eax
call fcn.0040a620
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
mov edi, dword [ebp - 0x280]
mov eax, dword [ebp - 0x248]
mov dword [esp], edi
lea ecx, [eax - 0xc]
call fcn.004a0b70
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
mov eax, dword [ebp - 0x250]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
mov eax, dword [ebp - 0x254]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
mov dword [ebp - 0x274], esi
sub esp, 4
mov eax, dword [ebp - 0x258]
jmp 0x403d15
mov dword [esp], 0x4af815
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x40502b
jmp 0x405081
mov dword [esp], 0x4af821
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404fae
jmp 0x40501a
mov dword [esp], str.vendor
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404f29
xor esi, esi
jmp 0x404f9d
mov dword [esp], 0x4af80e
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404eb2
lea eax, [ebp - 0x218]
mov dword [ebp - 0x280], eax
jmp 0x404f18
mov dword [esp], 0x4af80e
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404e49
mov dword [esp], 0x4af815
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404e49
mov dword [esp], str.vendor
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404e49
mov dword [esp], 0x4af821
mov ecx, edi
call fcn.0049ffd0
sub esp, 4
test eax, eax
je 0x404e49
call fcn.00401f50
lea eax, [ebp - 0x218]
mov dword [ebp - 0x274], 1
mov dword [ebp - 0x280], eax
jmp 0x4050dd
mov eax, dword [ebp + 0xc]
mov ecx, edi
mov ebx, 1
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.004a13a0
sub esp, 4
jmp 0x404e30
cmp ebx, 2
jne 0x4051d2
lea edi, [ebp - 0x258]
xor ebx, ebx
mov dword [esp], eax
mov ecx, edi
call fcn.004a13a0
sub esp, 4
jmp 0x404e30
lea edi, [ebp - 0x258]
xor ebx, ebx
mov dword [esp], 0x4aee81
mov ecx, edi
call fcn.004a13a0
sub esp, 4
jmp 0x404e30
mov esi, dword [ebp - 0x278]
mov edi, 0x4af82d
mov ecx, 0xa
repe cmpsb byte [esi], byte es:[edi]
je 0x4061a0
mov esi, dword [ebp - 0x278]
mov edi, 0x4af837
mov ecx, 0xd
repe cmpsb byte [esi], byte es:[edi]
je 0x4061a0
mov esi, dword [ebp - 0x278]
mov edi, 0x4af844
mov ecx, 0xc
repe cmpsb byte [esi], byte es:[edi]
je 0x4061a0
mov esi, dword [ebp - 0x278]
mov edi, str.logcat
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
je 0x405f50
mov esi, dword [ebp - 0x278]
mov edi, str.lolcat
mov ecx, 7
mov edx, str.longcat
repe cmpsb byte [esi], byte es:[edi]
je 0x405f55
mov esi, dword [ebp - 0x278]
mov ecx, 8
mov edi, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405f55
mov esi, dword [ebp - 0x278]
mov edi, 0x4af8b0
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
je 0x405f39
mov esi, dword [ebp - 0x278]
mov edi, str.start_server
mov ecx, 0xd
repe cmpsb byte [esi], byte es:[edi]
je 0x4059ea
mov esi, dword [ebp - 0x278]
mov edi, 0x4af8fb
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 - 0x274], eax
je 0x40586b
mov esi, dword [ebp - 0x278]
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 - 0x274], eax
je 0x4056fa
mov esi, dword [ebp - 0x278]
mov edi, 0x4afa67
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x40564a
cmp ebx, 1
jle 0x4028a7
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00414110
mov dword [ebp - 0x274], eax
jmp 0x40255e
mov eax, dword [ebp - 0x254]
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.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x404d43
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.0049e440
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40255e
test esi, esi
je 0x404d07
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 - 0x2a0], eax
js 0x404d07
cmp ebx, dword [ebp - 0x274]
jle 0x405f28
lea eax, [ebp - 0x248]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edx*4]
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x288], eax
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__stati64]
cmp eax, 0xffffffff
je 0x405f01
mov edi, dword [ebp - 0x288]
mov eax, edi
call fcn.004a5cd0
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 - 0x274]
cmove edx, edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x230]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.0041f9c0
mov dword [esp + 4], 0
mov dword [esp], edi
call fcn.00416f40
test eax, eax
mov esi, eax
js 0x405ebc
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x24c], 0x4abf40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.00406c80
test eax, eax
mov edi, eax
js 0x405e8d
mov edx, eax
mov eax, esi
call fcn.004a5df8
mov edx, dword [ebp - 0x280]
mov eax, edi
call fcn.004a5d92
mov dword [esp], esi
mov esi, str.Success
call fcn.00417be0
mov dword [esp], edi
call fcn.00417be0
mov edi, dword [ebp - 0x280]
mov ecx, 7
repe cmpsb byte [esi], byte es:[edi]
jne 0x405da7
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
mov dword [esp], eax
call fcn.004a0b70
mov eax, dword [ebp - 0x250]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x25c]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
add dword [ebp - 0x274], 1
sub esp, 4
cmp dword [ebp - 0x274], ebx
jne 0x40544c
mov eax, str.commit
mov edx, dword [ebp - 0x2a0]
mov edi, dword [ebp - 0x284]
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.0041f9c0
mov eax, dword [ebp - 0x298]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00406c80
test eax, eax
mov ebx, eax
js 0x405e5c
mov edi, dword [ebp - 0x280]
mov esi, str.Success
mov edx, edi
call fcn.004a5d92
mov dword [esp], ebx
call fcn.00417be0
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 - 0x274], eax
jne 0x405e1b
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x24c]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
jmp 0x404d43
mov esi, dword [ebp - 0x278]
mov edi, 0x4afa6e
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x4057c4
mov esi, dword [ebp - 0x278]
mov edi, str.help
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
je 0x4057b0
mov esi, dword [ebp - 0x278]
mov edi, 0x4afa78
mov ecx, 3
repe cmpsb byte [esi], byte es:[edi]
je 0x4057b0
mov esi, dword [ebp - 0x278]
mov edi, 0x4afa7b
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 - 0x274], eax
jne 0x4028a7
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0x14], str.eac51f2bb6a8_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.0049e490
jmp 0x40255e
cmp ebx, 2
jne 0x4028a7
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00416f40
test eax, eax
mov ebx, eax
js 0x40582c
lea edi, [ebp - 0x218]
lea eax, [ebp - 0x24c]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], str.restore:
mov dword [ebp - 0x248], 0x4abf40
mov dword [ebp - 0x280], edi
call fcn.004a2280
lea eax, [ebp - 0x248]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00406c80
mov esi, eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x250]
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
test esi, esi
js 0x4057f3
mov dword [esp], str.Now_unlock_your_device_and_confirm_the_restore_operation._n
call fcn.0049e440
mov edx, esi
mov eax, ebx
call fcn.004a5df8
mov dword [esp], esi
call fcn.00417be0
mov dword [esp], ebx
call fcn.00417be0
jmp 0x403d0f
call fcn.00401f50
mov dword [ebp - 0x274], 0
jmp 0x40255e
lea eax, [ebp - 0x24c]
mov dword [esp + 4], eax
lea ecx, [ebp - 0x218]
mov dword [esp], 0x4afa6e
call fcn.004a2280
lea eax, [ebp - 0x218]
sub esp, 8
call fcn.004a6459
jmp 0x403f64
mov eax, dword [ebp - 0x248]
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.0049e490
mov dword [esp], ebx
call fcn.00417be0
mov dword [ebp - 0x274], 0xffffffff
jmp 0x403d0f
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.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40255e
mov eax, dword [ebp + 0xc]
mov edx, 1
mov dword [ebp - 0x288], str.backup.ab
sub eax, 4
cmp ebx, 1
mov dword [ebp - 0x284], eax
jle 0x40471e
lea eax, [edx*4]
mov esi, 0x4af902
mov dword [ebp - 0x280], eax
mov ecx, 3
add eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov dword [ebp - 0x278], eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
mov esi, ecx
setb cl
mov eax, esi
cmp al, cl
jne 0x405917
lea ecx, [ebx - 1]
cmp edx, ecx
je 0x405d9a
mov eax, dword [ebp + 0xc]
lea ecx, [edx + 2]
mov edi, dword [ebp - 0x280]
cmp ebx, ecx
mov eax, dword [eax + edi + 4]
mov dword [ebp - 0x288], eax
jl 0x40590a
mov edi, dword [ebp - 0x284]
mov eax, dword [ebp - 0x278]
lea ecx, [edi + ebx*4]
mov esi, dword [eax + 8]
add eax, 4
mov dword [eax - 4], esi
cmp eax, ecx
jne 0x4058f5
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 0x40588f
cmp ebx, 1
jle 0x40471e
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
cmp eax, 0xffffffff
je 0x405d0a
lea edx, [ebp - 0x248]
mov dword [ebp - 0x28c], edx
lea eax, [ebp - 0x218]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x288]
mov ecx, eax
mov edi, eax
mov dword [ebp - 0x280], eax
mov dword [esp], edx
call fcn.004a2280
mov ecx, dword [ebp - 0x218]
mov esi, dword [ecx - 4]
sub esp, 8
test esi, esi
js 0x40598d
mov ecx, edi
call fcn.004a0530
mov ecx, dword [ebp - 0x218]
lea esi, [ecx + 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 0x4059c2
cmp edi, eax
jae 0x4059cc
test eax, eax
lea esi, [esi]
je 0x4059cc
test eax, eax
je 0x405a6f
mov edi, eax
mov eax, dword [ebp - 0x288]
mov byte [edi], 0
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__mkdir]
mov byte [edi], 0x5c
test eax, eax
js 0x405a60
lea esi, [edi + 1]
jmp 0x405990
lea ebx, [ebp - 0x218]
lea eax, [ebp - 0x250]
mov ecx, ebx
mov dword [esp + 4], eax
mov dword [esp], 0x4af8e9
mov dword [ebp - 0x248], 0x4abf40
call fcn.004a2280
lea eax, [ebp - 0x248]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00406c80
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
lea eax, [ebp - 0x24c]
mov dword [esp], eax
call fcn.004a0b70
mov eax, dword [ebp - 0x248]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], ebx
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 0x11
je 0x4059e5
mov eax, dword [ebp - 0x218]
lea ecx, [eax - 0xc]
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.004a0b70
mov eax, dword [ebp - 0x288]
sub esp, 4
mov dword [esp + 4], 0x1a0
mov dword [esp], eax
call fcn.004174e0
test eax, eax
mov esi, eax
js 0x405d4a
mov edx, dword [ebp - 0x280]
lea eax, [ebp - 0x250]
mov ecx, eax
mov dword [esp], str.backup:
lea edi, [ebp - 0x258]
mov dword [ebp - 0x278], eax
mov dword [esp + 4], edx
call fcn.004a2280
lea eax, [ebx - 1]
xor ebx, ebx
mov dword [ebp - 0x2a0], eax
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
lea eax, [ebp - 0x254]
mov dword [ebp - 0x298], eax
sub esp, 8
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x284]
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.004a2280
mov eax, dword [ebp - 0x284]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.0041b1b0
mov ecx, dword [ebp - 0x28c]
mov dword [esp + 4], 0x4aee7b
mov dword [esp], 0
call fcn.004a1690
mov ecx, dword [eax]
sub esp, 8
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x278]
mov dword [eax], 0x4abf40
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a1130
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x280]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x280]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
cmp ebx, dword [ebp - 0x2a0]
jne 0x405af9
test byte [0x4ee060], 1
je 0x405c86
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov edi, dword [eax]
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [ebp - 0x284], eax
call sub.msvcrt.dll__getpid
mov ecx, dword [ebp - 0x284]
mov dword [esp + 8], str.backup
mov dword [esp + 4], 0x4ac173
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.0049e490
call ebx
mov dword [eax], edi
mov eax, dword [ebp - 0x250]
mov dword [esp + 4], str.backup._filename_s_cmd_s_n
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x288]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
mov dword [esp], 0x4ee068
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
call ebx
mov dword [eax], edi
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x218], 0x4abf40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x278]
mov dword [esp], eax
call fcn.00406c80
test eax, eax
mov edi, eax
js 0x405d61
mov dword [esp], str.Now_unlock_your_device_and_confirm_the_backup_operation._n
call fcn.0049e440
mov edx, esi
mov eax, edi
call fcn.004a5df8
mov dword [esp], edi
call fcn.00417be0
mov dword [esp], esi
call fcn.00417be0
mov eax, dword [ebp - 0x218]
mov edi, dword [ebp - 0x28c]
lea ecx, [eax - 0xc]
mov dword [esp], edi
call fcn.004a0b70
mov eax, dword [ebp - 0x250]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
sub esp, 4
jmp 0x40255e
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 0xd
jne 0x405942
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], 0x180
mov dword [esp], eax
call sub.msvcrt.dll__chmod
test eax, eax
jne 0x405942
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call sub.msvcrt.dll__unlink
jmp 0x405942
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], str.adb:_unable_to_open_file__s_n
mov dword [esp + 8], eax
jmp 0x4045d9
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.0049e490
mov dword [esp], esi
call fcn.00417be0
mov dword [ebp - 0x274], 0xffffffff
jmp 0x405cd7
mov dword [esp + 4], str.adb:__f_passed_with_no_filename_n
jmp 0x402b65
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], str.Failed_to_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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov eax, dword [ebp - 0x24c]
lea esi, [ebp - 0x25c]
mov dword [esp], esi
lea ecx, [eax - 0xc]
call fcn.004a0b70
sub esp, 4
mov eax, dword [ebp - 0x250]
mov dword [esp], esi
lea ecx, [eax - 0xc]
call fcn.004a0b70
sub esp, 4
mov eax, str.abandon
jmp 0x405597
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.0049e490
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call sub.msvcrt.dll_fputs
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40562b
mov eax, dword [ebp - 0x254]
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.0049e490
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40562b
mov eax, dword [ebp - 0x24c]
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.0049e490
mov dword [esp], esi
call fcn.00417be0
jmp 0x405de3
lea esi, [esi]
call dword [sym.imp.msvcrt.dll__errno]
lea esi, [ebp - 0x25c]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], 0x4af633
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x288]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
jmp 0x405dfd
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], str.Failed_to_stat__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.0049e490
jmp 0x405e11
lea eax, [ebp - 0x24c]
mov dword [ebp - 0x284], eax
jmp 0x405592
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], str.error:_adb__s_not_implemented_on_Win32_n
mov dword [esp + 8], eax
jmp 0x4045d9
mov edx, str.longcat
mov dword [esp], str.ANDROID_LOG_TAGS
lea esi, [ebp - 0x254]
mov dword [ebp - 0x274], edx
call sub.msvcrt.dll_getenv
mov ecx, 0x4aee81
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x218]
mov edi, eax
mov dword [ebp - 0x280], eax
lea eax, [ebp - 0x248]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, edi
mov dword [ebp - 0x28c], eax
call fcn.004a2280
sub esp, 8
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.0041b1b0
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
lea edx, [ebp - 0x24c]
mov dword [esp], edx
mov dword [ebp - 0x284], edx
call fcn.004a0b70
mov eax, dword [ebp - 0x254]
mov ecx, edi
mov dword [ebp - 0x218], 0x4abf40
mov eax, dword [eax - 0xc]
sub esp, 4
add eax, 0x1f
mov dword [esp], eax
call fcn.004a1fa0
mov ecx, edi
sub esp, 4
mov dword [esp + 4], 0x1f
mov dword [esp], str.shell:export_ANDROID_LOG_TAGS_
call fcn.004a1020
mov ecx, edi
sub esp, 8
mov dword [esp], esi
call fcn.004a1130
mov ecx, edi
sub esp, 4
mov dword [esp], str.___exec_logcat
call fcn.004a0fe0
mov ecx, dword [eax]
sub esp, 4
mov dword [ebp - 0x250], ecx
mov dword [eax], 0x4abf40
mov eax, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x218]
mov dword [esp], eax
lea ecx, [edx - 0xc]
call fcn.004a0b70
mov eax, dword [ebp + 0xc]
mov ecx, 8
mov edx, dword [ebp - 0x274]
mov esi, dword [eax]
mov edi, edx
sub esp, 4
repe cmpsb byte [esi], byte es:[edi]
lea edi, [ebp - 0x250]
mov dword [ebp - 0x278], edi
seta dl
setb al
cmp dl, al
jne 0x40608b
mov dword [esp], str.__v_long
mov ecx, edi
call fcn.004a0fe0
sub esp, 4
cmp ebx, 1
jle 0x40617e
lea eax, [ebx - 1]
xor ebx, ebx
lea edi, [ebp - 0x258]
lea esi, [ebp - 0x25c]
mov dword [ebp - 0x274], eax
mov eax, edi
mov edi, esi
mov esi, eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], esi
mov ecx, dword [ebp - 0x284]
mov eax, dword [eax + ebx*4 + 4]
add ebx, 1
mov dword [esp], eax
call fcn.004a2280
mov eax, dword [ebp - 0x284]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp], eax
call fcn.0041b1b0
mov ecx, dword [ebp - 0x28c]
mov dword [esp + 4], 0x4aee7b
mov dword [esp], 0
call fcn.004a1690
mov ecx, dword [eax]
sub esp, 8
mov dword [ebp - 0x218], ecx
mov ecx, dword [ebp - 0x278]
mov dword [eax], 0x4abf40
mov eax, dword [ebp - 0x280]
mov dword [esp], eax
call fcn.004a1130
mov edx, dword [ebp - 0x218]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004a0b70
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x280]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x280]
lea ecx, [edx - 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.004a0b70
sub esp, 4
cmp ebx, dword [ebp - 0x274]
jne 0x4060b1
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x2a0]
mov eax, dword [ebp - 0x288]
call fcn.004a62ab
mov dword [ebp - 0x274], eax
jmp 0x4038dd
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x278]
mov dword [esp], eax
lea eax, [ebp - 0x218]
call fcn.004019d0
lea eax, [ebp - 0x218]
call fcn.00402170
jmp 0x403f64
lea eax, [ebp - 0x250]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x254]
mov dword [ebp - 0x298], eax
jmp 0x404c88
mov dword [esp + 4], str.Missing_APK_file_n
jmp 0x40272b
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x40624a
cmp dword [ebp - 0x288], 1
je 0x406240
mov dword [esp + 8], 0x4ac145
lea eax, [ebp - 0x218]
mov dword [esp + 4], 0x40
mov dword [esp], eax
mov dword [ebp - 0x280], eax
call fcn.0049e4c0
jmp 0x404538
mov dword [esp + 8], 0x4af4cc
jmp 0x406215
mov dword [esp + 8], str.host_local
jmp 0x406215
mov dword [esp + 8], str.host_usb
jmp 0x406215