Function at 0x140022520
Capabilities:
Get mac address on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x2f]
sub rsp, 0xb8
xor r13d, r13d
lea rdx, [rbp + 0x6f]
mov r12d, ecx
mov qword [rbp + 0x7f], r13
mov ebx, r13d
mov qword [rbp - 0x39], r13
xor ecx, ecx
mov qword [rbp + 0x77], rbx
mov esi, r13d
mov dword [rbp + 0x6f], r13d
mov edi, r13d
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x14002259b
mov eax, dword [rbp + 0x6f]
imul rcx, rax, 0x2c0
call fcn.140038534
mov qword [rbp - 0x39], rax
mov rdi, rax
test rax, rax
jne 0x14002258f
add rsp, 0xb8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rdx, [rbp + 0x6f]
mov rcx, rax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x140022ca7
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0xb0], r15
test rdi, rdi
je 0x140022a08
lea ecx, [rax + 0x20]
mov r15, rdi
call fcn.140038534
mov qword [rbp + 0x77], rax
mov rbx, rax
test rax, rax
je 0x140022c97
mov rcx, rax
call fcn.140004b90
test al, al
je 0x140022c97
test r12d, r12d
je 0x140022616
mov ecx, 0x20
call fcn.140038534
mov qword [rbp + 0x7f], rax
mov rsi, rax
test rax, rax
je 0x140022c97
mov rcx, rax
call fcn.140004b90
test al, al
je 0x140022c97
mov edi, 3
jmp 0x140022624
mov rsi, qword [rbp + 0x7f]
mov edx, 0x80
lea ecx, [rdx - 0x7f]
call fcn.14003853c
mov r14, rax
test rax, rax
je 0x1400229fc
lea rcx, [r15 + 0x110]
call fcn.1400076e0
mov qword [r14], rax
mov edx, dword [r15 + 0x1a4]
cmp edx, 6
je 0x140022669
cmp edx, 0x47
mov ecx, 1
cmovne ecx, edi
mov dword [r14 + 0x70], ecx
jmp 0x14002266d
mov dword [r14 + 0x70], r13d
mov eax, dword [r15 + 0x1a0]
lea rcx, [r15 + 0x1c0]
mov dword [r14 + 0x74], eax
mov rdx, 0xffffffffffffffff
inc rdx
cmp byte [rcx + rdx], r13b
jne 0x140022686
test rdx, rdx
je 0x1400226a0
inc rdx
call fcn.140007770
mov qword [r14 + 8], rax
lea rcx, [r15 + 0x1d0]
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [rcx + rdx], r13b
jne 0x1400226b0
test rdx, rdx
je 0x1400226ca
inc rdx
call fcn.140007770
mov qword [r14 + 0x18], rax
mov ecx, 0x24
call fcn.140038534
mov qword [r14 + 0x20], rax
test rax, rax
je 0x140022738
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, sendto
mov dword [rsp + 0x30], r8d
lea r8, [0x140074640]
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call fcn.140009230
cmp dword [r15 + 0x1a8], r13d
mov rdx, 0xffffffffffffffff
setne al
mov byte [r14 + 0x78], al
nop dword [rax]
inc rdx
cmp byte [r15 + rdx + 0x1f0], r13b
jne 0x140022750
test rdx, rdx
je 0x140022ba2
inc rdx
lea rcx, [r15 + 0x1f0]
call fcn.140007770
mov qword [r14 + 0x50], rax
mov r11, rax
test r12d, r12d
je 0x140022ba2
mov r10, qword [rsi + 8]
mov rbx, r13
test r10, r10
je 0x1400227dc
mov rsi, qword [rsi]
mov r9, rsi
nop word [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 0x1400227c4
add rcx, 2
test eax, eax
jne 0x1400227b0
test edx, edx
je 0x140022b2d
inc rbx
add r9, 8
cmp rbx, r10
jb 0x1400227a0
mov rsi, qword [rbp + 0x7f]
lea rcx, [r15 + 0x1f0]
call fcn.140022ce0
mov edx, sendto
mov qword [r14 + 0x60], rax
lea ecx, [rdx - 0xf]
call fcn.14003853c
test rax, rax
je 0x140022818
mov rcx, qword [r14 + 0x50]
mov rdx, rax
mov qword [rax], rcx
mov rcx, qword [r14 + 0x60]
mov qword [rax + 8], rcx
mov rcx, rsi
call fcn.140004950
mov rsi, qword [rbp + 0x7f]
mov rbx, qword [rbp + 0x77]
cmp byte [r14 + 0x78], r13b
je 0x140022c22
lea rdx, [r15 + 0x2b0]
mov ebx, 0x7b2
lea rcx, [rbp - 0x31]
call fcn.140039c08
test eax, eax
jne 0x14002289a
mov ebx, dword [rbp - 0x1d]
lea ecx, [rax + 0x28]
inc dword [rbp - 0x21]
add ebx, 0x76c
call fcn.140038534
mov qword [r14 + 0x40], rax
test rax, rax
je 0x14002289a
mov ecx, dword [rbp - 0x31]
lea r8, [0x1400746b0]
mov dword [rsp + 0x40], ecx
mov r9d, ebx
mov ecx, dword [rbp - 0x2d]
mov edx, reloc.WS2_32.dll_sendto
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp - 0x29]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp - 0x25]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp - 0x21]
mov dword [rsp + 0x20], ecx
mov rcx, rax
call fcn.140009230
lea rdx, [r15 + 0x2b8]
lea rcx, [rbp - 9]
call fcn.140039c08
test eax, eax
jne 0x140022917
mov edi, dword [rbp + 0xb]
inc dword [rbp + 7]
add edi, 0x76c
cmp edi, ebx
jl 0x140022917
cmp edi, 0x7b2
jne 0x1400228ca
cmp ebx, edi
je 0x140022917
mov ecx, 0x28
call fcn.140038534
mov qword [r14 + 0x48], rax
test rax, rax
je 0x140022917
mov ecx, dword [rbp - 9]
lea r8, [0x1400746b0]
mov dword [rsp + 0x40], ecx
mov r9d, edi
mov ecx, dword [rbp - 5]
mov edx, reloc.WS2_32.dll_sendto
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp - 1]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rbp + 3]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rbp + 7]
mov dword [rsp + 0x20], ecx
mov rcx, rax
call fcn.140009230
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp byte [r15 + rdx + 0x220], r13b
jne 0x140022920
test rdx, rdx
je 0x1400229e8
inc rdx
lea rcx, [r15 + 0x220]
call fcn.140007770
mov qword [r14 + 0x28], rax
mov r11, rax
test r12d, r12d
je 0x1400229e8
mov r10, qword [rsi + 8]
mov rbx, r13
test r10, r10
je 0x1400229ac
mov rsi, qword [rsi]
mov r9, rsi
nop word [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 0x140022994
add rcx, 2
test eax, eax
jne 0x140022980
test edx, edx
je 0x140022bab
inc rbx
add r9, 8
cmp rbx, r10
jb 0x140022970
mov rsi, qword [rbp + 0x7f]
lea rcx, [r15 + 0x220]
call fcn.140022ce0
mov edx, sendto
mov qword [r14 + 0x38], rax
lea ecx, [rdx - 0xf]
call fcn.14003853c
test rax, rax
je 0x1400229e8
mov rcx, qword [r14 + 0x28]
mov rdx, rax
mov qword [rax], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rax + 8], rcx
mov rcx, rsi
call fcn.140004950
mov rbx, qword [rbp + 0x77]
mov rdx, r14
mov rcx, rbx
call fcn.140004950
mov edi, 3
mov r15, qword [r15]
test r15, r15
jne 0x140022620
test r12d, r12d
je 0x140022c97
test rbx, rbx
je 0x140022c97
call fcn.140021790
mov rsi, rax
test rax, rax
je 0x140022c85
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x140022c85
mov r14d, r13d
test ecx, ecx
jle 0x140022c85
mov r15, r13
nop word [rax + rax]
mov rax, qword [rsi]
mov r11, r13
mov rdi, qword [r15 + rax]
movsxd rax, dword [rbx + 8]
test eax, eax
jle 0x140022ae8
mov rbx, rax
mov rax, qword [rbp + 0x77]
mov r10, qword [rax]
test rdi, rdi
je 0x140022adc
mov r9, qword [r10]
test r9, r9
je 0x140022adc
mov rax, qword [rdi + 0x20]
test rax, rax
je 0x140022adc
mov r8, qword [r9 + 0x20]
test r8, r8
je 0x140022adc
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140022aa6
add rax, 2
test ecx, ecx
jne 0x140022a92
test edx, edx
jne 0x140022adc
mov rax, qword [rdi]
test rax, rax
je 0x140022adc
mov r8, qword [r9]
test r8, r8
je 0x140022adc
sub r8, rax
nop dword [rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140022ad4
add rax, 2
test ecx, ecx
jne 0x140022ac0
test edx, edx
je 0x140022c33
inc r11
add r10, 8
cmp r11, rbx
jl 0x140022a70
mov edx, 0x80
lea ecx, [rdx - 0x7f]
call fcn.14003853c
mov rbx, rax
test rax, rax
je 0x140022c33
mov rcx, qword [rdi + 0x20]
call fcn.14003fa28
mov qword [rbx + 0x20], rax
mov rcx, qword [rdi]
call fcn.14003fa28
mov qword [rbx], rax
mov rdx, rbx
mov rbx, qword [rbp + 0x77]
mov rcx, rbx
call fcn.140004950
jmp 0x140022c37
mov rax, qword [rsi + rbx*8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140022b99
mov rcx, 0xffffffffffffffff
cmp word [rdx + rcx*2 + 2], r13w
lea rcx, [rcx + 1]
jne 0x140022b41
lea rcx, [rcx*2 + 2]
call fcn.140038534
mov rsi, qword [rbp + 0x7f]
mov qword [r14 + 0x60], rax
test rax, rax
je 0x14002281c
mov rcx, qword [rsi]
mov rdx, qword [rcx + rbx*8]
mov r8, qword [rdx + 8]
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x140022b80
jmp 0x14002281c
mov qword [r14 + 0x60], r13
jmp 0x140022818
mov rsi, qword [rbp + 0x7f]
jmp 0x140022820
mov rax, qword [rsi + rbx*8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140022c19
mov rcx, 0xffffffffffffffff
nop
cmp word [rdx + rcx*2 + 2], r13w
lea rcx, [rcx + 1]
jne 0x140022bc0
lea rcx, [rcx*2 + 2]
call fcn.140038534
mov qword [r14 + 0x38], rax
test rax, rax
je 0x1400229e8
mov rcx, qword [rbp + 0x7f]
mov rcx, qword [rcx]
mov rdx, qword [rcx + rbx*8]
mov r8, qword [rdx + 8]
nop word [rax + rax]
movzx ecx, word [r8]
lea r8, [r8 + 2]
mov word [rax], cx
lea rax, [rax + 2]
test cx, cx
jne 0x140022c00
jmp 0x1400229e8
mov qword [r14 + 0x38], r13
jmp 0x1400229e8
mov qword [r14 + 0x28], r13
mov qword [r14 + 0x40], r13
mov qword [r14 + 0x48], r13
jmp 0x1400229ec
mov rbx, qword [rbp + 0x77]
mov eax, dword [rsi + 8]
inc r14d
add r15, 8
cmp r14d, eax
jl 0x140022a50
mov ecx, eax
test eax, eax
jle 0x140022c85
mov rdi, r13
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsi]
mov rbx, qword [rdi + rax]
mov rcx, qword [rbx]
call fcn.140038520
mov rcx, qword [rbx + 0x20]
call fcn.140038520
inc r13d
lea rdi, [rdi + 8]
cmp r13d, dword [rsi + 8]
jl 0x140022c60
mov dl, 1
mov rcx, rsi
call fcn.140004aa0
mov rcx, rsi
call fcn.140038520
mov r14, qword [rsp + 0xf0]
mov r15, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x7f]
mov dl, 1
call fcn.140004aa0
mov rcx, qword [rbp + 0x7f]
call fcn.140038520
mov rcx, qword [rbp - 0x39]
call fcn.140038520
mov rax, qword [rbp + 0x77]
add rsp, 0xb8
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret