Function at 0x415806
Capabilities:
Get disk information
Get mac address on windows

Disassembly:
push 0x78
mov eax, 0x450482
call fcn.0044d453
and dword [ebp - 4], 0
mov eax, dword [ebp + 8]
and dword [ebp - 0x54], 0
lea esi, [ebp - 0x84]
mov dword [ebp - 0x50], eax
call fcn.00415c6e
lea esi, [ebp - 0x74]
mov dword [ebp - 4], 1
call fcn.00415c6e
lea esi, [ebp - 0x64]
mov byte [ebp - 4], 2
call fcn.00415c6e
mov eax, 0x288
mov byte [ebp - 4], 3
push eax
mov dword [ebp - 0x44], eax
call fcn.0043996d
mov esi, dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
pop ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
mov dword [ebp - 0x40], eax
call esi
cmp eax, 0x6f
jne 0x41588a
push dword [ebp - 0x40]
call fcn.00439a01
pop ecx
push dword [ebp - 0x44]
call fcn.0043996d
pop ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
mov dword [ebp - 0x40], eax
call esi
test eax, eax
jne 0x415966
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x415975
and dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
lea eax, [ebx + 0x194]
push eax
push 6
pop edi
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 4
call fcn.00408367
mov eax, dword [ebx + 0x1a0]
cmp eax, edi
jne 0x415922
lea eax, [ebx + 0x10c]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00415c09
lea esi, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.00415c4e
cmp eax, 0xffffffff
mov eax, dword [ebx + 0x19c]
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x84]
je 0x415902
lea ecx, [ebp - 0x64]
call fcn.00415c99
push 0xffffffffffffffff
mov ecx, eax
push 0
lea eax, [ebp - 0x38]
call fcn.004012f0
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
call fcn.00402c12
jmp 0x41594c
cmp eax, 0x47
mov eax, dword [ebx + 0x19c]
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x74]
je 0x415939
lea ecx, [ebp - 0x64]
call fcn.00415c99
push 0xffffffffffffffff
mov ecx, eax
push 0
lea eax, [ebp - 0x38]
call fcn.004012f0
mov ebx, dword [ebx]
push 1
xor edi, edi
lea esi, [ebp - 0x38]
mov byte [ebp - 4], 3
call fcn.0040138b
test ebx, ebx
jne 0x41589d
cmp dword [ebp - 0x40], 0
je 0x415975
push dword [ebp - 0x40]
call fcn.00439a01
pop ecx
xor esi, esi
push esi
push esi
xor eax, eax
mov byte [ebp - 0x1c], 0
lea edi, [ebp - 0x1b]
stosd dword es:[edi], eax
push esi
push esi
stosb byte es:[edi], al
lea eax, [ebp - 0x48]
push eax
push esi
push esi
push 0x459ef0
mov dword [ebp - 0x48], esi
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
push 4
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00438eb0
add esp, 0xc
cmp dword [ebp - 0x7c], esi
je 0x4159b6
mov eax, dword [ebp - 0x80]
jmp 0x4159c8
cmp dword [ebp - 0x6c], esi
je 0x4159c0
mov eax, dword [ebp - 0x70]
jmp 0x4159c8
cmp dword [ebp - 0x5c], esi
je 0x4159e4
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
add eax, 0x10
cmp dword [eax + 0x14], 0x10
jb 0x4159d5
mov eax, dword [eax]
push 6
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00438eb0
add esp, 0xc
mov eax, dword [section..data]
mov ecx, section..data
call dword [eax + 0xc]
mov esi, dword [ebp - 0x50]
add eax, 0x10
mov dword [esi], eax
movzx eax, byte [ebp - 0x17]
push eax
movzx eax, byte [ebp - 0x18]
push eax
movzx eax, byte [ebp - 0x19]
push eax
movzx eax, byte [ebp - 0x1a]
push eax
movzx eax, byte [ebp - 0x1b]
push eax
movzx eax, byte [ebp - 0x1c]
push eax
push str._02X_02X_02X_02X_02X_02X
push esi
mov dword [ebp - 0x54], 1
call fcn.00413962
add esp, 0x20
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 2
call fcn.00415d37
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 4], 1
call fcn.00415d37
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0
call fcn.00415d37
mov eax, esi
call fcn.0044d4d6
ret 4