Function at 0x415ee0
Capabilities:
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c6784
mov eax, dword fs:[0]
push eax
mov eax, 0x2cd8
call fcn.004a9180
mov eax, dword [0x51fee0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [0x521340]
mov dword [ebp - 0x2cc4], eax
mov eax, ecx
imul eax, ecx
cdq
mov esi, 9
idiv esi
cmp edx, 6
jne 0x415fa9
xor edx, edx
mov dword [ebp - 0x2ca8], edx
lea edi, [ebp - 0x2b4]
mov al, cl
xor ebx, ebx
sub al, dl
mov byte [ebp - 0x2ca1], al
lea ecx, [ecx]
mov eax, ecx
inc ebx
cdq
xor esi, esi
idiv ebx
mov dword [ebp - 0x2cb4], ebx
mov dword [ebp - 0x2cb0], edx
mov ebx, edx
mov eax, dword [0x521340]
cdq
lea ecx, [esi + 1]
idiv ecx
imul byte [ebp - 0x2ca1]
imul bl
mov byte [edi + esi], al
mov esi, ecx
cmp esi, 0xd
jl 0x415f66
mov ebx, dword [ebp - 0x2cb4]
mov ecx, dword [0x521340]
add edi, 0xd
cmp ebx, 4
jl 0x415f50
mov edx, dword [ebp - 0x2ca8]
inc edx
mov dword [ebp - 0x2ca8], edx
cmp edx, 0xd
jl 0x415f41
push 0
lea ecx, [ebp - 0x2ce4]
call fcn.00443cd0
push str.success
lea ecx, [ebp - 0x2c68]
mov dword [ebp - 4], 0
call fcn.00443c90
lea eax, [ebp - 0x2c68]
push eax
push 0x4da4ec
lea ecx, [ebp - 0x2ce4]
mov byte [ebp - 4], 1
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2c68]
mov byte [ebp - 4], 0
call fcn.00443ee0
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2cac], eax
lea eax, [ebp - 0x2c68]
push eax
mov byte [ebp - 4], 2
xor ebx, ebx
call dword [sym.imp.RPCRT4.dll_UuidCreateSequential]
mov esi, eax
mov dword [ebp - 0x2cb0], esi
test esi, esi
jne 0x41607c
movzx ecx, byte [ebp - 0x2c59]
movzx eax, byte [ebp - 0x2c5c]
push ecx
movzx ecx, byte [ebp - 0x2c5a]
push ecx
movzx ecx, byte [ebp - 0x2c5b]
push ecx
push eax
movzx eax, byte [ebp - 0x2c5d]
push eax
movzx eax, byte [ebp - 0x2c5e]
push eax
lea eax, [ebp - 0x2cac]
push str._d__d__d__d__d__d
push eax
call fcn.004060e0
add esp, 0x20
jmp 0x416234
lea eax, [ebp - 0x2cbc]
push eax
lea eax, [ebp - 0x2c58]
push eax
mov dword [ebp - 0x2cbc], 0x2880
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov ebx, eax
mov dword [ebp - 0x2cb4], ebx
test ebx, ebx
jne 0x416234
movzx ecx, byte [ebp - 0x2abf]
movzx eax, byte [ebp - 0x2ac2]
push ecx
movzx ecx, byte [ebp - 0x2ac0]
push ecx
movzx ecx, byte [ebp - 0x2ac1]
push ecx
push eax
movzx eax, byte [ebp - 0x2ac3]
push eax
movzx eax, byte [ebp - 0x2ac4]
push eax
lea eax, [ebp - 0x2cac]
push str._d__d__d__d__d__d
lea esi, [ebp - 0x2c58]
push eax
mov dword [ebp - 0x2ca8], esi
call fcn.004060e0
add esp, 0x20
call fcn.00417870
mov byte [ebp - 0x2ca1], al
lea edi, [ebx + 0x18]
jmp 0x416110
mov ebx, dword [0x521340]
test al, al
jne 0x416144
xor esi, esi
mov edi, ebx
mov edi, edi
mov eax, edi
lea ecx, [ebx + esi]
cdq
idiv ecx
inc esi
dec edi
mov dword [ebp + esi*4 - 0x38c], edx
cmp esi, 0xde
jb 0x416120
mov esi, dword [ebp - 0x2ca8]
mov edi, 0x18
cmp dword [esi + 0x1a0], 6
je 0x4161e4
lea eax, [ebx + 2]
lea ecx, [ebx + 1]
imul eax, ecx
imul eax, ebx
cdq
idiv edi
mov esi, dword [esi]
mov dword [ebp - 0x2ca8], esi
cmp edx, 5
jne 0x4161d5
mov eax, ebx
lea esi, [edx + 4]
cdq
sub eax, edx
xor ecx, ecx
mov ebx, eax
sar ebx, 1
mov dword [ebp - 0x2cc0], ecx
mov dword [ebp - 0x2cb8], ebx
test ebx, ebx
jle 0x4161bf
mov eax, dword [0x521340]
cdq
and edx, 3
add eax, edx
mov edi, eax
sar edi, 2
xor edx, edx
lea ecx, [ecx]
test edi, edi
jle 0x4161b4
mov eax, edx
mov ecx, edi
add esi, eax
dec eax
dec ecx
jne 0x4161a8
mov ecx, dword [ebp - 0x2cc0]
add edx, ecx
dec ebx
jne 0x4161a0
mov ebx, dword [ebp - 0x2cb8]
inc ecx
mov dword [ebp - 0x2cc0], ecx
cmp ecx, esi
jl 0x416187
mov esi, dword [ebp - 0x2ca8]
mov edi, 0x18
test esi, esi
je 0x416228
mov al, byte [ebp - 0x2ca1]
jmp 0x416110
movzx eax, byte [esi + 0x199]
push eax
movzx eax, byte [esi + 0x198]
push eax
movzx eax, byte [esi + 0x197]
push eax
movzx eax, byte [esi + 0x196]
push eax
movzx eax, byte [esi + 0x195]
push eax
movzx eax, byte [esi + 0x194]
push eax
lea eax, [ebp - 0x2cac]
push str._d__d__d__d__d__d
push eax
call fcn.004060e0
add esp, 0x20
mov esi, dword [ebp - 0x2cb0]
mov ebx, dword [ebp - 0x2cb4]
mov eax, dword [ebp - 0x2cac]
cmp dword [eax - 0xc], 0
jne 0x416323
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2ca8], eax
push ebx
push esi
lea eax, [ebp - 0x2ca8]
push str.getMac_error_getmac__d__d
push eax
mov byte [ebp - 4], 3
call fcn.004060e0
lea eax, [ebp - 0x2ca8]
push eax
lea eax, [ebp - 0x2c80]
push eax
call fcn.00450030
add esp, 0x18
push eax
lea ecx, [ebp - 0x2cd4]
mov byte [ebp - 4], 4
call fcn.00443bf0
lea eax, [ebp - 0x2cd4]
push eax
push 0x4da4ec
lea ecx, [ebp - 0x2ce4]
mov byte [ebp - 4], 5
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2cd4]
mov byte [ebp - 4], 4
call fcn.00443ee0
cmp dword [ebp - 0x2c6c], 0x10
jb 0x4162df
push dword [ebp - 0x2c80]
call fcn.004a6c2e
add esp, 4
mov edx, dword [ebp - 0x2ca8]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x416305
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x2cac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jmp 0x4163ab
lea eax, [ebp - 0x2cac]
push eax
lea eax, [ebp - 0x2c80]
push eax
call fcn.00450030
add esp, 8
push eax
lea ecx, [ebp - 0x2cd4]
mov byte [ebp - 4], 6
call fcn.00443bf0
lea eax, [ebp - 0x2cd4]
push eax
push 0x4db818
lea ecx, [ebp - 0x2ce4]
mov byte [ebp - 4], 7
call fcn.00444170
mov ecx, eax
call fcn.00443f80
lea ecx, [ebp - 0x2cd4]
mov byte [ebp - 4], 6
call fcn.00443ee0
cmp dword [ebp - 0x2c6c], 0x10
jb 0x416391
push dword [ebp - 0x2c80]
call fcn.004a6c2e
add esp, 4
mov edx, dword [ebp - 0x2cac]
add edx, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [edx + 0xc]
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4163b5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x2ca0]
call fcn.00445f40
mov esi, dword [0x521340]
mov eax, esi
imul eax, esi
cdq
mov ecx, 0x13
idiv ecx
mov byte [ebp - 4], 8
cmp edx, 0xd
jne 0x41643e
test esi, esi
je 0x41643e
mov ecx, esi
and ecx, 0x80000001
jns 0x4163ef
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4163fc
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
jmp 0x416403
lea esi, [esi*2 + 1]
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
lea eax, [eax + eax*2]
sub ecx, eax
mov dword [0x521340], esi
sub ecx, 0
je 0x41642d
sub ecx, 2
je 0x416430
dec ecx
je 0x416431
jmp 0x41643a
add esi, 2
inc esi
add esi, 2
mov dword [0x521340], esi
test esi, esi
jne 0x4163e0
mov eax, dword [0x51fab0]
mov ecx, 0x51fab0
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x2ca8], esi
lea eax, [ebp - 0x2ce4]
push eax
lea eax, [ebp - 0x2c80]
push eax
lea ecx, [ebp - 0x2ca0]
mov byte [ebp - 4], 9
call fcn.00448e50
mov edx, eax
cmp dword [edx + 0x14], 0x10
mov byte [ebp - 4], 0xa
jb 0x41647f
mov edx, dword [edx]
sub esp, 0x18
mov edi, esp
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
cmp byte [edx], 0
jne 0x41649e
xor ecx, ecx
jmp 0x4164ac
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4164a3
sub ecx, ebx
push ecx
push edx
mov ecx, edi
call fcn.00401460
lea eax, [ebp - 0x2cb8]
push eax
call fcn.0044ff60
add esp, 0x1c
mov eax, dword [eax]
lea ebx, [esi - 0x10]
lea edi, [eax - 0x10]
mov byte [ebp - 4], 0xb
cmp edi, ebx
je 0x416581
cmp dword [ebx + 0xc], 0
jl 0x41656c
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x41656c
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [edi + 0xc], 0
lea edx, [edi + 0xc]
mov ecx, eax
jl 0x41650d
cmp ecx, dword [edi]
jne 0x41650d
mov esi, edi
mov eax, 1
lock xadd dword [edx], eax
jmp 0x41654a
mov eax, dword [ecx]
push 2
push dword [edi + 4]
call dword [eax]
mov esi, eax
test esi, esi
jne 0x416521
call fcn.0040c350
mov eax, dword [edi + 4]
mov dword [esi + 4], eax
mov ecx, dword [edi + 4]
lea eax, [ecx*2 + 2]
push eax
lea eax, [edi + 0x10]
push eax
lea eax, [ecx*2 + 2]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.004a8205
add esp, 0x10
or eax, 0xffffffff
lea ecx, [ebx + 0xc]
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x416561
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0x10
mov dword [ebp - 0x2ca8], esi
jmp 0x416581
push dword [eax - 0xc]
lea ecx, [ebp - 0x2ca8]
push eax
call fcn.004097a0
mov esi, dword [ebp - 0x2ca8]
mov edx, dword [ebp - 0x2cb8]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov byte [ebp - 4], 0xa
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4165a7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x2c6c], 0x10
mov byte [ebp - 4], 9
jb 0x4165c2
push dword [ebp - 0x2c80]
call fcn.004a6c2e
add esp, 4
mov edi, dword [ebp - 0x2cc4]
mov eax, 8
mov word [edi], ax
push dword [esi - 0xc]
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
test eax, eax
jne 0x4165e3
call fcn.0040c350
mov dword [edi + 8], eax
mov ecx, dword [0x521340]
lea eax, [ecx + 1]
imul eax, ecx
cdq
mov ecx, 0x17
idiv ecx
cmp edx, 4
jne 0x416665
xor edi, edi
call fcn.004a8009
movd xmm0, eax
cvtdq2pd xmm0, xmm0
inc edi
movsd qword [ebp + edi*8 - 0x3e0], xmm0
cmp edi, 0x79
jb 0x416601
xor ecx, ecx
nop
mov eax, 0x78
cmp ecx, eax
jge 0x41665f
lea esp, [esp]
movsd xmm0, qword [ebp + eax*8 - 0x3d8]
movsd xmm1, qword [ebp + eax*8 - 0x3e0]
comisd xmm0, xmm1
jbe 0x41665a
movsd qword [ebp + eax*8 - 0x3d8], xmm1
movsd qword [ebp + eax*8 - 0x3e0], xmm0
dec eax
cmp eax, ecx
jg 0x416630
inc ecx
cmp ecx, 0x79
jl 0x416620
add esi, 0xfffffff0
mov byte [ebp - 4], 8
lea eax, [esi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x416680
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x2c88], 0x10
mov byte [ebp - 4], 0
mov dword [ebp - 0x2ca0], 0x4da4e4
jb 0x4166a5
push dword [ebp - 0x2c9c]
call fcn.004a6c2e
add esp, 4
lea ecx, [ebp - 0x2ca0]
mov dword [ebp - 0x2c88], 0xf
mov dword [ebp - 0x2c8c], 0
mov byte [ebp - 0x2c9c], 0
call fcn.00446040
lea ecx, [ebp - 0x2ce4]
mov dword [ebp - 4], 0xffffffff
call fcn.00443ee0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a7434
mov esp, ebp
pop ebp
ret