Function at 0x421fe0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
sub esp, 0x28c
mov dword [esp], str.ANDROID_SDK_HOME
lea ebx, [ebp - 0x220]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x25c], 0x516f3c
call fcn.00415d40
test eax, eax
mov edi, eax
je 0x4221d0
test byte [0x561ee1], 4
jne 0x422113
mov dword [esp + 0x10], str..android
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x51fb39
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call fcn.00421fb0
cmp eax, 0x103
jg 0x42210c
lea eax, [ebp - 0x250]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00415510
test eax, eax
jne 0x4220b3
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], esi
mov dword [esp + 0x10], str.adbkey
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x51fb39
mov dword [esp], eax
call fcn.00421fb0
mov esi, eax
mov edx, dword [ebp - 0x25c]
lea ebx, [edx - 0xc]
cmp ebx, 0x516f30
jne 0x4223e0
lea esp, [ebp - 0xc]
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x25d]
lea edi, [ebp - 0x254]
mov ecx, edi
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004dd150
sub esp, 8
mov dword [esp + 4], 0x1e8
mov dword [esp], edi
call fcn.004157a0
mov edx, eax
mov eax, dword [ebp - 0x254]
lea ecx, [eax - 0xc]
cmp ecx, 0x516f30
jne 0x422406
test edx, edx
jns 0x42206c
test byte [0x561ee1], 4
jne 0x422250
mov esi, 0xffffffff
jmp 0x422094
mov edx, dword [sym.imp.msvcrt.dll__errno]
mov dword [ebp - 0x274], edx
call edx
mov eax, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], str.home__s
mov dword [esp], ebx
mov dword [ebp - 0x270], eax
call fcn.0042a1c0
lea ecx, [ebp - 0x250]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0x145
mov dword [esp], str.system_core_adb_adb_auth_host.cpp
call fcn.0042a560
lea ecx, [ebp - 0x250]
sub esp, 0x14
call fcn.0042a6d0
mov ecx, dword [ebp - 0x220]
mov edx, dword [ecx - 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.00505c10
lea ecx, [ebp - 0x250]
call fcn.0042a790
mov eax, dword [ebp - 0x220]
mov edx, dword [ebp - 0x274]
lea ecx, [eax - 0xc]
cmp ecx, 0x516f30
jne 0x422448
call edx
mov ecx, dword [ebp - 0x270]
mov dword [eax], ecx
jmp 0x422027
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x28
mov dword [esp], 0
call dword [sym.imp.SHELL32.DLL_SHGetFolderPathW]
sub esp, 0x14
test eax, eax
mov edi, eax
js 0x4222fc
lea edi, [ebp - 0x250]
mov dword [esp], edi
mov dword [esp + 4], ebx
call fcn.00410390
lea ecx, [ebp - 0x25c]
mov dword [esp], edi
call fcn.004dbcb0
mov eax, dword [ebp - 0x250]
lea edi, [eax - 0xc]
sub esp, 4
cmp edi, 0x516f30
jne 0x422490
mov edi, dword [ebp - 0x25c]
jmp 0x42201a
mov edx, dword [sym.imp.msvcrt.dll__errno]
mov dword [ebp - 0x26c], edx
call edx
mov esi, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Cannot_mkdir__s
mov dword [esp], edi
call fcn.0042a1c0
lea ecx, [ebp - 0x258]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0x14d
mov dword [esp], str.system_core_adb_adb_auth_host.cpp
call fcn.0042a560
lea ecx, [ebp - 0x258]
sub esp, 0x14
call fcn.0042a6d0
mov ecx, dword [ebp - 0x254]
mov ebx, dword [ecx - 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], ebx
call fcn.00505c10
lea ecx, [ebp - 0x258]
call fcn.0042a790
mov eax, dword [ebp - 0x254]
mov edx, dword [ebp - 0x26c]
lea ebx, [eax - 0xc]
cmp ebx, 0x516f30
jne 0x4224b6
call edx
mov dword [eax], esi
jmp 0x42210c
test byte [0x561ee1], 4
je 0x42210c
mov esi, dword [sym.imp.msvcrt.dll__errno]
lea ebx, [ebp - 0x258]
call esi
mov edx, dword [eax]
lea eax, [ebp - 0x254]
mov dword [esp + 4], edi
lea edi, [ebp - 0x250]
mov dword [esp], eax
mov dword [ebp - 0x26c], edx
call fcn.004104a0
mov eax, dword [ebp - 0x254]
mov dword [esp + 4], str.SHGetFolderPathW_failed:__s
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.0042a1c0
mov ecx, ebx
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0x137
mov dword [esp], str.system_core_adb_adb_auth_host.cpp
call fcn.0042a560
mov ecx, ebx
sub esp, 0x14
call fcn.0042a6d0
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx - 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], edx
call fcn.00505c10
mov ecx, ebx
call fcn.0042a790
mov eax, dword [ebp - 0x250]
mov dword [esp], ebx
lea ecx, [eax - 0xc]
call fcn.004dba40
mov eax, dword [ebp - 0x254]
lea ecx, [eax - 0xc]
sub esp, 4
mov dword [esp], edi
call fcn.004dba40
sub esp, 4
call esi
mov edx, dword [ebp - 0x26c]
mov dword [eax], edx
jmp 0x42210c
lea eax, [edx - 4]
call fcn.0050e190
test eax, eax
jg 0x4220a9
lea eax, [ebp - 0x254]
mov ecx, ebx
mov dword [esp], eax
call fcn.004dba20
push eax
jmp 0x4220a9
sub eax, 4
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], edx
call fcn.0050e190
mov edx, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x274]
test eax, eax
jg 0x4220f7
lea eax, [ebp - 0x258]
mov dword [esp], eax
call fcn.004dba20
mov edx, dword [ebp - 0x270]
push ecx
jmp 0x4220f7
sub eax, 4
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], ecx
call fcn.0050e190
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x278]
test eax, eax
jg 0x4221bc
lea eax, [ebp - 0x250]
mov dword [esp], eax
mov dword [ebp - 0x274], edx
call fcn.004dba20
mov edx, dword [ebp - 0x274]
push eax
jmp 0x4221bc
sub eax, 4
call fcn.0050e190
test eax, eax
jg 0x42223e
lea eax, [ebp - 0x254]
mov ecx, edi
mov dword [esp], eax
call fcn.004dba20
push eax
jmp 0x42223e
sub eax, 4
call fcn.0050e190
mov edx, dword [ebp - 0x26c]
test eax, eax
jg 0x4222f3
lea eax, [ebp - 0x258]
mov ecx, ebx
mov dword [esp], eax
call fcn.004dba20
push edx
mov edx, dword [ebp - 0x26c]
jmp 0x4222f3