Function at 0x420950
Capabilities:
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bfbfb
mov eax, dword fs:[0]
push eax
mov eax, 0x28e4
call fcn.00426250
mov eax, dword [0x4eb018]
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 dword [ebp - 0x28d0], ecx
lea eax, [ecx + 0x10]
mov dword [eax], 0
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x28e0], eax
mov eax, ecx
jb 0x4209a1
mov eax, dword [ecx]
mov byte [eax], 0
mov dword [ebp - 0x28ec], 0
mov dword [ebp - 0x28e8], 0
mov dword [ebp - 0x28e4], 0
lea ecx, [ebp - 0x28ec]
mov dword [ebp - 4], 0
call fcn.004214e0
lea eax, [ebp - 0x28f0]
mov dword [ebp - 0x28f0], 0x2880
lea ebx, [ebp - 0x28a8]
push eax
mov eax, ebx
mov dword [ebp - 0x28d8], ebx
push eax
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
jne 0x420f48
mov dword [ebp - 0x28dc], eax
nop dword [eax + eax]
movzx eax, byte [ebx + 0x199]
push eax
movzx eax, byte [ebx + 0x198]
push eax
movzx eax, byte [ebx + 0x197]
push eax
movzx eax, byte [ebx + 0x196]
push eax
movzx eax, byte [ebx + 0x195]
push eax
movzx eax, byte [ebx + 0x194]
push eax
lea eax, [ebp - 0x24]
push str._02X_02X_02X_02X_02X_02X
push eax
call fcn.00421f70
lea esi, [ebx + 0x10c]
mov dword [ebp - 0x28b0], 0
mov ebx, esi
mov dword [ebp - 0x28ac], 0xf
add esp, 0x20
mov byte [ebp - 0x28c0], 0
lea ecx, [ebx + 1]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x420a77
sub ebx, ecx
cmp ebx, 0xf
ja 0x420ac4
push ebx
lea eax, [ebp - 0x28c0]
mov dword [ebp - 0x28b0], ebx
push esi
push eax
call fcn.0049d720
mov byte [ebp + ebx - 0x28c0], 0
mov edi, dword [ebp - 0x28ac]
mov ecx, dword [ebp - 0x28c0]
mov ebx, dword [ebp - 0x28b0]
mov dword [ebp - 0x28c4], edi
mov dword [ebp - 0x28c8], ecx
jmp 0x420b7e
cmp ebx, 0x7fffffff
ja 0x421192
mov edi, ebx
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x420aed
mov edi, SysReAllocString
mov dword [ebp - 0x28c4], edi
lea ecx, [edi + 0x24]
jmp 0x420b13
cmp edi, 0x16
mov eax, 0x16
cmovb edi, eax
mov dword [ebp - 0x28c4], edi
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x420b2f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x421197
push ecx
call fcn.004252e9
add esp, 4
test eax, eax
je 0x42119c
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x420b54
test eax, eax
je 0x420b4c
push eax
call fcn.004252e9
add esp, 4
mov dword [ebp - 0x28c8], eax
mov ecx, eax
mov dword [ebp - 0x28c4], edi
jmp 0x420b5a
xor ecx, ecx
mov dword [ebp - 0x28c4], edi
mov dword [ebp - 0x28c8], ecx
push ebx
push esi
push ecx
mov dword [ebp - 0x28b0], ebx
mov dword [ebp - 0x28ac], edi
call fcn.0049cf70
mov ecx, dword [ebp - 0x28c8]
mov dword [ebp - 0x28c0], ecx
mov byte [ecx + ebx], 0
add esp, 0xc
cmp edi, 0x10
mov byte [ebp - 4], 1
lea esi, [ebp - 0x28c0]
cmovae esi, ecx
cmp ebx, 3
jb 0x420c00
lea edi, [ebx + esi]
lea eax, [edi - 2]
sub eax, esi
push eax
push 0x50
push esi
call fcn.0049d4f0
mov edx, eax
add esp, 0xc
test edx, edx
je 0x420bfa
movzx ecx, byte [edx]
cmp cl, 0x50
jne 0x420bcc
movzx eax, byte [edx + 1]
cmp al, cl
jne 0x420bcc
movzx eax, byte [edx + 2]
cmp al, cl
jne 0x420bcc
xor eax, eax
jmp 0x420bd1
sbb eax, eax
or eax, 1
test eax, eax
je 0x420bef
inc edx
lea eax, [edi - 2]
sub eax, edx
push eax
push 0x50
push edx
call fcn.0049d4f0
mov edx, eax
add esp, 0xc
test edx, edx
jne 0x420bb0
jmp 0x420bfa
sub edx, esi
cmp edx, 0xffffffff
jne 0x420edc
mov edi, dword [ebp - 0x28c4]
cmp edi, 0x10
lea ecx, [ebp - 0x28c0]
cmovae ecx, dword [ebp - 0x28c8]
mov dword [ebp - 0x28cc], ecx
cmp ebx, 5
jb 0x420cc1
lea eax, [ecx - 4]
add eax, ebx
mov dword [ebp - 0x28d4], eax
sub eax, ecx
push eax
push 0x56
push ecx
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x420cc1
mov ecx, esi
mov edx, str.VMare
mov edi, 1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420c5f
add ecx, 4
mov edi, 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x420c86
cmp edi, 0xfffffffd
je 0x420c82
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x420c86
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x420c86
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x420c86
xor eax, eax
jmp 0x420c8b
sbb eax, eax
or eax, 1
test eax, eax
je 0x420cac
mov eax, dword [ebp - 0x28d4]
inc esi
sub eax, esi
push eax
push 0x56
push esi
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420c42
jmp 0x420cbb
sub esi, dword [ebp - 0x28cc]
cmp esi, 0xffffffff
jne 0x420edc
mov edi, dword [ebp - 0x28c4]
cmp edi, 0x10
lea ecx, [ebp - 0x28c0]
cmovae ecx, dword [ebp - 0x28c8]
mov dword [ebp - 0x28d4], ecx
cmp ebx, 7
jb 0x420d7a
lea eax, [ecx - 6]
add eax, ebx
mov dword [ebp - 0x28cc], eax
sub eax, ecx
push eax
push 0x56
push ecx
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x420d7a
mov ecx, esi
mov edx, str.Virtual
mov edi, 3
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420d1e
add ecx, 4
add edx, 4
or edi, 0xffffffff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x420d45
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x420d45
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x420d45
cmp edi, 0xffffffff
je 0x420d41
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x420d45
xor eax, eax
jmp 0x420d4a
sbb eax, eax
or eax, 1
test eax, eax
je 0x420d6b
mov eax, dword [ebp - 0x28cc]
inc esi
sub eax, esi
push eax
push 0x56
push esi
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420d03
jmp 0x420d7a
sub esi, dword [ebp - 0x28d4]
cmp esi, 0xffffffff
jne 0x420edc
cmp dword [ebp - 0x28c4], 0x10
lea edi, [ebp - 0x28c0]
cmovae edi, dword [ebp - 0x28c8]
cmp ebx, 4
jb 0x420e14
lea eax, [edi - 3]
add eax, ebx
sub eax, edi
push eax
push 0x53
push edi
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x420e14
mov ecx, esi
mov edx, str.SLIP
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420dc4
add ecx, 4
xor eax, eax
jmp 0x420de9
cmp al, byte [edx]
jne 0x420de4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x420de4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x420de4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x420de4
xor eax, eax
jmp 0x420de9
sbb eax, eax
or eax, 1
test eax, eax
je 0x420e09
lea eax, [edi - 3]
inc esi
add eax, ebx
sub eax, esi
push eax
push 0x53
push esi
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420db0
jmp 0x420e14
sub esi, edi
cmp esi, 0xffffffff
jne 0x420edc
cmp dword [ebp - 0x28c4], 0x10
lea ecx, [ebp - 0x28c0]
cmovae ecx, dword [ebp - 0x28c8]
mov dword [ebp - 0x28cc], ecx
cmp ebx, 5
jb 0x420ec6
add ebx, ecx
lea eax, [ebx - 4]
sub eax, ecx
push eax
push 0x50
push ecx
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x420ec6
mov ecx, esi
mov edx, str.P.P.P
mov edi, 1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x420e71
add ecx, 4
mov edi, 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x420e98
cmp edi, 0xfffffffd
je 0x420e94
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x420e98
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x420e98
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x420e98
xor eax, eax
jmp 0x420e9d
sbb eax, eax
or eax, 1
test eax, eax
je 0x420ebb
inc esi
lea eax, [ebx - 4]
sub eax, esi
push eax
push 0x50
push esi
call fcn.0049d4f0
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x420e54
jmp 0x420ec6
sub esi, dword [ebp - 0x28cc]
cmp esi, 0xffffffff
jne 0x420edc
lea edx, [ebp - 0x28ec]
lea ecx, [ebp - 0x24]
call fcn.00421df0
test al, al
je 0x420ff0
mov ebx, dword [ebp - 0x28d8]
mov ebx, dword [ebx]
mov dword [ebp - 0x28d8], ebx
test ebx, ebx
je 0x420faf
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x28c4]
cmp eax, 0x10
jb 0x420f32
mov edx, dword [ebp - 0x28c8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x420f28
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42119c
push ecx
push edx
call fcn.0042556a
add esp, 8
mov edi, dword [ebp - 0x28dc]
inc edi
mov dword [ebp - 0x28dc], edi
cmp edi, 0x10
jb 0x420a10
xor bl, bl
mov esi, dword [ebp - 0x28ec]
test esi, esi
je 0x42116f
mov edx, dword [ebp - 0x28e8]
push ecx
mov ecx, esi
call fcn.00422160
mov ecx, dword [ebp - 0x28e4]
mov eax, 0x2aaaaaab
sub ecx, esi
add esp, 4
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x421165
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42118d
jmp 0x421165
mov eax, dword [ebp - 0x28c4]
cmp eax, 0x10
jb 0x420f48
mov edx, dword [ebp - 0x28c8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x420fe1
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42119c
push ecx
push edx
call fcn.0042556a
add esp, 8
jmp 0x420f48
lea esi, [ebp - 0x24]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x420ff6
mov ebx, dword [ebp - 0x28d0]
sub esi, ecx
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x28cc], ecx
cmp esi, ecx
ja 0x421038
cmp ecx, 0x10
jb 0x421019
mov ebx, dword [ebx]
mov eax, dword [ebp - 0x28e0]
push esi
mov dword [eax], esi
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0049d720
add esp, 0xc
mov byte [ebx + esi], 0
jmp 0x421126
cmp esi, 0x7fffffff
ja 0x421192
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
ja 0x421080
mov edx, ecx
mov eax, SysReAllocString
shr edx, 1
sub eax, edx
cmp ecx, eax
ja 0x421080
lea eax, [edx + ecx]
cmp edi, eax
cmovb edi, eax
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x4210a6
lea eax, [ecx + 0x23]
cmp eax, ecx
jbe 0x421197
jmp 0x42108a
mov edi, SysReAllocString
mov eax, 0x80000023
push eax
call fcn.004252e9
add esp, 4
test eax, eax
je 0x42119c
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x4210b9
test ecx, ecx
je 0x4210b7
push ecx
call fcn.004252e9
add esp, 4
mov ebx, eax
jmp 0x4210b9
xor ebx, ebx
mov eax, dword [ebp - 0x28e0]
push esi
mov dword [eax], esi
mov eax, dword [ebp - 0x28d0]
mov dword [eax + 0x14], edi
lea eax, [ebp - 0x24]
push eax
push ebx
call fcn.0049cf70
mov eax, dword [ebp - 0x28cc]
add esp, 0xc
mov byte [ebx + esi], 0
cmp eax, 0x10
jb 0x42111e
mov esi, dword [ebp - 0x28d0]
lea ecx, [eax + 1]
mov eax, dword [esi]
cmp ecx, 0x1000
jb 0x421110
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42119c
mov eax, edx
push ecx
push eax
call fcn.0042556a
add esp, 8
mov dword [esi], ebx
jmp 0x421126
mov eax, dword [ebp - 0x28d0]
mov dword [eax], ebx
mov eax, dword [ebp - 0x28c4]
cmp eax, 0x10
jb 0x42115e
mov edx, dword [ebp - 0x28c8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x421154
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42119c
push ecx
push edx
call fcn.0042556a
add esp, 8
mov bl, 1
jmp 0x420f4a
push ecx
push esi
call fcn.0042556a
add esp, 8
mov al, bl
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.004250ca
mov esp, ebp
pop ebp
ret
call fcn.004a4753
call fcn.00401470
call fcn.004013f9
call fcn.004a4753
int3