Function at 0x50c3b0
Capabilities:
Get mac address on windows
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5561a3
mov eax, dword fs:[0]
push eax
mov eax, 0x2bc0
call fcn.0052eb20
mov eax, dword [0x5c2b80]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x28ac]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreateSequential]
test eax, eax
jne 0x50c42a
movzx eax, byte [ebp - 0x289d]
push eax
movzx eax, byte [ebp - 0x289e]
push eax
movzx eax, byte [ebp - 0x289f]
push eax
movzx eax, byte [ebp - 0x28a0]
push eax
movzx eax, byte [ebp - 0x28a1]
push eax
movzx eax, byte [ebp - 0x28a2]
jmp 0x50c4f1
push 0x287c
lea eax, [ebp - 0x2890]
mov dword [ebp - 0x2894], 0
push 0
push eax
call fcn.0052ebd0
add esp, 0xc
mov dword [ebp - 0x2898], 0x2880
lea eax, [ebp - 0x2ba4]
push 0x288
push 0
push eax
call fcn.0052ebd0
add esp, 0xc
lea eax, [ebp - 0x2898]
push eax
lea eax, [ebp - 0x2894]
push eax
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersInfo]
test eax, eax
jne 0x50c500
mov cl, byte [ebp - 0x2a0b]
lea eax, [ebp - 0x2894]
mov dl, byte [ebp - 0x2a0c]
mov bl, byte [ebp - 0x2a0d]
mov ch, byte [ebp - 0x2a0e]
mov dh, byte [ebp - 0x2a0f]
mov bh, byte [ebp - 0x2a10]
add bh, byte [eax + 0x194]
add dh, byte [eax + 0x195]
add ch, byte [eax + 0x196]
add bl, byte [eax + 0x197]
add dl, byte [eax + 0x198]
add cl, byte [eax + 0x199]
mov eax, dword [eax]
test eax, eax
jne 0x50c4b0
movzx eax, cl
push eax
movzx eax, dl
push eax
movzx eax, bl
push eax
movzx eax, ch
push eax
movzx eax, dh
push eax
movzx eax, bh
push eax
push str._02X:_02X:_02X:_02X:_02X:_02X
push esi
call fcn.00457480
add esp, 0x20
mov eax, dword [esi]
or edi, 0xffffffff
cmp dword [eax - 0xc], 0
jne 0x50c617
lea ecx, [ebp - 0x2ba8]
call fcn.0045a980
mov dword [ebp - 4], 0
mov ecx, dword [eax]
mov eax, dword [esi]
sub eax, 0x10
mov dword [ebp - 0x2bac], eax
lea ebx, [ecx - 0x10]
cmp ebx, eax
je 0x50c5f1
cmp dword [eax + 0xc], 0
lea edx, [eax + 0xc]
mov dword [ebp - 0x2bb0], edx
jl 0x50c5e6
mov edx, dword [ebx]
cmp edx, dword [eax]
jne 0x50c5e6
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x10]
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
mov ecx, eax
jl 0x50c577
cmp ecx, dword [ebx]
jne 0x50c577
mov eax, 1
lock xadd dword [edx], eax
jmp 0x50c5c0
mov eax, dword [ecx]
push 2
push dword [ebx + 4]
call dword [eax]
mov edx, eax
mov dword [ebp - 0x2898], edx
test edx, edx
jne 0x50c591
call fcn.00456de0
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ebx + 4]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ecx*2 + 2]
push eax
lea eax, [edx + 0x10]
push eax
call fcn.0052b264
mov ebx, dword [ebp - 0x2898]
add esp, 0x10
mov ecx, dword [ebp - 0x2bb0]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x50c5df
mov edx, dword [ebp - 0x2bac]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebx + 0x10]
mov dword [esi], eax
jmp 0x50c5f1
push dword [ecx - 0xc]
push ecx
mov ecx, esi
call fcn.004573c0
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
mov edx, dword [ebp - 0x2ba8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50c617
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x50c736
mov ecx, 0x59a7c0
call fcn.004f06e0
push eax
lea ecx, [ebp - 0x2898]
call fcn.00457210
mov dword [ebp - 4], 2
mov ecx, dword [eax]
mov eax, dword [esi]
sub eax, 0x10
mov dword [ebp - 0x2bb0], eax
lea ebx, [ecx - 0x10]
cmp ebx, eax
je 0x50c710
cmp dword [eax + 0xc], 0
lea edx, [eax + 0xc]
mov dword [ebp - 0x2bac], edx
jl 0x50c705
mov edx, dword [ebx]
cmp edx, dword [eax]
jne 0x50c705
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x10]
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
mov ecx, eax
jl 0x50c696
cmp ecx, dword [ebx]
jne 0x50c696
mov eax, 1
lock xadd dword [edx], eax
jmp 0x50c6df
mov eax, dword [ecx]
push 2
push dword [ebx + 4]
call dword [eax]
mov edx, eax
mov dword [ebp - 0x2ba8], edx
test edx, edx
jne 0x50c6b0
call fcn.00456de0
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ebx + 4]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ecx*2 + 2]
push eax
lea eax, [edx + 0x10]
push eax
call fcn.0052b264
mov ebx, dword [ebp - 0x2ba8]
add esp, 0x10
mov ecx, dword [ebp - 0x2bac]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x50c6fe
mov edx, dword [ebp - 0x2bb0]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebx + 0x10]
mov dword [esi], eax
jmp 0x50c710
push dword [ecx - 0xc]
push ecx
mov ecx, esi
call fcn.004573c0
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
mov edx, dword [ebp - 0x2898]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50c736
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, esi
mov dword [ebp - 0x2908], 0
lea ecx, [ebp - 0x2bc8]
mov dword [ebp - 0x290c], 0
mov dword [ebp - 0x291c], 0x67452301
mov dword [ebp - 0x2918], 0xefcdab89
mov dword [ebp - 0x2914], 0x98badcfe
mov dword [ebp - 0x2910], 0x10325476
mov byte [ebp - 0x28b4], 0
mov dword [ebp - 0x289c], 0
call fcn.00457010
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x50c79f
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x289c]
call fcn.0051ae40
mov byte [ebp - 4], 6
cmp dword [ebp - 0x2bb4], 0x10
jb 0x50c7c6
push dword [ebp - 0x2bc8]
call fcn.0047c370
add esp, 4
mov eax, dword [ebp - 0x289c]
mov dword [ebp - 0x2bb4], 0xf
mov dword [ebp - 0x2bb8], 0
mov byte [ebp - 0x2bc8], 0
cmp dword [eax - 4], 1
mov ebx, dword [eax - 0xc]
jle 0x50c802
push ebx
lea ecx, [ebp - 0x289c]
call fcn.0045c400
mov eax, dword [ebp - 0x289c]
push ebx
push eax
lea ecx, [ebp - 0x291c]
call fcn.00529560
lea ecx, [ebp - 0x291c]
call fcn.00529620
lea eax, [ebp - 0x2898]
push eax
lea ecx, [ebp - 0x291c]
call fcn.005293a0
mov byte [ebp - 4], 7
mov edx, dword [eax]
mov eax, dword [esi]
sub eax, 0x10
mov dword [ebp - 0x2bb0], eax
lea ebx, [edx - 0x10]
cmp ebx, eax
je 0x50c8fe
cmp dword [eax + 0xc], 0
lea ecx, [eax + 0xc]
mov dword [ebp - 0x2bac], ecx
jl 0x50c8f3
mov ecx, dword [ebx]
cmp ecx, dword [eax]
jne 0x50c8f3
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [ebx + 0xc], 0
lea edx, [ebx + 0xc]
mov ecx, eax
jl 0x50c884
cmp ecx, dword [ebx]
jne 0x50c884
mov eax, 1
lock xadd dword [edx], eax
jmp 0x50c8cd
mov eax, dword [ecx]
push 2
push dword [ebx + 4]
call dword [eax]
mov edx, eax
mov dword [ebp - 0x2ba8], edx
test edx, edx
jne 0x50c89e
call fcn.00456de0
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ebx + 4]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebx + 0x10]
push eax
lea eax, [ecx*2 + 2]
push eax
lea eax, [edx + 0x10]
push eax
call fcn.0052b264
mov ebx, dword [ebp - 0x2ba8]
add esp, 0x10
mov ecx, dword [ebp - 0x2bac]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x50c8ec
mov edx, dword [ebp - 0x2bb0]
push edx
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebx + 0x10]
mov dword [esi], eax
jmp 0x50c8fe
push dword [edx - 0xc]
mov ecx, esi
push edx
call fcn.004573c0
mov byte [ebp - 4], 6
mov ecx, edi
mov edx, dword [ebp - 0x2898]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x50c921
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x289c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x50c945
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0052ab62
mov esp, ebp
pop ebp
ret 4