Function at 0x14017a610
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.14002e610
xorps xmm0, xmm0
movdqu xmmword [rbp - 9], xmm0
mov qword [rbp + 7], r13
lea rcx, [rbp - 9]
call fcn.14017b0d0
test eax, eax
je 0x14017aad2
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 0x14017aad2
lea rdx, [rbp + 0x77]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x14017a6db
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 0x14017aad2
mov dword [rbp + 0x7f], 1
lea rdx, [rbp + 0x77]
mov rcx, rbx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x14017aaae
mov r12, rbx
test rbx, rbx
je 0x14017aac7
mov rbx, qword [rbp - 0x29]
nop word [rax + rax]
mov rdi, qword [rbp - 9]
cmp rdi, qword [rbp - 1]
je 0x14017aa99
nop
cmp dword [r12 + 0x194], 6
jne 0x14017a864
lea r14, [r12 + 0xc]
call fcn.14000b190
test rax, rax
je 0x14017ab5b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + SafeArrayCopy]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x29], rbx
test r14, r14
je 0x14017a7f3
cmp r14, 0x10000
jae 0x14017a77b
movzx edx, r14w
lea rcx, [rbp - 0x29]
call fcn.14000b690
mov rbx, qword [rbp - 0x29]
jmp 0x14017a843
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 0x14017a7f3
mov edx, 1
sub edx, dword [rbx - 8]
mov ecx, dword [rbx - 0xc]
sub ecx, esi
or ecx, edx
jge 0x14017a7c0
mov edx, esi
lea rcx, [rbp - 0x29]
call fcn.14000bdf0
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 0x14017ab6c
mov dword [rbx - 0x10], esi
movsxd rax, esi
mov word [rbx + rax*2], r13w
jmp 0x14017a843
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x14017a843
cmp dword [rdx + 0x10], 0
jge 0x14017a81a
cmp dword [rbx - 0xc], 0
jl 0x14017ab6c
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14017a843
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017a832
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 + SafeArrayCopy]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x29], rbx
or dword [rbp + 0x6f], 1
test rbx, rbx
je 0x14017ab77
mov rdx, rbx
mov rcx, qword [rdi]
call fcn.140299718
test eax, eax
jne 0x14017a864
mov sil, 1
jmp 0x14017a867
xor sil, sil
test byte [rbp + 0x6f], 1
je 0x14017a891
and dword [rbp + 0x6f], 0xfffffffe
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017a88d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x29]
test sil, sil
je 0x14017aa8b
mov r15d, r13d
mov eax, dword [r12 + 0x1a4]
cmp eax, 0x47
je 0x14017a8e7
cmp eax, 6
jne 0x14017aa8b
lea rdx, str.wifi
lea rcx, [r12 + 0x110]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
jne 0x14017a8e7
lea rdx, str.wireless
lea rcx, [r12 + 0x110]
call qword [sym.imp.SHLWAPI.dll_StrStrIA]
test rax, rax
je 0x14017a8ed
mov r15d, 1
mov esi, dword [rbp + 0x7f]
test esi, esi
jne 0x14017a8fd
test r15d, r15d
jne 0x14017aa8b
call fcn.14000b190
mov rcx, rax
test rax, rax
je 0x14017ab5b
mov rax, qword [rax]
call qword [rax + SafeArrayCopy]
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.1400b74c0
mov rax, qword [rbp + 0x67]
mov rdx, qword [rax]
mov rbx, qword [rbp - 0x21]
cmp dword [rdx - 0x10], 0
je 0x14017a9ab
cmp esi, 1
jne 0x14017a98e
test r15d, r15d
je 0x14017a9ab
test rdx, rdx
je 0x14017ab82
mov rcx, rbx
call fcn.1402a3bb0
test eax, eax
jns 0x14017aa67
mov rax, qword [rbp + 0x67]
lea rsi, [rbx - 0x18]
mov r14, qword [rax]
sub r14, 0x18
cmp rsi, r14
je 0x14017aa67
cmp dword [r14 + 0x10], 0
jl 0x14017aa58
mov rcx, qword [rsi]
cmp rcx, qword [r14]
jne 0x14017aa58
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rsi + 0x10], 0
jl 0x14017a9f3
cmp rax, qword [rsi]
jne 0x14017a9f3
mov rbx, rsi
lock inc dword [rsi + 0x10]
jmp 0x14017aa2b
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rsi + 8]
call qword [rax]
mov rbx, rax
test rax, rax
je 0x14017ab8d
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.140015050
mov eax, 0xffffffff
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jg 0x14017aa47
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 0x14017aa67
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, rax
call fcn.14002edf0
mov dword [rbp + 0x7f], r15d
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017aa87
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 0x14017a720
mov r12, qword [r12]
test r12, r12
jne 0x14017a710
mov rdi, qword [rbp + 0x67]
mov rbx, qword [rbp - 0x19]
test rbx, rbx
je 0x14017aac7
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 0x14017ab44
mov rdi, qword [rbp - 1]
cmp rbx, rdi
je 0x14017ab0c
mov rdx, qword [rbx]
sub rdx, 0x18
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14017ab03
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rbx, 8
cmp rbx, rdi
jne 0x14017aae4
mov rdx, qword [rbp + 7]
mov rbx, qword [rbp - 9]
sub rdx, rbx
and rdx, 0xfffffffffffffff8
mov rax, rbx
cmp rdx, 0x1000
jb 0x14017ab3c
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14017ab66
mov rcx, rbx
call fcn.140171af0
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.14000adf0
nop
call fcn.14028c66c
nop
mov ecx, 0x80070057
call fcn.14000adf0
nop
mov ecx, 0x80004005
call fcn.14000adf0
nop
mov ecx, 0x80004005
call fcn.14000adf0
int3
call fcn.14000bf60
int3