Function at 0x140004e52
Capabilities:
Get mac address on windows

Disassembly:
push rbp
push rsi
push rbx
mov eax, 0x2e40
call fcn.140011980
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2de0], rcx
mov qword [rbp + 0x2de8], rdx
lea rax, str.08:00:27
mov qword [rbp + 0x2c00], rax
lea rax, str.00:05:69
mov qword [rbp + 0x2c08], rax
lea rax, str.00:0C:29
mov qword [rbp + 0x2c10], rax
lea rax, str.00:1C:14
mov qword [rbp + 0x2c18], rax
lea rax, str.00:50:56
mov qword [rbp + 0x2c20], rax
lea rax, str.00:1C:42
mov qword [rbp + 0x2c28], rax
lea rax, str.00:16:3E
mov qword [rbp + 0x2c30], rax
lea rax, [rbp + 0x2c00]
add rax, 0x38
lea rdx, [rbp + 0x2c3f]
mov qword [rbp + 0x2d98], rdx
nop
nop
lea r8, [rbp + 0x2c3f]
lea rdx, [rbp + 0x2c00]
lea rcx, [rbp + 0x2be0]
mov r9, r8
mov r8, rax
call method.std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.vector_char_const_const__void__char_const_const__cha
nop
mov dword [rbp - 0x24], 0x2c00
lea rdx, [rbp - 0x24]
lea rax, [rbp - 0x20]
mov rcx, rax
call sym.GetAdaptersInfo
mov dword [rbp + 0x2db0], eax
cmp dword [rbp + 0x2db0], 0
je 0x140004fd0
lea rax, [rbp + 0x2c40]
lea rdx, str.failed_to_get_network_adapter_information
mov rcx, rax
call dbg.std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::optional<char const (&) [42], true>(char const (&) [42])
lea rax, [rbp + 0x2c9f]
mov qword [rbp + 0x2d90], rax
nop
nop
lea rdx, [rbp + 0x2c9f]
lea rax, [rbp + 0x2c70]
mov r8, rdx
lea rdx, str.mac_address_checks
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rcx, [rbp + 0x2c40]
lea rdx, [rbp + 0x2c70]
mov rax, qword [rbp + 0x2de0]
mov r9d, 0
mov r8, rcx
mov rcx, rax
call method.protection::checks::base::CheckResult.CheckResult_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::optional_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______const__bool_
lea rax, [rbp + 0x2c70]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0x2c40]
mov rcx, rax
call dbg.std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~optional()
jmp 0x14000529d
lea rax, [rbp - 0x20]
mov qword [rbp + 0x2db8], rax
jmp 0x140005209
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()
mov dword [rbp + 0x2db4], 0
jmp 0x14000506d
mov rdx, qword [rbp + 0x2db8]
mov eax, dword [rbp + 0x2db4]
movzx eax, byte [rdx + rax + 0x198]
movzx edx, al
lea rax, [rbp - 0x27]
mov r9d, edx
lea r8, str._02X
mov edx, 3
mov rcx, rax
call dbg.snprintf
lea rdx, [rbp - 0x27]
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)
mov rax, qword [rbp + 0x2db8]
mov eax, dword [rax + 0x194]
sub eax, 1
cmp dword [rbp + 0x2db4], eax
jae 0x140005066
lea rax, [rbp - 0x60]
lea rdx, [0x1400ddc72]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator+=(char const*)
add dword [rbp + 0x2db4], 1
mov rax, qword [rbp + 0x2db8]
mov eax, dword [rax + 0x194]
cmp dword [rbp + 0x2db4], eax
jb 0x140004ff8
lea rax, [rbp + 0x2be0]
mov qword [rbp + 0x2da8], rax
mov rax, qword [rbp + 0x2da8]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::begin()
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x2da8]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::end()
mov qword [rbp - 0x38], rax
jmp 0x1400051c3
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator___const
mov qword [rbp + 0x2da0], rax
mov rdx, qword [rbp + 0x2da0]
lea rax, [rbp - 0x60]
mov r8d, 0
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long long) const
test rax, rax
sete al
test al, al
je 0x1400051b7
lea rax, [rbp + 0x2cd0]
lea rdx, [rbp - 0x60]
mov r8, rdx
lea rdx, str.detected_via_mac_address:
mov rcx, rax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____std::operator_char__std::char_traits_char___std.allocator_char____char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const_
lea rdx, [rbp + 0x2cd0]
lea rax, [rbp + 0x2ca0]
mov rcx, rax
call method.std::optional_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____::optional_std::__cxx11::basic_string_char__std::char_traits_char___std.allocator_char_____true__std::__cxx11::basic_string_char__std::char_traits_char__
lea rax, [rbp + 0x2d1f]
mov qword [rbp + 0x2d88], rax
nop
nop
lea rdx, [rbp + 0x2d1f]
lea rax, [rbp + 0x2cf0]
mov r8, rdx
lea rdx, str.mac_address_checks
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rcx, [rbp + 0x2ca0]
lea rdx, [rbp + 0x2cf0]
mov rax, qword [rbp + 0x2de0]
mov r9d, 1
mov r8, rcx
mov rcx, rax
call method.protection::checks::base::CheckResult.CheckResult_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::optional_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______const__bool_
lea rax, [rbp + 0x2cf0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0x2ca0]
mov rcx, rax
call dbg.std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~optional()
lea rax, [rbp + 0x2cd0]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
mov ebx, 0
jmp 0x1400051f4
lea rax, [rbp - 0x30]
mov rcx, rax
call sym.__gnu_cxx::__normal_iterator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::vector_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_____std::allocator_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_________::operator__
lea rdx, [rbp - 0x38]
lea rax, [rbp - 0x30]
mov rcx, rax
call sym._ZN9__gnu_cxxeqIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EES
xor eax, 1
test al, al
jne 0x1400050bf
mov rax, qword [rbp + 0x2db8]
mov rax, qword [rax]
mov qword [rbp + 0x2db8], rax
mov ebx, 1
lea rax, [rbp - 0x60]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
cmp ebx, 1
jne 0x14000529d
cmp qword [rbp + 0x2db8], 0
jne 0x140004fe0
lea rax, [rbp + 0x2d20]
mov edx, esi
mov rcx, rax
call dbg.std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::optional(std::nullopt_t)
lea rax, [rbp + 0x2d7f]
mov qword [rbp + 0x2d80], rax
nop
nop
lea rdx, [rbp + 0x2d7f]
lea rax, [rbp + 0x2d50]
mov r8, rdx
lea rdx, str.mac_address_checks
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)
lea rcx, [rbp + 0x2d20]
lea rdx, [rbp + 0x2d50]
mov rax, qword [rbp + 0x2de0]
mov r9d, 0
mov r8, rcx
mov rcx, rax
call method.protection::checks::base::CheckResult.CheckResult_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__std::optional_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char______const__bool_
lea rax, [rbp + 0x2d50]
mov rcx, rax
call dbg.std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()
nop
lea rax, [rbp + 0x2d20]
mov rcx, rax
call dbg.std::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~optional()
lea rax, [rbp + 0x2be0]
mov rcx, rax
call dbg.std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector()
jmp 0x140005372
mov rax, qword [rbp + 0x2de0]
add rsp, 0x2e40
pop rbx
pop rsi
pop rbp
ret