Function at 0x140020520
Capabilities:
Get mac address on windows

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov esi, ecx
lea rdx, [rbp + 0x6f]
xor ebx, ebx
xor ecx, ecx
mov qword [rbp + 0x77], rbx
xor r13d, r13d
mov dword [rbp + 0x6f], ebx
xor r12d, r12d
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x14002058e
mov eax, dword [rbp + 0x6f]
imul rcx, rax, 0x2c0
call fcn.14002fc3c
mov qword [rbp + 0x77], rax
mov rbx, rax
test rax, rax
jne 0x140020582
add rsp, 0xb0
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rbp + 0x6f]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x140020b13
mov qword [rsp + 0xa0], r15
test rbx, rbx
je 0x140020b0b
lea ecx, [rax + 0x20]
mov r15, rbx
call fcn.14002fc3c
mov r13, rax
test rax, rax
je 0x140020b0b
mov rcx, rax
call fcn.1400046a0
test al, al
je 0x140020b0b
test esi, esi
je 0x1400205f8
mov ecx, 0x20
call fcn.14002fc3c
mov r12, rax
test rax, rax
je 0x140020b0b
mov rcx, rax
call fcn.1400046a0
test al, al
je 0x140020b0b
mov qword [rsp + 0xf8], rdi
mov ebx, 3
mov qword [rsp + 0xa8], r14
nop dword [rax]
mov edx, 0x80
lea ecx, [rdx - 0x7f]
call fcn.14002f9e8
mov r14, rax
test rax, rax
je 0x140020aeb
lea rcx, [r15 + 0x110]
call fcn.140006ea0
mov qword [r14], rax
mov edx, dword [r15 + 0x1a4]
cmp edx, 6
je 0x140020655
cmp edx, 0x47
mov ecx, 1
cmovne ecx, ebx
mov dword [r14 + 0x70], ecx
jmp 0x14002065d
mov dword [r14 + 0x70], 0
mov eax, dword [r15 + 0x1a0]
lea rcx, [r15 + 0x1c0]
mov dword [r14 + 0x74], eax
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rcx + rdx], 0
jne 0x140020676
test rdx, rdx
je 0x140020690
inc rdx
call fcn.140006f30
mov qword [r14 + 8], rax
lea rcx, [r15 + 0x1d0]
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [rcx + rdx], 0
jne 0x1400206a0
test rdx, rdx
je 0x1400206ba
inc rdx
call fcn.140006f30
mov qword [r14 + 0x18], rax
mov ecx, 0x24
call fcn.14002fc3c
mov qword [r14 + 0x20], rax
test rax, rax
je 0x140020728
movzx ecx, byte [r15 + 0x19d]
movzx edx, byte [r15 + 0x19c]
movzx r8d, byte [r15 + 0x19b]
movzx r10d, byte [r15 + 0x19a]
movzx r11d, byte [r15 + 0x199]
movzx r9d, byte [r15 + 0x198]
mov dword [rsp + 0x40], ecx
mov rcx, rax
mov dword [rsp + 0x38], edx
mov edx, setsockopt
mov dword [rsp + 0x30], r8d
lea r8, [0x140069628]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call fcn.140008750
cmp dword [r15 + 0x1a8], 0
mov rdx, 0xffffffffffffffff
setne al
mov byte [r14 + 0x78], al
nop
inc rdx
cmp byte [r15 + rdx + 0x1f0], 0
jne 0x140020740
test rdx, rdx
je 0x140020804
inc rdx
lea rcx, [r15 + 0x1f0]
call fcn.140006f30
mov qword [r14 + 0x50], rax
mov r11, rax
test esi, esi
je 0x140020804
mov r10, qword [r12 + 8]
xor ebx, ebx
test r10, r10
je 0x1400207c8
mov rsi, qword [r12]
mov r9, rsi
nop dword [rax + rax]
mov rax, qword [r9]
mov r8, r11
mov rcx, qword [rax]
sub r8, rcx
nop dword [rax]
movzx edx, word [rcx]
movzx eax, word [rcx + r8]
sub edx, eax
jne 0x1400207b4
add rcx, 2
test eax, eax
jne 0x1400207a0
test edx, edx
je 0x1400209dd
inc rbx
add r9, 8
cmp rbx, r10
jb 0x140020790
lea rcx, [r15 + 0x1f0]
call fcn.140020b40
mov edx, recvfrom
mov qword [r14 + 0x60], rax
lea ecx, [rdx - 0xf]
call fcn.14002f9e8
test rax, rax
je 0x140020804
mov rcx, qword [r14 + 0x50]
mov rdx, rax
mov qword [rax], rcx
mov rcx, qword [r14 + 0x60]
mov qword [rax + 8], rcx
mov rcx, r12
call fcn.140004460
cmp byte [r14 + 0x78], 0
je 0x140020ac0
lea rdx, [r15 + 0x2b0]
mov ebx, 0x7b2
lea rcx, [rbp - 0x29]
call fcn.140034250
test eax, eax
jne 0x14002087f
mov ebx, dword [rbp - 0x15]
lea ecx, [rax + 0x28]
inc dword [rbp - 0x19]
add ebx, 0x76c
call fcn.14002fc3c
mov qword [r14 + 0x40], rax
test rax, rax
je 0x14002087f
mov ecx, dword [rbp - 0x29]
lea r8, [0x140069658]
mov dword [rsp + 0x40], ecx
mov r9d, ebx
mov ecx, dword [rbp - 0x25]
mov edx, reloc.WS2_32.dll_sendto
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp - 0x21]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp - 0x1d]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp - 0x19]
mov dword [rsp + 0x20], ecx
mov rcx, rax
call fcn.140008750
lea rdx, [r15 + 0x2b8]
lea rcx, [rbp - 1]
call fcn.140034250
test eax, eax
jne 0x1400208fc
mov edi, dword [rbp + 0x13]
inc dword [rbp + 0xf]
add edi, 0x76c
cmp edi, ebx
jl 0x1400208fc
cmp edi, 0x7b2
jne 0x1400208af
cmp ebx, edi
je 0x1400208fc
mov ecx, 0x28
call fcn.14002fc3c
mov qword [r14 + 0x48], rax
test rax, rax
je 0x1400208fc
mov ecx, dword [rbp - 1]
lea r8, [0x140069658]
mov dword [rsp + 0x40], ecx
mov r9d, edi
mov ecx, dword [rbp + 3]
mov edx, reloc.WS2_32.dll_sendto
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp + 7]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 0xb]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp + 0xf]
mov dword [rsp + 0x20], ecx
mov rcx, rax
call fcn.140008750
mov rdx, 0xffffffffffffffff
nop dword [rax]
nop word [rax + rax]
inc rdx
cmp byte [r15 + rdx + 0x220], 0
jne 0x140020910
test rdx, rdx
je 0x140020ad8
inc rdx
lea rcx, [r15 + 0x220]
call fcn.140006f30
cmp dword [rbp + 0x67], 0
mov r11, rax
mov qword [r14 + 0x28], rax
je 0x140020ad8
mov r10, qword [r12 + 8]
xor ebx, ebx
test r10, r10
je 0x140020998
mov rsi, qword [r12]
mov r9, rsi
nop word [rax + rax]
mov rax, qword [r9]
mov r8, r11
mov rax, qword [rax]
sub r8, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140020984
add rax, 2
test ecx, ecx
jne 0x140020970
test edx, edx
je 0x140020a56
inc rbx
add r9, 8
cmp rbx, r10
jb 0x140020960
lea rcx, [r15 + 0x220]
call fcn.140020b40
mov edx, recvfrom
mov qword [r14 + 0x38], rax
lea ecx, [rdx - 0xf]
call fcn.14002f9e8
test rax, rax
je 0x140020ad8
mov rcx, qword [r14 + 0x28]
mov rdx, rax
mov qword [rax], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rax + 8], rcx
mov rcx, r12
call fcn.140004460
jmp 0x140020ad8
mov rax, qword [rsi + rbx*8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140020a49
mov rcx, 0xffffffffffffffff
cmp word [rdx + rcx*2 + 2], 0
lea rcx, [rcx + 1]
jne 0x1400209f1
lea rcx, [rcx*2 + 2]
call fcn.14002fc3c
mov qword [r14 + 0x60], rax
test rax, rax
je 0x140020804
mov rcx, qword [r12]
mov rdx, qword [rcx + rbx*8]
mov r8, qword [rdx + 8]
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x140020a30
jmp 0x140020804
mov qword [r14 + 0x60], 0
jmp 0x140020804
mov rax, qword [rsi + rbx*8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140020ab6
mov rcx, 0xffffffffffffffff
nop word [rax + rax]
cmp word [rdx + rcx*2 + 2], 0
lea rcx, [rcx + 1]
jne 0x140020a70
lea rcx, [rcx*2 + 2]
call fcn.14002fc3c
mov qword [r14 + 0x38], rax
test rax, rax
je 0x140020ad8
mov rcx, qword [r12]
mov rdx, qword [rcx + rbx*8]
mov r8, qword [rdx + 8]
nop
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x140020aa0
jmp 0x140020ad8
mov qword [r14 + 0x38], 0
jmp 0x140020ad8
mov qword [r14 + 0x28], 0
mov qword [r14 + 0x40], 0
mov qword [r14 + 0x48], 0
mov rdx, r14
mov rcx, r13
call fcn.140004460
mov esi, dword [rbp + 0x67]
mov ebx, 3
mov r15, qword [r15]
test r15, r15
jne 0x140020610
mov rbx, qword [rbp + 0x77]
mov r14, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xf8]
mov r15, qword [rsp + 0xa0]
mov dl, 1
mov rcx, r12
call fcn.1400045b0
mov rcx, r12
call fcn.14002fc28
mov rcx, rbx
call fcn.14002fc28
mov rax, r13
add rsp, 0xb0
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret