Function at 0x140015820
Capabilities:
Get mac address on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x100]
sub rsp, 0x200
mov rax, qword [0x14005e8d8]
xor rax, rsp
mov qword [rbp + 0xf0], rax
mov r14, rdx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x60], rdx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm0
mov dword [rdx], r12d
mov qword [rdx + 8], r12
mov qword [rdx + 0x10], r12
lea ecx, [r12 + 0x50]
call fcn.14001a09c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [r14 + 8], rax
lea rcx, [r14 + 0x18]
mov qword [rcx], r12
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov qword [r14 + 0x30], 7
mov qword [r14 + 0x38], 8
mov dword [r14], 0x3f800000
mov r8, qword [r14 + 8]
lea edx, [r12 + 0x10]
call fcn.140013690
nop
mov edi, 1
mov dword [rsp + 0x20], edi
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 0x10]
call fcn.14001c930
mov edx, edi
lea rcx, [rbp - 0x10]
call fcn.1400026f0
nop
mov qword [rbp - 0x20], r12
mov r13d, 0xf
mov qword [rbp - 0x18], r13
mov byte [rbp - 0x30], r12b
mov dword [rbp - 0x38], 0x2c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x2c0
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x140015950
lea rdx, str.Error_allocating_memory_needed_to_call_GetAdaptersinfo
lea rcx, [0x14005e850]
call fcn.140001dd0
mov rcx, rax
call fcn.14000b280
lea rdx, [rbp - 0x38]
mov rcx, rsi
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
cmp eax, 0x6f
jne 0x1400159b5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rsi, rax
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400159b5
lea rdx, str.Error_allocating_memory_needed_to_call_GetAdaptersinfo_n
lea rcx, [0x14005e850]
call fcn.140001dd0
mov rcx, rax
call fcn.14000b280
lea rdx, [rbp - 0x38]
mov rcx, rsi
call qword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
mov ebx, eax
test eax, eax
jne 0x140015e92
mov r15, rsi
test rsi, rsi
je 0x140015ed8
mov rsi, qword [rbp - 0x30]
nop dword [rax]
mov ebx, r12d
cmp dword [r15 + 0x194], 0
jbe 0x140015a81
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov byte [rbp + rcx + 0x58], 0x30
mov edx, 2
lea rcx, [rbp - 0x58]
call fcn.140019674
mov rdx, qword [rax + 8]
mov r8, qword [rax]
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
lea rax, [rbp]
add rcx, rax
call r8
mov rax, qword [rbp]
movsxd rcx, dword [rax + 4]
mov eax, dword [rbp + rcx + 0x18]
and eax, 0xfffff9ff
bts eax, 0xb
mov dword [rbp + rcx + 0x18], eax
mov eax, ebx
movzx edx, byte [rax + r15 + 0x198]
lea rcx, [rbp]
call fcn.1400120e0
mov ecx, dword [r15 + 0x194]
lea eax, [rcx - 1]
cmp ebx, eax
je 0x140015a77
lea rdx, [0x140044a80]
lea rcx, [rbp]
call fcn.140001dd0
mov ecx, dword [r15 + 0x194]
inc ebx
cmp ebx, ecx
jb 0x1400159f1
mov qword [rbp - 0x78], r12
mov r12d, 0xf
mov qword [rbp - 0x70], r12
mov byte [rsp + 0x78], 0
or edi, 4
mov dword [rsp + 0x20], edi
mov ecx, dword [rbp + 0x78]
test cl, 2
jne 0x140015ac4
mov rax, qword [rbp + 0x48]
mov r8, qword [rax]
test r8, r8
je 0x140015ac4
mov rax, qword [rbp + 0x28]
mov rdx, qword [rax]
cmp r8, qword [rbp + 0x70]
cmovb r8, qword [rbp + 0x70]
sub r8, rdx
jmp 0x140015ae9
test cl, 4
jne 0x140015af7
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x140015af7
mov rax, qword [rbp + 0x20]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x58]
movsxd r8, dword [rax]
sub r8, rdx
add r8, rcx
lea rcx, [rsp + 0x78]
call fcn.140005090
mov r12, qword [rbp - 0x70]
and edi, 0xfffffffb
or edi, 2
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x20], edi
cmp r13, 0x10
jb 0x140015b3c
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140015b34
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f6a
mov rcx, rsi
call fcn.14001a0d8
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rbp - 0x30], xmm0
movups xmm1, xmmword [rbp - 0x78]
movups xmmword [rbp - 0x20], xmm1
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
xor r8d, r8d
lea rdx, [0x140044718]
lea rcx, [rsp + 0x30]
call fcn.140005090
nop
lea rcx, [rbp + 8]
call fcn.140004ed0
lea r13, [rsp + 0x30]
mov r14, qword [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r13, r14
mov esi, dword [rbp + 0x78]
mov rdi, qword [rsp + 0x40]
cmp rdi, 0x7fffffff
ja 0x140015f70
test rdi, rdi
je 0x140015c81
mov eax, esi
and eax, 6
cmp al, 6
je 0x140015c81
cmp rdi, 0x1000
jb 0x140015bf0
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x140015f58
call fcn.14001a09c
test rax, rax
je 0x140015f52
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x140015bfb
mov rcx, rdi
call fcn.14001a09c
mov rbx, rax
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.14001c520
lea rdx, [rdi + rbx]
mov qword [rbp + 0x70], rdx
mov r8d, esi
and r8d, 4
mov r9d, ebx
jne 0x140015c37
mov rax, qword [rbp + 0x20]
mov qword [rax], rbx
mov rax, qword [rbp + 0x40]
mov qword [rax], rbx
sub edx, ebx
mov rax, qword [rbp + 0x58]
mov dword [rax], edx
mov rdx, qword [rbp + 0x70]
test sil, 2
jne 0x140015c7c
test sil, 0x18
mov rcx, rdx
cmove rcx, rbx
mov rax, qword [rbp + 0x28]
mov qword [rax], rbx
mov rax, qword [rbp + 0x48]
mov qword [rax], rcx
sub edx, ecx
mov rax, qword [rbp + 0x60]
mov dword [rax], edx
test r8d, r8d
je 0x140015c7c
mov rax, qword [rbp + 0x20]
mov qword [rax], rbx
mov rax, qword [rbp + 0x40]
mov qword [rax], 0
mov rax, qword [rbp + 0x58]
mov dword [rax], r9d
or esi, 1
jmp 0x140015c85
mov qword [rbp + 0x70], rbx
mov dword [rbp + 0x78], esi
mov rax, qword [rsp + 0x48]
cmp rax, 0x10
jb 0x140015cc4
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x140015cbc
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f6a
mov rcx, r14
call fcn.14001a0d8
lea rbx, [rbp - 0x30]
cmp r12, 0x10
cmovae rbx, qword [rsp + 0x78]
lea rcx, [rbp - 0x30]
cmovae rcx, qword [rsp + 0x78]
mov rdi, qword [rbp - 0x78]
add rdi, rcx
cmp rbx, rdi
je 0x140015cfa
movsx ecx, byte [rbx]
call fcn.140029a24
mov byte [rbx], al
inc rbx
cmp rbx, rdi
jne 0x140015ce8
lea rdx, [r15 + 0x110]
xor r12d, r12d
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], r12b
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdx + r8], r12b
jne 0x140015d20
lea rcx, [rsp + 0x30]
call fcn.140005090
nop
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
lea r14, [rbp - 0x30]
mov rsi, qword [rbp - 0x30]
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
cmovae r14, rsi
mov rdi, qword [rbp - 0x20]
cmp rdi, 0x10
jae 0x140015d70
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x68], 0xf
jmp 0x140015dec
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140015dc4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140015f64
mov rcx, rax
call fcn.14001a09c
mov rcx, rax
test rax, rax
je 0x140015f5e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x140015dd3
test rcx, rcx
je 0x140015dd0
call fcn.14001a09c
jmp 0x140015dd3
mov rax, r12
mov qword [rsp + 0x50], rax
lea r8, [rdi + 1]
mov rdx, r14
mov rcx, rax
call fcn.14001c520
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rdi
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x48]
mov r14, qword [rbp - 0x68]
mov rcx, r14
call fcn.140011860
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x140015e44
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e3f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f6a
call fcn.14001a0d8
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140015e81
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015e7c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f6a
call fcn.14001a0d8
mov r15, qword [r15]
test r15, r15
je 0x140015ec0
mov edi, dword [rsp + 0x24]
jmp 0x1400159e0
lea rdx, str.GetAdaptersInfo_failed_with_error:
lea rcx, [0x14005e850]
call fcn.140001dd0
mov edx, ebx
mov rcx, rax
call fcn.1400122e0
mov rcx, rax
call fcn.14000b280
test rsi, rsi
je 0x140015ed8
mov rsi, qword [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, qword [rsp + 0x70]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x140015edc
mov rsi, qword [rbp - 0x30]
cmp r13, 0x10
jb 0x140015f10
lea rdx, [r13 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140015f07
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015f4c
mov rcx, rsi
call fcn.14001a0d8
nop
lea rcx, [rbp - 0x10]
call fcn.1400033b0
mov rax, r14
mov rcx, qword [rbp + 0xf0]
xor rcx, rsp
call fcn.14001a6e0
lea r11, [rsp + 0x200]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14002080c
nop
call fcn.14002080c
int3
call fcn.140004e90
nop
call fcn.14002080c
int3
call fcn.140004e90
nop
call fcn.14002080c
nop
call fcn.140016b34
int3