Function at 0x4144cc
Capabilities:
Get mac address on windows
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x47c
mov eax, dword [0x46b880]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push edi
xor edi, edi
mov dword [ebp - 0x47c], eax
mov ebx, edi
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x474], ebx
cmp dword [0x46caa0], ebx
je 0x41451a
push 0x10
push 0x46ca90
push eax
call fcn.00425130
xor eax, eax
add esp, 0xc
inc eax
jmp 0x4147f5
lea eax, [ebp - 0x46c]
push esi
push eax
call fcn.004022c0
mov dword [esp], 0x400
lea eax, [ebp - 0x404]
push edi
push eax
mov dword [ebp - 0x470], edi
call fcn.00425c30
add esp, 0xc
push edi
push edi
push 3
push edi
push 3
push bind
push str..PhysicalDrive0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x41466e
push 0xc
lea eax, [ebp - 0x410]
push edi
push eax
call fcn.00425c30
add esp, 0xc
mov dword [ebp - 0x410], edi
lea eax, [ebp - 0x470]
mov dword [ebp - 0x40c], edi
push edi
push eax
push 0x400
lea eax, [ebp - 0x404]
push eax
push 0xc
lea eax, [ebp - 0x410]
push eax
push 0x2d1400
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x41465f
mov eax, dword [ebp - 0x3f0]
test eax, eax
je 0x4145ec
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
call fcn.0042ddf0
push eax
mov eax, dword [ebp - 0x3f0]
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00402300
add esp, 0x10
mov eax, dword [ebp - 0x3f4]
test eax, eax
je 0x414623
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
call fcn.0042ddf0
push eax
mov eax, dword [ebp - 0x3f4]
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00402300
add esp, 0x10
mov eax, dword [ebp - 0x3ec]
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
call fcn.0042ddf0
push eax
mov eax, dword [ebp - 0x3ec]
lea ecx, [ebp - 0x404]
add eax, ecx
push eax
lea eax, [ebp - 0x46c]
push eax
call fcn.00402300
xor ebx, ebx
add esp, 0x10
inc ebx
mov dword [ebp - 0x474], ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
jne 0x4147ab
lea eax, [ebp - 0x470]
mov dword [ebp - 0x470], edi
push eax
push edi
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x4147ab
cmp dword [ebp - 0x470], edi
je 0x4147ab
push dword [ebp - 0x470]
call fcn.0042d6fb
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4147a5
push dword [ebp - 0x470]
push edi
push ebx
call fcn.00425c30
add esp, 0xc
lea eax, [ebp - 0x470]
push eax
push ebx
call sub.IPHLPAPI.DLL_GetAdaptersInfo
test eax, eax
jne 0x41479e
mov esi, ebx
mov eax, dword [esi + 0x1a0]
cmp eax, 0x17
je 0x414794
cmp eax, 0x1c
je 0x414794
cmp dword [esi + 0x190], 6
jne 0x41475a
mov al, byte [esi + 0x194]
test al, al
jne 0x41475a
cmp byte [esi + 0x195], 9
jne 0x41472a
cmp byte [esi + 0x196], 0xf
jne 0x41472a
cmp byte [esi + 0x197], 0xfe
jne 0x41472a
cmp byte [esi + 0x198], al
jne 0x41472a
cmp byte [esi + 0x199], 1
je 0x414794
test al, al
jne 0x41475a
cmp byte [esi + 0x195], 9
jne 0x41475a
cmp byte [esi + 0x196], 0xf
jne 0x41475a
cmp byte [esi + 0x197], 0xaa
jne 0x41475a
cmp byte [esi + 0x198], al
jne 0x41475a
cmp byte [esi + 0x199], 1
je 0x414794
push esi
call fcn.00414908
pop ecx
test eax, eax
jne 0x414794
lea eax, [esi + 0x194]
test eax, eax
je 0x414794
mov ecx, dword [esi + 0x190]
test ecx, ecx
je 0x414794
push ecx
push eax
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x478], 1
push eax
call fcn.00402300
add esp, 0xc
mov esi, dword [esi]
test esi, esi
jne 0x4146d3
push ebx
call fcn.0042d6f6
pop ecx
mov ebx, dword [ebp - 0x474]
mov esi, dword [ebp - 0x47c]
lea eax, [ebp - 0x46c]
push eax
push esi
call fcn.00402420
pop ecx
pop ecx
cmp dword [ebp - 0x478], edi
jne 0x4147cc
test ebx, ebx
je 0x4147f2
push 0x10
push esi
push 0x46ca90
call fcn.00425130
xor eax, eax
add esp, 0xc
inc eax
mov dword [0x46caa0], eax
cmp dword [ebp - 0x478], edi
jne 0x4147f0
test ebx, ebx
je 0x4147f2
mov edi, eax
mov eax, edi
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00423dc5
mov esp, ebp
pop ebp
ret