Function at 0x425c20
Capabilities:
Get mac address on windows
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x552cff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x980
xor eax, eax
push ebx
push esi
mov dword [ebp - 4], eax
mov dword [ebp - 0x6c], eax
xor eax, eax
cpuid
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], edx
lea ecx, [ebp - 0x18c]
call fcn.00414230
xor ebx, ebx
mov dword [ebp - 4], 1
xor esi, esi
mov edi, edi
push esi
lea ecx, [ebp - 0x18c]
call fcn.00414340
cmp eax, ebx
je 0x425c88
inc esi
cmp esi, 0xa
jl 0x425c70
jmp 0x425c9a
mov al, byte [ebp - 0x14c]
cmp al, bl
je 0x425c9a
cmp al, 0x41
jge 0x425ca4
cmp al, 0x5a
jle 0x425ca4
mov dword [ebp - 0x14c], 0x412f4e
push edi
mov edi, 0xf
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x425cc5
sub eax, edx
push eax
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x98]
call fcn.00415040
push 0x40
lea ecx, [ebp - 0x14c]
push ebx
push ecx
mov byte [ebp - 4], 2
call fcn.0052ea80
add esp, 0xc
lea edx, [ebp - 0x18]
push edx
push 0x567b64
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
push 3
push 0x567b60
lea ecx, [ebp - 0x4c]
mov esi, eax
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
call fcn.00415040
mov byte [ebp - 4], 3
cmp esi, ebx
jne 0x425e1f
mov edx, dword [ebp - 0x18]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x14]
push eax
push ebx
lea ecx, [ebp - 0x28]
push ecx
push ebx
push str.SystemBiosVersion
push edx
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x14], ebx
call esi
cmp eax, ebx
jne 0x425e15
mov eax, dword [ebp - 0x14]
inc eax
push eax
call fcn.0042cd90
mov ecx, dword [ebp - 0x14]
inc ecx
push ecx
mov edi, eax
push ebx
push edi
call fcn.0052ea80
mov ecx, dword [ebp - 0x18]
add esp, 0x10
lea edx, [ebp - 0x14]
push edx
push edi
lea eax, [ebp - 0x28]
push eax
push ebx
push str.SystemBiosVersion
push ecx
call esi
xor eax, eax
lea edx, [ebp - 0x7c]
mov dword [ebp - 0x7b], eax
mov dword [ebp - 0x77], eax
mov dword [ebp - 0x73], eax
mov word [ebp - 0x6f], ax
mov byte [ebp - 0x6d], al
mov eax, dword [ebp - 0x14]
push edx
push eax
push edi
mov byte [ebp - 0x7c], bl
call fcn.0054ecd0
add esp, 0xc
push ebx
push 0x5999a3
lea ecx, [ebp - 0x4c]
call fcn.00415040
xor esi, esi
movzx edx, byte [ebp + esi - 0x7c]
push edx
lea eax, [ebp - 0x10]
xor ecx, ecx
push str._02X
push eax
mov byte [ebp - 0x10], bl
mov word [ebp - 0xf], cx
call fcn.0052eafa
lea eax, [ebp - 0x10]
add esp, 0xc
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x425df0
sub eax, edx
push eax
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x4c]
call fcn.00415280
inc esi
cmp esi, 0x10
jl 0x425dc4
push edi
call fcn.0042cd9b
add esp, 4
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [0x567b2c]
mov cl, byte [0x567b30]
push 0x5f
lea edx, [ebp - 0x107]
push ebx
push edx
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x108], cl
call fcn.0052ea80
push 0x288
call fcn.0052ebd6
mov edi, eax
add esp, 0x10
lea eax, [ebp - 0x1c]
push eax
push edi
mov dword [ebp - 0x1c], 0x288
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, 0x6f
jne 0x425e88
push edi
call fcn.0052eb9c
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.0052ebd6
add esp, 8
lea edx, [ebp - 0x1c]
mov edi, eax
push edx
push edi
call sub.IPHLPAPI.DLL_GetAdaptersInfo
cmp eax, ebx
jne 0x425f10
push 0x64
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.0052ea80
add esp, 0xc
xor esi, esi
cmp dword [edi + 0x190], ebx
jbe 0x425ef0
lea esp, [esp]
lea eax, [ebp - 0x10c]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x425ec0
movzx ecx, byte [edi + esi + 0x194]
push ecx
sub eax, edx
lea edx, [ebp + eax - 0x10c]
push str._02X_
push edx
call fcn.0052eafa
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x190]
jb 0x425eb0
lea eax, [ebp - 0x10c]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x425f00
sub eax, edx
mov byte [ebp + eax - 0x10d], bl
push 0x7ff
lea eax, [ebp - 0x98b]
push ebx
push eax
mov byte [ebp - 0x98c], bl
call fcn.0052ea80
add esp, 0xc
lea ecx, [ebp - 0xa8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetLocalTime]
push ebx
push 0x5999a3
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
call fcn.00415040
mov byte [ebp - 4], 4
xor esi, esi
lea esp, [esp]
movzx eax, byte [ebp + esi - 0xa8]
push eax
lea ecx, [ebp - 0x10]
xor edx, edx
push str._02X
push ecx
mov byte [ebp - 0x10], bl
mov word [ebp - 0xf], dx
call fcn.0052eafa
lea eax, [ebp - 0x10]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x425f90
sub eax, edx
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x68]
call fcn.00415280
inc esi
cmp esi, 0x10
jb 0x425f60
mov edx, dword [ebp - 0x4c]
mov eax, 0x10
cmp dword [ebp - 0x38], eax
jae 0x425fbc
lea edx, [ebp - 0x4c]
mov ecx, dword [ebp - 0x98]
cmp dword [ebp - 0x84], eax
jae 0x425fd0
lea ecx, [ebp - 0x98]
cmp dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x68]
jae 0x425fdb
lea eax, [ebp - 0x68]
lea esi, [ebp - 0x10c]
push esi
push edx
mov edx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp - 0x2c]
push edx
mov edx, dword [ebp - 0x24]
push edx
mov edx, dword [ebp - 0x20]
push edx
push ecx
push eax
lea eax, [ebp - 0x98c]
push str._s_s:_08X__08X__08X__08X:_s:_s
push eax
call fcn.0052eafa
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x98c]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], ebx
add esp, 0x28
mov byte [esi], bl
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x426021
sub eax, edi
push eax
lea ecx, [ebp - 0x98c]
push ecx
mov ecx, esi
call fcn.00415040
push 0x800
lea edx, [ebp - 0x98c]
push ebx
push edx
mov dword [ebp - 0x6c], 1
call fcn.0052ea80
add esp, 0xc
push ebx
push 0x5999a3
lea ecx, [ebp - 0x68]
call fcn.00415040
push 0x64
lea eax, [ebp - 0x10c]
push ebx
push eax
call fcn.0052ea80
mov edi, 0x10
add esp, 0xc
cmp dword [ebp - 0x54], edi
jb 0x42608b
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.0042cd9b
add esp, 4
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x38], edi
jb 0x4260a9
mov edx, dword [ebp - 0x4c]
push edx
call fcn.0042cd9b
add esp, 4
cmp dword [ebp - 0x84], edi
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 0x4c], bl
pop edi
jb 0x4260ce
mov eax, dword [ebp - 0x98]
push eax
call fcn.0042cd9b
add esp, 4
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x84], 0xf
mov dword [ebp - 0x88], ebx
mov byte [ebp - 0x98], bl
mov byte [ebp - 4], bl
call fcn.00416160
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret