Function at 0x43dc20
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esp], eax
call dbg.android::base::SetLogger(std::function<void (android::base::LogId, android::base::LogSeverity, char const*, char const*, unsigned int, char const*)>&&)
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dbg.android::base::SetAborter(std::function<void (char const*)>&&)
cmp byte [0x5bc2f4], 0
jne 0x43de9d
test ebx, ebx
mov byte [0x5bc2f4], 1
je 0x43dc95
mov eax, dword [ebx]
lea ebx, [ebp - 0x24]
mov dword [esp], eax
call dbg.basename
lea edx, [ebp - 0x2c]
mov ecx, ebx
mov dword [esp + 4], edx
mov dword [esp], eax
call dbg.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)
sub esp, 8
mov dword [esp], ebx
call dbg.android::base::SetDefaultTag(std::string const&)
mov eax, dword [ebp - 0x24]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
jne 0x43dfb1
mov dword [esp], str.ANDROID_LOG_TAGS
call sym._getenv
test eax, eax
mov ebx, eax
mov dword [ebp - 0x40], eax
je 0x43de9d
lea eax, [ebp - 0x2e]
lea edi, [ebp - 0x28]
mov dword [esp + 4], eax
mov ecx, edi
mov dword [esp], 0x570f90
lea esi, [ebp - 0x2c]
call dbg.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)
lea eax, [ebp - 0x2f]
mov ecx, esi
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
call dbg.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)
lea eax, [ebp - 0x24]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 8], edi
mov dword [esp + 4], esi
call dbg.android::base::Split(std::string const&, std::string const&)
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
jne 0x43df72
mov eax, dword [ebp - 0x28]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
jne 0x43df93
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov ecx, edx
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x43de8a
xor ebx, ebx
jmp 0x43de14
cmp dword [0x560028], 6
jg 0x43ddee
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, edi
mov edx, dword [eax]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 6
mov dword [esp + 8], 0
mov dword [esp + 4], 0x149
mov dword [esp], str.system_core_base_logging.cpp
mov dword [ebp - 0x3c], edx
call dbg.android::base::LogMessage::LogMessage(char const*, unsigned int, android::base::LogId, android::base::LogSeverity, char const*, int)
mov eax, dword [ebp - 0x28]
sub esp, 0x18
mov dword [esp + 4], str.unsupported_
mov dword [esp], eax
call dbg.std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx - 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], edx
call dbg.std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int)
mov dword [esp + 4], str._in_ANDROID_LOG_TAGS__
mov dword [esp], eax
call dbg.std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
mov edx, dword [ebp - 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
call dbg.std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
mov dword [esp + 4], 0x570fd8
mov dword [esp], eax
call dbg.std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)
mov ecx, edi
call dbg.android::base::LogMessage::~LogMessage()
call dword [sym.imp.msvcrt.dll__errno]
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 0xc]
cmp ecx, 0x566310
jne 0x43df5b
mov edx, dword [ebp - 0x20]
add ebx, 1
mov eax, dword [ebp - 0x24]
mov ecx, edx
sub ecx, eax
sar ecx, 2
cmp ebx, ecx
jae 0x43de8a
lea eax, [eax + ebx*4]
mov ecx, esi
mov dword [esp], eax
call dbg.std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)
mov eax, dword [ebp - 0x2c]
sub esp, 4
cmp dword [eax - 0xc], 3
jne case.0x43de6f.3
mov dword [esp + 4], 0x570f92
mov dword [esp], esi
call dbg.android::base::StartsWith(std::string const&, char const*)
test al, al
je case.0x43de6f.3
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx - 4]
test eax, eax
js 0x43de5d
mov ecx, esi
call dbg.std::string::_M_leak_hard()
mov edx, dword [ebp - 0x2c]
movzx eax, byte [edx + 2]
sub eax, 0x64
cmp al, 0x13
ja case.0x43de6f.3
movzx eax, al
jmp dword [eax*4 + 0x570fdc]
mov ebx, dword [eax]
lea ecx, [ebx - 0xc]
cmp ecx, 0x566310
jne 0x43df2f
add eax, 4
cmp edx, eax
jne 0x43de76
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x43de9d
mov dword [esp], eax
call dbg.operator delete(void*)
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [0x560028], 5
lea ecx, [edx - 0xc]
cmp ecx, 0x566310
je 0x43de00
mov eax, 0xffffffff
lock xadd dword [edx - 4], eax
test eax, eax
jg 0x43de00
mov dword [esp], edi
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push ecx
jmp 0x43de00
mov dword [0x560028], 2
jmp 0x43deaf
mov dword [0x560028], 3
jmp 0x43deaf
mov dword [0x560028], 4
jmp 0x43deaf
mov dword [0x560028], 1
jmp 0x43deaf
mov dword [0x560028], 0
jmp 0x43deaf
mov esi, 0xffffffff
lock xadd dword [ebx - 4], esi
test esi, esi
jg 0x43de87
mov dword [esp], edi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
mov eax, dword [ebp - 0x3c]
push edx
mov edx, dword [ebp - 0x40]
jmp 0x43de87
mov edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x43de00
jmp 0x43ded0
or edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x43dd05
lea eax, [ebp - 0x2d]
mov dword [esp], eax
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push eax
jmp 0x43dd05
or edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x43dd17
mov dword [esp], esi
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push ebx
jmp 0x43dd17
or edx, 0xffffffff
lock xadd dword [eax - 4], edx
test edx, edx
jg 0x43dc95
lea eax, [ebp - 0x28]
mov dword [esp], eax
call dbg.std::string::_Rep::_M_destroy(std::allocator<char> const&)
push eax
jmp 0x43dc95