Function at 0x18007f830
Capabilities:
Get mac address on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x88
mov qword [rbp - 0x11], 0xfffffffffffffffe
mov rdi, rcx
xor r13d, r13d
mov dword [rbp + 0x6f], r13d
call fcn.18007de60
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r13
lea rcx, [rbp - 9]
call fcn.1800802f0
test eax, eax
je 0x18007fcf2
mov dword [rbp + 0x77], 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 rbx, rax
mov qword [rbp - 0x19], rax
test rax, rax
je 0x18007fcf2
lea rdx, [rbp + 0x77]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x18007f8fb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov ebx, dword [rbp + 0x77]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8d, ebx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov qword [rbp - 0x19], rax
test rax, rax
je 0x18007fcf2
mov dword [rbp + 0x7f], 1
lea rdx, [rbp + 0x77]
mov rcx, rbx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x18007fcce
mov r12, rbx
test rbx, rbx
je 0x18007fce7
mov rbx, qword [rbp - 0x29]
nop word [rax + rax]
mov rdi, qword [rbp - 9]
cmp rdi, qword [rbp - 1]
je 0x18007fcb9
nop
cmp dword [r12 + 0x194], 6
jne 0x18007fa84
lea r14, [r12 + 0xc]
call fcn.180011c30
test rax, rax
je 0x18007fd7b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x29], rbx
test r14, r14
je 0x18007fa13
cmp r14, 0x10000
jae 0x18007f99b
movzx edx, r14w
lea rcx, [rbp - 0x29]
call fcn.180012460
mov rbx, qword [rbp - 0x29]
jmp 0x18007fa63
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r13
mov r9d, 0xffffffff
mov r8, r14
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea esi, [rax - 1]
test esi, esi
jle 0x18007fa13
mov edx, 1
sub edx, dword [rbx - 8]
mov ecx, dword [rbx - 0xc]
sub ecx, esi
or ecx, edx
jge 0x18007f9e0
mov edx, esi
lea rcx, [rbp - 0x29]
call fcn.1800125f0
mov rbx, qword [rbp - 0x29]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
mov r9d, 0xffffffff
mov r8, r14
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp esi, dword [rbx - 0xc]
jg 0x18007fd8c
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r13w
jmp 0x18007fa63
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x18007fa63
cmp dword [rdx + 0x10], 0
jge 0x18007fa3a
cmp dword [rbx - 0xc], 0
jl 0x18007fd8c
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x18007fa63
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18007fa52
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x29], rbx
or dword [rbp + 0x6f], 1
test rbx, rbx
je 0x18007fd97
mov rdx, rbx
mov rcx, qword [rdi]
call fcn.1800a540c
test eax, eax
jne 0x18007fa84
mov sil, 1
jmp 0x18007fa87
xor sil, sil
test byte [rbp + 0x6f], 1
je 0x18007fab1
and dword [rbp + 0x6f], 0xfffffffe
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18007faad
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x29]
test sil, sil
je 0x18007fcab
mov r15d, r13d
mov eax, dword [r12 + 0x1a4]
cmp eax, 0x47
je 0x18007fb07
cmp eax, 6
jne 0x18007fcab
lea rdx, str.wifi
lea rcx, [r12 + 0x110]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x18007fb07
lea rdx, str.wireless
lea rcx, [r12 + 0x110]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x18007fb0d
mov r15d, 1
mov esi, dword [rbp + 0x7f]
test esi, esi
jne 0x18007fb1d
test r15d, r15d
jne 0x18007fcab
call fcn.180011c30
mov rcx, rax
test rax, rax
je 0x18007fd7b
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x21], rax
movzx eax, byte [r12 + 0x19d]
movzx ecx, byte [r12 + 0x19c]
movzx edx, byte [r12 + 0x19b]
movzx r10d, byte [r12 + 0x19a]
movzx r9d, byte [r12 + 0x199]
movzx r8d, byte [r12 + 0x198]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], r10d
lea rdx, str._02X_02X_02X_02X_02X_02X
lea rcx, [rbp - 0x21]
call fcn.18007dee0
mov rax, qword [rbp + 0x67]
mov rdx, qword [rax]
mov rbx, qword [rbp - 0x21]
cmp dword [rdx - 0x10], 0
je 0x18007fbcb
cmp esi, 1
jne 0x18007fbae
test r15d, r15d
je 0x18007fbcb
test rdx, rdx
je 0x18007fda2
mov rcx, rbx
call fcn.1800b8728
test eax, eax
jns 0x18007fc87
mov rax, qword [rbp + 0x67]
lea rsi, [rbx - 0x18]
mov r14, qword [rax]
sub r14, 0x18
cmp rsi, r14
je 0x18007fc87
cmp dword [r14 + 0x10], 0
jl 0x18007fc78
mov rcx, qword [rsi]
cmp rcx, qword [r14]
jne 0x18007fc78
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rsi + 0x10], 0
jl 0x18007fc13
cmp rax, qword [rsi]
jne 0x18007fc13
mov rbx, rsi
lock inc dword [rsi + 0x10]
jmp 0x18007fc4b
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rsi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x18007fdad
mov eax, dword [rsi + 8]
mov dword [rbx + 8], eax
mov ecx, dword [rsi + 8]
inc ecx
movsxd rdx, ecx
lea r8, [rsi + 0x18]
lea rcx, [rbx + 0x18]
mov r9, rdx
call fcn.180012740
mov eax, 0xffffffff
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x18007fc67
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov rcx, qword [rbp + 0x67]
mov qword [rcx], rax
mov rbx, qword [rbp - 0x21]
jmp 0x18007fc87
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, rax
call fcn.180080a50
mov dword [rbp + 0x7f], r15d
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18007fca7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x29]
add rdi, 8
cmp rdi, qword [rbp - 1]
jne 0x18007f940
mov r12, qword [r12]
test r12, r12
jne 0x18007f930
mov rdi, qword [rbp + 0x67]
mov rbx, qword [rbp - 0x19]
test rbx, rbx
je 0x18007fce7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rax, qword [rdi]
cmp dword [rax - 0x10], 0
setne r13b
mov rbx, qword [rbp - 9]
test rbx, rbx
je 0x18007fd64
mov rdi, qword [rbp - 1]
cmp rbx, rdi
je 0x18007fd2c
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x18007fd23
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 8
cmp rbx, rdi
jne 0x18007fd04
mov rdx, qword [rbp + 7]
mov rbx, qword [rbp - 9]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x18007fd5c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18007fd86
mov rcx, rbx
call fcn.180050640
mov eax, r13d
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.180010480
nop
call fcn.18009e27c
nop
mov ecx, 0x80070057
call fcn.180010480
nop
mov ecx, 0x80004005
call fcn.180010480
nop
mov ecx, 0x80004005
call fcn.180010480
int3
call fcn.1800126a0
int3