Function at 0x43e020
Capabilities:
Get mac address on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x650
mov eax, dword [0x4899f8]
xor eax, ebp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x494], 0x288
push 0x58b8ac
mov eax, dword [ebp - 0x494]
push eax
call fcn.0044db2c
add esp, 8
mov dword [ebp - 0x498], eax
cmp dword [ebp - 0x498], 0
je 0x43e08d
mov ecx, dword [ebp - 0x494]
push ecx
push 0
mov edx, dword [ebp - 0x498]
push edx
call fcn.004472f0
add esp, 0xc
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x648], eax
jmp 0x43e097
mov dword [ebp - 0x648], 0
mov ecx, dword [ebp - 0x648]
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0
jne 0x43e0ad
xor eax, eax
jmp 0x43e5d5
mov dword [ebp - 0x10], 0x288
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x18]
push eax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xc], 0x6f
jne 0x43e11a
cmp dword [ebp - 0x18], 0
je 0x43e0ef
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x49c], ecx
mov edx, dword [ebp - 0x49c]
push edx
call fcn.0040e0a7
add esp, 4
mov eax, dword [ebp - 0x10]
push eax
call fcn.00443ea2
add esp, 4
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x10]
push edx
mov eax, dword [ebp - 0x18]
push eax
call sub.IPHLPAPI.DLL_GetAdaptersInfo
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0xc], 0
jne 0x43e5b4
cmp dword [ebp - 0x18], 0
je 0x43e5b4
push str.Microsoft
mov edx, dword [ebp - 0x18]
add edx, 0x10c
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIA]
test eax, eax
jne 0x43e5a7
push 0x440
push 0
lea eax, [ebp - 0x460]
push eax
call fcn.004472f0
add esp, 0xc
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x1a0]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x64c]
sub eax, 1
mov dword [ebp - 0x64c], eax
cmp dword [ebp - 0x64c], 0x1b
ja case.0x43e19f.1
mov ecx, dword [ebp - 0x64c]
movzx edx, byte [ecx + 0x43e604]
jmp dword [edx*4 + 0x43e5e4]
push str.OTHER
push 0x20
lea eax, [ebp - 0x460]
push eax
call fcn.00403440
jmp case.0x43e19f.1
push str.ETHERNET
push 0x20
lea ecx, [ebp - 0x460]
push ecx
call fcn.00403440
jmp case.0x43e19f.1
push str.TOKENRING
push 0x20
lea edx, [ebp - 0x460]
push edx
call fcn.00403440
jmp case.0x43e19f.1
push str.FDDI
push 0x20
lea eax, [ebp - 0x460]
push eax
call fcn.00403440
jmp case.0x43e19f.1
push 0x478cf0
push 0x20
lea ecx, [ebp - 0x460]
push ecx
call fcn.00403440
jmp case.0x43e19f.1
push str.LOOPBACK
push 0x20
lea edx, [ebp - 0x460]
push edx
call fcn.00403440
jmp case.0x43e19f.1
push str.SLIP
push 0x20
lea eax, [ebp - 0x460]
push eax
call fcn.00403440
push 0x103
mov ecx, dword [ebp - 0x18]
add ecx, 0x10c
push ecx
push 0x104
lea edx, [ebp - 0x33c]
push edx
call fcn.0043f360
push 0x103
mov eax, dword [ebp - 0x18]
add eax, 8
push eax
push 0x104
lea ecx, [ebp - 0x440]
push ecx
call fcn.0043f360
mov byte [ebp - 0x488], 0
xor edx, edx
mov dword [ebp - 0x487], edx
mov dword [ebp - 0x483], edx
mov dword [ebp - 0x47f], edx
mov dword [ebp - 0x47b], edx
mov dword [ebp - 0x477], edx
mov dword [ebp - 0x473], edx
mov dword [ebp - 0x46f], edx
mov word [ebp - 0x46b], dx
mov byte [ebp - 0x469], dl
mov byte [ebp - 0x468], 0
xor eax, eax
mov dword [ebp - 0x467], eax
mov word [ebp - 0x463], ax
mov byte [ebp - 0x461], al
push 0x20
push 0
lea ecx, [ebp - 0x488]
push ecx
call fcn.004472f0
add esp, 0xc
mov dword [ebp - 0x48c], 0
jmp 0x43e2fe
mov edx, dword [ebp - 0x48c]
add edx, 1
mov dword [ebp - 0x48c], edx
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48c]
cmp ecx, dword [eax + 0x190]
jae 0x43e3c3
push 8
push 0
lea edx, [ebp - 0x468]
push edx
call fcn.004472f0
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x190]
sub ecx, 1
cmp dword [ebp - 0x48c], ecx
jae 0x43e363
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x48c]
movzx eax, byte [edx + 0x194]
push eax
push str._02X_
push 8
lea ecx, [ebp - 0x468]
push ecx
call fcn.00401920
add esp, 0x10
jmp 0x43e38a
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x48c]
movzx eax, byte [edx + 0x194]
push eax
push str._02X
push 8
lea ecx, [ebp - 0x468]
push ecx
call fcn.00401920
add esp, 0x10
mov edx, 0x20
cmp edx, 0x7fffffff
jbe 0x43e3a3
mov dword [ebp - 0x564], 0x80070057
jmp 0x43e3be
lea eax, [ebp - 0x468]
push eax
push 0x20
lea ecx, [ebp - 0x488]
push ecx
call fcn.00403210
mov dword [ebp - 0x564], eax
jmp 0x43e2ef
lea edx, [ebp - 0x488]
push edx
call fcn.004482c0
add esp, 4
test eax, eax
je 0x43e5a7
push str.00_00_00_00_00_00
lea eax, [ebp - 0x488]
push eax
call fcn.004474c0
add esp, 8
test eax, eax
je 0x43e5a7
mov dword [ebp - 0x490], 0
lea ecx, [ebp - 0x490]
push ecx
lea edx, [ebp - 0x440]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0043be80
add esp, 0xc
test eax, eax
je 0x43e4c7
mov ecx, dword [ebp - 0x490]
movsx edx, byte [ecx]
test edx, edx
jne 0x43e44f
movsx eax, byte [ebp - 0x460]
test eax, eax
je 0x43e44f
lea ecx, [ebp - 0x460]
push ecx
push 0x20
mov edx, dword [ebp - 0x490]
push edx
call fcn.00403440
mov eax, dword [ebp - 0x490]
movsx ecx, byte [eax + 0x124]
test ecx, ecx
jne 0x43e489
movsx edx, byte [ebp - 0x33c]
test edx, edx
je 0x43e489
lea eax, [ebp - 0x33c]
push eax
push 0x104
mov ecx, dword [ebp - 0x490]
add ecx, 0x124
push ecx
call fcn.00403440
mov edx, dword [ebp - 0x490]
movsx eax, byte [edx + 0x228]
test eax, eax
jne 0x43e4c2
movsx ecx, byte [ebp - 0x238]
test ecx, ecx
je 0x43e4c2
lea edx, [ebp - 0x238]
push edx
push 0x104
mov eax, dword [ebp - 0x490]
add eax, 0x228
push eax
call fcn.00403440
jmp 0x43e5a7
cmp dword [ebp + 0xc], 0
je 0x43e5a7
mov ecx, dword [ebp - 0x18]
cmp dword [ecx + 0x190], 6
jbe 0x43e4e9
mov dword [ebp - 0x650], 6
jmp 0x43e4f8
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x190]
mov dword [ebp - 0x650], eax
mov ecx, dword [ebp - 0x650]
push ecx
mov edx, dword [ebp - 0x18]
add edx, 0x194
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.004478e0
add esp, 0xc
lea ecx, [ebp - 0x488]
push ecx
push 0x104
lea edx, [ebp - 0x134]
push edx
call fcn.00403440
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x5e0], ecx
mov dword [ebp - 0x5dc], 0
mov edx, dword [ebp - 0x5e0]
mov dword [ebp - 0x5d8], edx
mov eax, 1
test eax, eax
je 0x43e567
cmp dword [ebp + 8], 0
jne 0x43e563
call fcn.0044916a
xor ecx, ecx
jne 0x43e563
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [ebp - 0x5dc], eax
mov ecx, dword [ebp - 0x5dc]
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 0x5d0], edx
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x5d0]
push ecx
mov edx, dword [ebp - 0x5d4]
push edx
mov ecx, dword [ebp + 8]
call fcn.0043eba0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
jmp 0x43e12a
cmp dword [ebp - 8], 0
je 0x43e5d2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x4a4]
push eax
call fcn.0040e0a7
add esp, 4
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.004472d8
mov esp, ebp
pop ebp
ret