Function at 0x4111b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x4f0
cmp dword [ebp + 8], 0
jle 0x412889
mov eax, dword [ebp + 8]
mov edx, 0xffffffff
xor ecx, ecx
mov esi, eax
nop word cs:[eax + eax]
nop
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], ecx
mov edi, dword [eax + esi*4 - 4]
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2f0], 0
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x412865
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 4], esi
mov dword [esp + 8], edi
jae 0x411250
mov eax, ebx
lea esi, [esp + 0x2e9]
add al, bl
test ebx, ebx
mov byte [esp + 0x2e8], al
jne 0x41127f
jmp 0x41128a
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0x2f0], eax
mov esi, eax
mov dword [esp + 0x2e8], edi
mov edi, dword [esp + 8]
mov dword [esp + 0x2ec], ebx
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
mov bl, 1
push str..apk
lea eax, [esp + 0x2ec]
push eax
call fcn.004defe0
add esp, 8
test al, al
jne 0x41136e
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x41287d
mov ebx, eax
cmp eax, 0xb
jae 0x411300
mov eax, ebx
lea esi, [esp + 0xe9]
add al, bl
test ebx, ebx
mov byte [esp + 0xe8], al
jne 0x41132f
jmp 0x41133a
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0xf0], eax
mov esi, eax
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 8]
mov dword [esp + 0xec], ebx
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
push str..apex
lea eax, [esp + 0xec]
push eax
call fcn.004defe0
add esp, 8
test byte [esp + 0xe8], 1
mov ebx, eax
je 0x41136e
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
test byte [esp + 0x2e8], 1
je 0x411387
push dword [esp + 0x2f0]
call fcn.004fc300
add esp, 4
test bl, bl
je 0x41147b
mov dword [esp + 0x2ec], 0
mov dword [esp + 0x2e8], 0
mov dword [esp + 0x2f0], 0
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x412865
mov ebx, eax
cmp eax, 0xb
jae 0x4113f0
mov eax, ebx
lea esi, [esp + 0x2e9]
add al, bl
test ebx, ebx
mov byte [esp + 0x2e8], al
jne 0x41141f
jmp 0x41142a
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0x2f0], eax
mov esi, eax
mov dword [esp + 0x2e8], edi
mov edi, dword [esp + 8]
mov dword [esp + 0x2ec], ebx
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
push str..apex
lea eax, [esp + 0x2ec]
push eax
call fcn.004defe0
add esp, 8
test byte [esp + 0x2e8], 1
mov ebx, eax
je 0x41145e
push dword [esp + 0x2f0]
call fcn.004fc300
add esp, 4
mov esi, dword [esp + 4]
mov al, 1
dec esi
test bl, bl
jne 0x41146d
mov eax, dword [esp + 0xc]
test esi, esi
mov ecx, eax
mov edx, esi
jg 0x4111e0
jmp 0x411483
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
cmp esi, 0xffffffff
mov byte [esp + 0x2c], al
je 0x412889
mov eax, dword [0x5bc594]
mov ecx, dword [eax]
call fcn.00412940
test al, al
je 0x4117e7
push 0x20
call fcn.004fc150
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], 0x21
mov dword [esp + 0x38], 0x10
mov dword [eax + 0xc], 0x6567616b
mov dword [eax + 8], 0x63617020
mov dword [eax + 4], 0x646d633a
mov dword [eax], 0x63657865
mov byte [eax + 0x10], 0
sub esp, 0xc
lea ecx, [esp + 0xdc]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s_install_create___multi_package
mov dword [esp], ecx
call fcn.004deac0
add esp, 0xc
cmp esi, 2
mov dword [esp + 4], esi
jl 0x4116c9
mov edi, 1
jmp 0x411560
push dword [esp + 0x2f0]
call fcn.004fc300
add esp, 4
test byte [esp + 0xe8], 1
je 0x4116a7
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
test byte [esp + 0x98], 1
jne 0x4116b1
jmp 0x4116c0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + edi*4]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xc], eax
push eax
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x412871
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 8], edi
jae 0x4115c0
mov eax, ebx
lea edi, [esp + 0x99]
add al, bl
test ebx, ebx
mov byte [esp + 0x98], al
jne 0x4115ef
jmp 0x4115fd
mov esi, ebx
add esi, 0x10
and esi, 0xfffffff0
push esi
call fcn.004fc150
add esp, 4
or esi, 1
mov dword [esp + 0xa0], eax
mov edi, eax
mov dword [esp + 0x98], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x9c], ebx
push ebx
push dword [esp + 0x10]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x98]
mov byte [edi + ebx], 0
push eax
lea edi, [esp + 0xec]
push edi
call fcn.0041a3e0
add esp, 8
mov ecx, edi
push 0x585607
push 0
call fcn.00555ed0
mov ecx, dword [eax + 8]
mov dword [esp + 0x2f0], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x2e8], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
movzx eax, byte [esp + 0x2e8]
test al, 1
je 0x411670
mov edx, dword [esp + 0x2f0]
mov eax, dword [esp + 0x2ec]
jmp 0x411679
shr eax, 1
lea edx, [esp + 0x2e9]
mov edi, dword [esp + 8]
lea ecx, [esp + 0xd0]
push eax
push edx
call fcn.00555860
test byte [esp + 0x2e8], 1
jne 0x411520
test byte [esp + 0xe8], 1
jne 0x41153d
test byte [esp + 0x98], 1
je 0x4116c0
push dword [esp + 0xa0]
call fcn.004fc300
add esp, 4
inc edi
cmp edi, esi
jl 0x411560
test byte [esp + 0x2c], 1
je 0x4116e1
lea ecx, [esp + 0xd0]
push str.___staged
call fcn.00555840
lea eax, [esp + 0x20]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
push eax
lea eax, [esp + 0xd4]
push eax
call fcn.00401950
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call ebx
mov edi, dword [eax]
call ebx
test esi, esi
mov dword [eax], edi
js 0x41180a
mov edi, 0x1ff
lea eax, [esp + 0x2e8]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, eax
test edi, edi
je 0x411766
push edi
push ebx
push esi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub edi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x411740
mov byte [ebx], 0
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
cmp esi, 0xffffffff
je 0x41177f
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
lea edi, [esp + 0x2e8]
push 7
push edi
push str.Success
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x411829
mov esi, dword [fcn.005379b0]
push 2
call esi
add esp, 4
push str.adb:_failed_to_create_multi_package_session_n
push eax
call fcn.00438580
add esp, 8
push 2
call esi
add esp, 4
push eax
push edi
call fcn.004385d0
add esp, 8
mov edi, 1
test byte [esp + 0x20], 1
je 0x411b18
jmp 0x4127dc
push 2
call dword [0x58040c]
add esp, 4
push str.adb:_multi_package_install_is_not_supported_on_this_device_n
push eax
call fcn.00438580
add esp, 8
mov edi, 1
jmp 0x411b39
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x20], 1
je 0x411ad7
mov ecx, dword [esp + 0x28]
jmp 0x411adb
push 0x5b
push edi
call sub.msvcrt.dll_strrchr
add esp, 8
mov esi, eax
push 0x5d
push edi
call sub.msvcrt.dll_strrchr
add esp, 8
test esi, esi
je 0x4117a6
test eax, eax
je 0x4117a6
mov byte [eax], 0
inc esi
push 0xa
push 0
push esi
call sub.msvcrt.dll_strtol
add esp, 0xc
test eax, eax
js 0x4117a6
push 1
mov esi, eax
call dword [0x58040c]
add esp, 4
mov dword [esp + 0x94], esi
push esi
push str.Created_parent_session_ID__d._n
push eax
call fcn.00438580
add esp, 0xc
test byte [esp + 0x34], 1
lea eax, [esp + 0x35]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
je 0x4118b4
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x7c]
push eax
push str._s_install_create
push ecx
call fcn.004deac0
add esp, 0xc
cmp dword [esp + 4], 2
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
jl 0x411a90
mov edi, 1
jmp 0x411940
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
test byte [esp + 0x98], 1
je 0x411a74
push dword [esp + 0xa0]
call fcn.004fc300
add esp, 4
test byte [esp + 0x10], 1
jne 0x411a7b
jmp 0x411a87
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + edi*4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
push esi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x412893
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 8], esi
jae 0x411990
mov eax, ebx
lea esi, [esp + 0x11]
add al, bl
test ebx, ebx
mov byte [esp + 0x10], al
jne 0x4119ba
jmp 0x4119c8
mov dword [esp + 0xc], edi
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0x18], eax
mov esi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x14], ebx
push ebx
push dword [esp + 0xc]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x10]
mov byte [esi + ebx], 0
push eax
lea esi, [esp + 0x9c]
push esi
call fcn.0041a3e0
add esp, 8
mov ecx, esi
push 0x585607
push 0
call fcn.00555ed0
mov ecx, dword [eax + 8]
mov dword [esp + 0xf0], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0xe8], xmm0
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
movzx eax, byte [esp + 0xe8]
test al, 1
je 0x411a40
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
jmp 0x411a49
shr eax, 1
lea edx, [esp + 0xe9]
mov esi, dword [esp + 4]
lea ecx, [esp + 0x7c]
push eax
push edx
call fcn.00555860
test byte [esp + 0xe8], 1
jne 0x411900
test byte [esp + 0x98], 1
jne 0x41191d
test byte [esp + 0x10], 1
je 0x411a87
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
inc edi
cmp edi, esi
jl 0x411940
test byte [esp + 0x2c], 1
je 0x411aa5
lea ecx, [esp + 0x7c]
push str.___staged
call fcn.00555840
movzx ebx, byte [esp + 0x7c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
test bl, 1
je 0x411b43
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
jmp 0x411b49
lea ecx, [esp + 0x21]
push ecx
push str.adb:_connect_error_for_create_multi_package:__s_n
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
cmp esi, 0xffffffff
je 0x411b00
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
mov edi, 1
test byte [esp + 0x20], 1
jne 0x4127dc
test byte [esp + 0xd0], 1
jne 0x4127f6
test byte [esp + 0x34], 1
je 0x411b39
push dword [esp + 0x3c]
call fcn.004fc300
add esp, 4
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
shr ebx, 1
lea ecx, [esp + 0x7d]
lea eax, [ebx + 7]
cmp eax, 0xfffffff0
jae 0x412893
cmp eax, 0xb
jae 0x411b6c
mov eax, ebx
lea esi, [esp + 0x11]
add al, bl
test ebx, ebx
mov byte [esp + 0x10], al
jne 0x411b90
jmp 0x411b9b
lea edi, [ebx + 0x17]
and edi, 0xfffffff0
push edi
mov esi, ecx
call fcn.004fc150
mov ecx, esi
add esp, 4
or edi, 1
mov dword [esp + 0x18], eax
mov esi, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
push ebx
push ecx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
lea ecx, [esp + 0x10]
push 7
push str.___apex
call fcn.00555860
mov esi, dword [esp + 4]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
cmp esi, dword [ebp + 8]
jge 0x412233
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + esi*4]
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x412871
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 4], esi
mov dword [esp + 8], edi
jae 0x411c34
mov eax, ebx
lea esi, [esp + 0x99]
add al, bl
test ebx, ebx
mov byte [esp + 0x98], al
jne 0x411c63
jmp 0x411c6e
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0xa0], eax
mov esi, eax
mov dword [esp + 0x98], edi
mov edi, dword [esp + 8]
mov dword [esp + 0x9c], ebx
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
push str..apex
lea eax, [esp + 0x9c]
push eax
call fcn.004defe0
add esp, 8
test byte [esp + 0x98], 1
mov ebx, eax
je 0x411ca2
push dword [esp + 0xa0]
call fcn.004fc300
add esp, 4
test bl, bl
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x10]
cmovne eax, ecx
lea ecx, [esp + 0x20]
push ecx
push eax
call fcn.00401950
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov edi, eax
call ebx
mov esi, dword [eax]
call ebx
test edi, edi
mov dword [eax], esi
js 0x411d13
mov esi, 0x1ff
lea eax, [esp + 0xe8]
nop dword [eax]
mov ebx, eax
test esi, esi
je 0x411d06
push esi
push ebx
push edi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub esi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x411ce0
mov byte [ebx], 0
mov ebx, dword [sym.imp.msvcrt.dll__errno]
xor esi, esi
jmp 0x411d41
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x20], 1
lea ecx, [esp + 0x21]
je 0x411d2d
mov ecx, dword [esp + 0x28]
push ecx
push str.adb:_connect_error_for_create:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov esi, 0xe
call ebx
mov ebx, dword [eax]
cmp edi, 0xffffffff
je 0x411d53
push edi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
test esi, esi
mov dword [eax], ebx
jne 0x412215
mov dword [esp + 0x30], 0xffffffff
push 7
lea ebx, [esp + 0xec]
push ebx
push str.Success
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x4121e4
push 0x5b
push ebx
call sub.msvcrt.dll_strrchr
add esp, 8
mov esi, eax
push 0x5d
push ebx
call sub.msvcrt.dll_strrchr
add esp, 8
test esi, esi
je 0x4121e4
test eax, eax
je 0x4121e4
mov byte [eax], 0
inc esi
push 0xa
push 0
push esi
call sub.msvcrt.dll_strtol
add esp, 0xc
test eax, eax
mov dword [esp + 0x30], eax
js 0x4121e4
push 1
call dword [0x58040c]
add esp, 4
push dword [esp + 0x30]
push str.Created_child_session_ID__d._n
push eax
call fcn.00438580
add esp, 0xc
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x78]
je 0x411e03
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
add dword [esp + 0x74], 4
jmp 0x411e11
lea eax, [esp + 0x30]
lea ecx, [esp + 0x70]
push eax
call fcn.00576ce0
mov edi, dword [esp + 8]
lea eax, [esp + 0x98]
push eax
push edi
call fcn.0043a0e0
add esp, 8
cmp eax, 0xffffffff
je 0x411ea7
test byte [esp + 0x34], 1
lea eax, [esp + 0x35]
mov esi, eax
je 0x411e3c
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc8], eax
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 0xfffffff0
jae 0x41289c
mov ebx, eax
cmp eax, 0xb
mov dword [esp + 0xc], esi
jae 0x411ee6
mov eax, ebx
lea esi, [esp + 0x41]
add al, bl
test ebx, ebx
mov byte [esp + 0x40], al
jne 0x411f0c
jmp 0x411f17
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call dword [sym.imp.msvcrt.dll__errno]
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push edi
push str.adb:_failed_to_stat__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
mov esi, 0xe
test esi, esi
je 0x4121d4
jmp 0x41221c
mov edi, ebx
add edi, 0x10
and edi, 0xfffffff0
push edi
call fcn.004fc150
add esp, 4
or edi, 1
mov dword [esp + 0x48], eax
mov esi, eax
mov dword [esp + 0x40], edi
mov edi, dword [esp + 8]
mov dword [esp + 0x44], ebx
push ebx
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x40]
mov byte [esi + ebx], 0
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004dcf30
add esp, 8
test byte [esp + 0x60], 1
lea eax, [esp + 0x61]
je 0x411f3c
mov eax, dword [esp + 0x68]
push eax
push dword [esp + 8]
push dword [esp + 0xd0]
push dword [esp + 0xd8]
push dword [esp + 0x3c]
push dword [esp + 0x20]
push str._s_install_write__S__llu__d__d__s__
lea eax, [esp + 0xf8]
push eax
call fcn.004deac0
add esp, 0x20
test byte [esp + 0x60], 1
je 0x411f7f
push dword [esp + 0x68]
call fcn.004fc300
add esp, 4
test byte [esp + 0x40], 1
je 0x411f92
push dword [esp + 0x48]
call fcn.004fc300
add esp, 4
push pe_nt_image_headers32
push edi
call fcn.00432a40
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov edi, eax
call ebx
mov esi, dword [eax]
call ebx
test edi, edi
mov dword [eax], esi
mov dword [esp + 0xc], edi
js 0x41209b
lea eax, [esp + 0x60]
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.00401950
add esp, 8
mov edi, eax
call ebx
mov esi, dword [eax]
call ebx
test edi, edi
mov dword [eax], esi
js 0x4120d1
push edi
push dword [esp + 0x10]
call fcn.00403680
add esp, 8
mov esi, 0x1ff
lea eax, [esp + 0xe8]
nop word cs:[eax + eax]
nop
mov ebx, eax
test esi, esi
je 0x412046
push esi
push ebx
push edi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub esi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x412020
mov byte [ebx], 0
push 7
lea esi, [esp + 0xec]
push esi
push str.Success
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x412107
push 2
mov eax, dword [fcn.005379b0]
mov ebx, eax
call eax
add esp, 4
push dword [esp + 8]
push str.adb:_failed_to_write__s_n
push eax
call fcn.00438580
add esp, 0xc
push 2
call ebx
add esp, 4
push eax
push esi
call fcn.004385d0
add esp, 8
jmp 0x4120fa
push 2
call dword [0x58040c]
add esp, 4
mov esi, eax
call ebx
push dword [eax]
call fcn.00439f20
add esp, 4
push eax
push dword [esp + 0xc]
push str.adb:_failed_to_open__s:__s_n
push esi
call fcn.00438580
add esp, 0x10
mov esi, 0xe
jmp 0x412192
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x60], 1
lea ecx, [esp + 0x61]
je 0x4120eb
mov ecx, dword [esp + 0x68]
push ecx
push str.adb:_connect_error_for_write:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov esi, 0xe
jmp 0x41215f
push dword [esp + 0x30]
push 0x5858b5
lea eax, [esp + 0x48]
push eax
call fcn.004deac0
add esp, 0xc
movzx eax, byte [esp + 0x40]
mov ebx, dword [sym.imp.msvcrt.dll__errno]
test al, 1
je 0x412136
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x41213c
shr eax, 1
lea edx, [esp + 0x41]
lea ecx, [esp + 0x88]
push eax
push edx
call fcn.00555860
test byte [esp + 0x40], 1
je 0x41215d
push dword [esp + 0x48]
call fcn.004fc300
add esp, 4
xor esi, esi
call ebx
mov ebx, dword [eax]
cmp edi, 0xffffffff
je 0x412171
push edi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
test byte [esp + 0x60], 1
je 0x41218c
push dword [esp + 0x68]
call fcn.004fc300
add esp, 4
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov edi, dword [eax]
mov eax, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4121a8
push eax
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
lea ebx, [esp + 0xe8]
test byte [esp + 0xdc], 1
je 0x4121d0
push dword [esp + 0xe4]
call fcn.004fc300
add esp, 4
test esi, esi
jne 0x41221c
mov esi, dword [esp + 4]
inc esi
cmp esi, dword [ebp + 8]
jl 0x411bd4
jmp 0x412233
push 2
mov eax, dword [fcn.005379b0]
mov esi, eax
call eax
add esp, 4
push str.adb:_failed_to_create_multi_package_session_n
push eax
call fcn.00438580
add esp, 8
push 2
call esi
add esp, 4
lea ecx, [esp + 0xe8]
push eax
push ecx
jmp 0x412405
lea ebx, [esp + 0xe8]
cmp esi, 0xe
je 0x41240d
mov edi, 1
cmp esi, 0xb
jne 0x41277e
test byte [esp + 0x34], 1
lea eax, [esp + 0x35]
je 0x412242
mov eax, dword [esp + 0x3c]
test byte [esp + 0x88], 1
mov ebx, dword [sym.imp.msvcrt.dll__errno]
lea edx, [esp + 0xe8]
je 0x412262
mov ecx, dword [esp + 0x90]
jmp 0x412269
lea ecx, [esp + 0x89]
push ecx
push dword [esp + 0x98]
push eax
push str._s_install_add_session__d_s
push edx
call fcn.004deac0
add esp, 0x14
test byte [esp + 0x50], 1
jne 0x412290
mov word [esp + 0x50], 0
jmp 0x4122ba
mov eax, dword [esp + 0x58]
mov byte [eax], 0
mov dword [esp + 0x54], 0
test byte [esp + 0x50], 1
je 0x4122ba
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0xe8]
lea ecx, [esp + 0x20]
mov dword [esp + 0x58], eax
movsd qword [esp + 0x50], xmm0
lea eax, [esp + 0x50]
push ecx
push eax
call fcn.00401950
add esp, 8
mov edi, eax
call ebx
mov esi, dword [eax]
call ebx
test edi, edi
mov dword [eax], esi
js 0x41232d
mov esi, 0x1ff
lea eax, [esp + 0x2e8]
mov ebx, eax
test esi, esi
je 0x412326
push esi
push ebx
push edi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub esi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x412300
mov byte [ebx], 0
xor esi, esi
jmp 0x41235d
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x20], 1
je 0x412345
mov ecx, dword [esp + 0x28]
jmp 0x412349
lea ecx, [esp + 0x21]
push ecx
push str.adb:_connect_error_for_install_add_session:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov esi, 0xe
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
cmp edi, 0xffffffff
je 0x412373
push edi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
cmp esi, 0xe
mov dword [eax], ebx
je 0x4123c2
mov edi, 1
test esi, esi
jne 0x41277e
lea esi, [esp + 0x2e8]
push 7
push esi
push str.Success
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4123d3
mov edi, dword [fcn.005379b0]
push 2
call edi
add esp, 4
test byte [esp + 0x50], 1
je 0x4123e2
mov ecx, dword [esp + 0x58]
jmp 0x4123e6
mov dword [esp + 4], 0
lea ebx, [esp + 0xe8]
jmp 0x412415
mov al, 1
lea ebx, [esp + 0xe8]
mov dword [esp + 4], eax
jmp 0x412415
lea ecx, [esp + 0x51]
lea ebx, [esp + 0xe8]
push ecx
push str.adb:_failed_to_link_sessions___s__n
push eax
call fcn.00438580
add esp, 0xc
push 2
call edi
add esp, 4
push eax
push esi
call fcn.004385d0
add esp, 8
mov dword [esp + 4], 0
test byte [esp + 0x34], 1
lea eax, [esp + 0x35]
je 0x412424
mov eax, dword [esp + 0x3c]
cmp byte [esp + 4], 0
mov ecx, str.commit
mov edx, str.abandon
cmovne edx, ecx
push dword [esp + 0x94]
push edx
push eax
push str._s_install__s__d
push ebx
call fcn.004deac0
add esp, 0x14
lea eax, [esp + 0x20]
push eax
push ebx
call fcn.00401950
add esp, 8
mov esi, eax
mov eax, dword [sym.imp.msvcrt.dll__errno]
mov ebx, eax
call eax
mov edi, dword [eax]
call ebx
test esi, esi
mov dword [eax], edi
js 0x412517
mov edi, 0x1ff
lea eax, [esp + 0x2e8]
mov ebx, eax
test edi, edi
je 0x4124a6
push edi
push ebx
push esi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub edi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x412480
mov byte [ebx], 0
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
cmp esi, 0xffffffff
je 0x4124bf
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
lea edi, [esp + 0x2e8]
push 7
push edi
push str.Success
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x412536
mov esi, dword [fcn.005379b0]
push 2
call esi
add esp, 4
push str.adb:_failed_to_finalize_session_n
push eax
call fcn.00438580
add esp, 8
push 2
call esi
add esp, 4
push eax
push edi
call fcn.004385d0
add esp, 8
lea esi, [esp + 0xe8]
jmp 0x41256c
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x20], 1
je 0x412728
mov ecx, dword [esp + 0x28]
jmp 0x41272c
push 1
call dword [0x58040c]
add esp, 4
lea ecx, [esp + 0x2e8]
push eax
push ecx
call fcn.004385d0
add esp, 8
cmp byte [esp + 4], 0
lea esi, [esp + 0xe8]
mov dword [esp + 8], 0
jne 0x412761
mov eax, dword [esp + 0x70]
mov dword [esp + 8], 1
cmp dword [esp + 0x74], eax
je 0x412761
mov edi, dword [fcn.005379b0]
xor ebx, ebx
nop word [eax + eax]
test byte [esp + 0x34], 1
lea ecx, [esp + 0x35]
je 0x41259f
mov ecx, dword [esp + 0x3c]
push dword [eax + ebx*4]
push ecx
push str._s_install_abandon__d
lea eax, [esp + 0xa4]
push eax
call fcn.004deac0
add esp, 0x10
test byte [esp + 0xe8], 1
jne 0x4125ce
mov word [esp + 0xe8], 0
jmp 0x412607
mov eax, dword [esp + 0xf0]
mov byte [eax], 0
mov dword [esp + 0xec], 0
test byte [esp + 0xe8], 1
je 0x412607
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
mov dword [esp + 0xe8], 0
mov eax, dword [esp + 0xa0]
movsd xmm0, qword [esp + 0x98]
mov dword [esp + 0xf0], eax
movsd qword [esp + 0xe8], xmm0
push 2
call edi
add esp, 4
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ebx
push dword [ecx + ebx*4]
push str.Attempting_to_abandon_session_ID__d_n
push eax
call fcn.00438580
add esp, 0xc
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00401950
add esp, 8
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov esi, eax
call ebx
mov edi, dword [eax]
call ebx
test esi, esi
mov dword [eax], edi
js 0x4126b7
mov edi, 0x1ff
lea eax, [esp + 0x2e8]
nop word cs:[eax + eax]
nop
mov ebx, eax
test edi, edi
je 0x4126a6
push edi
push ebx
push esi
call fcn.004337f0
add esp, 0xc
test eax, eax
mov ecx, eax
mov edx, 0
cmovle ecx, edx
sub edi, ecx
test eax, eax
lea eax, [ebx + eax]
jg 0x412680
mov byte [ebx], 0
mov ebx, dword [sym.imp.msvcrt.dll__errno]
mov eax, ebx
mov ebx, dword [esp + 4]
jmp 0x4126e9
push 2
call dword [0x58040c]
add esp, 4
test byte [esp + 0x20], 1
lea ecx, [esp + 0x21]
je 0x4126d1
mov ecx, dword [esp + 0x28]
push ecx
push str.adb:_connect_error_for_finalize:__s_n
push eax
call fcn.00438580
add esp, 0xc
mov ebx, dword [esp + 4]
mov eax, dword [sym.imp.msvcrt.dll__errno]
call eax
mov edi, dword [eax]
cmp esi, 0xffffffff
je 0x4126fb
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
mov edi, dword [fcn.005379b0]
inc ebx
lea esi, [esp + 0xe8]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
sub ecx, eax
sar ecx, 2
cmp ebx, ecx
jb 0x412590
jmp 0x412761
lea ecx, [esp + 0x21]
push ecx
push str.adb:_connect_error_for_finalize:__s_n
push eax
call fcn.00438580
add esp, 0xc
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
cmp esi, 0xffffffff
je 0x412751
push esi
call fcn.0041a210
add esp, 4
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
mov dword [esp + 8], 1
test byte [esp + 0xe8], 1
je 0x41277a
push dword [esp + 0xf0]
call fcn.004fc300
add esp, 4
mov edi, dword [esp + 8]
test byte [esp + 0x50], 1
jne 0x412815
test byte [esp + 0x10], 1
jne 0x41282c
test byte [esp + 0x88], 1
jne 0x412846
test byte [esp + 0x7c], 1
je 0x4127b8
push dword [esp + 0x84]
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
je 0x411b0d
mov dword [esp + 0x74], eax
push eax
call fcn.004fc300
add esp, 4
test byte [esp + 0x20], 1
je 0x411b18
push dword [esp + 0x28]
call fcn.004fc300
add esp, 4
test byte [esp + 0xd0], 1
je 0x411b26
push dword [esp + 0xd8]
call fcn.004fc300
add esp, 4
test byte [esp + 0x34], 1
jne 0x411b2d
jmp 0x411b39
push dword [esp + 0x58]
call fcn.004fc300
add esp, 4
test byte [esp + 0x10], 1
je 0x412794
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
test byte [esp + 0x88], 1
je 0x4127a2
push dword [esp + 0x90]
call fcn.004fc300
add esp, 4
test byte [esp + 0x7c], 1
jne 0x4127a9
jmp 0x4127b8
lea ecx, [esp + 0x2e8]
call fcn.0053ebb0
lea ecx, [esp + 0x98]
call fcn.0053ebb0
lea ecx, [esp + 0xe8]
call fcn.0053ebb0
push str.need_APK_or_APEX_files_on_command_line
call fcn.0041b120
lea ecx, [esp + 0x10]
call fcn.0053ebb0
lea ecx, [esp + 0x40]
call fcn.0053ebb0
nop word cs:[eax + eax]
nop