Function at 0x4ec620
Capabilities:
Get local ipv4 addresses
Get mac address on windows

Disassembly:
push ebp
push edi
xor ecx, ecx
push esi
push ebx
xor edx, edx
mov eax, 6
mov ebx, 0xe
sub esp, 0x7c
call fcn.004eb9f0
test eax, eax
mov dword [esp + 0x28], eax
je 0x4ec700
lea esi, [esp + 0x6c]
mov dword [esp + 0x6c], 0
xor ebp, ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0
call sub.IPHLPAPI.DLL_GetAdaptersAddresses
sub esp, 0x14
test eax, eax
mov edi, eax
je 0x4ec750
mov dword [esp], ebp
call fcn.004c95f0
cmp edi, 0x6f
je 0x4ec730
jbe 0x4ec6e5
cmp edi, 0xe8
je 0x4ec6b1
cmp edi, 0x4cc
mov eax, 0xfffff008
jne 0x4ec6ef
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], 1
call fcn.004c95e0
test eax, eax
je 0x4ec746
mov esi, dword [esp + 0x94]
mov dword [esi], 0
mov esi, dword [esp + 0x90]
mov dword [esi], eax
add esp, 0x7c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edi, 0x57
mov eax, 0xfffff024
je 0x4ec6a9
mov dword [esp], edi
call fcn.004cc7f0
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 1
mov edx, 1
mov eax, 5
call fcn.004eb9f0
test eax, eax
je 0x4ecb87
mov ebx, 0x1e
jmp 0x4ec646
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.004c95e0
test eax, eax
mov ebp, eax
jne 0x4ec654
mov eax, 0xfffff027
jmp 0x4ec6a9
test ebp, ebp
mov esi, ebp
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], 0
mov ebx, dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
je 0x4ecbdb
mov dword [esp + 0x24], ebp
xor edi, edi
xor ebp, ebp
nop
lea esi, [esi]
cmp dword [esi + 0x44], 1
jne 0x4ec7ee
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4ec7ee
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov eax, dword [esi + 0x28]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call ebx
sub esp, 0x20
test eax, eax
jle 0x4ecb91
add edi, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4ec7ee
mov eax, dword [eax + 8]
add ebp, 1
add edi, 0x48
test eax, eax
jne 0x4ec7e1
mov esi, dword [esi + 8]
test esi, esi
jne 0x4ec780
mov dword [esp], edi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x50], edi
mov ebp, dword [esp + 0x24]
call fcn.004c95e0
test eax, eax
mov dword [esp + 0x54], eax
je 0x4ecbf8
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov ebx, ebp
mov dword [esp + 0x5c], ebp
lea eax, [eax + eax*8]
mov ebp, esi
lea eax, [esi + eax*8]
mov esi, ebx
mov dword [esp + 0x30], eax
cmp dword [esi + 0x44], 1
jne 0x4eca9c
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4eca9c
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x50]
mov edx, 0x7fffffff
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xffffffff
sub eax, ebx
mov dword [esp + 0x10], ebx
cmovs eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov dword [esp + 8], eax
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
sub esp, 0x20
test eax, eax
mov dword [esp + 0x4c], eax
jle 0x4ecbb0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4eca94
mov dword [esp + 0x2c], esi
mov esi, eax
jmp 0x4ec95c
movzx eax, byte [esi + 0x2c]
mov dword [esp + 0x24], eax
lea edx, [ebp + 4]
lea edi, [ebp + 8]
xor eax, eax
mov dword [ebp + 4], 0
mov dword [ebp + 0x44], 0
and edi, 0xfffffffc
mov ecx, edx
sub ecx, edi
add ecx, 0x44
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x30]
mov dword [ebp], eax
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x34], 6
je 0x4ecb60
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x40], 0x18
sete al
cmp word [ebx], 0x17
movzx eax, al
mov dword [ebp + 0xc], eax
mov eax, dword [ebx]
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0x1c], eax
je 0x4ecb00
mov edx, dword [esp + 0x24]
mov eax, 2
mov word [ebp + 0x2c], ax
xor eax, eax
test edx, edx
jne 0x4ecad4
mov dword [ebp + 0x30], eax
mov esi, dword [esi + 8]
add ebp, 0x48
test esi, esi
je 0x4eca90
mov eax, dword [esp + 0x28]
mov ebx, dword [esi + 0xc]
test eax, eax
jne 0x4ec8c0
mov eax, dword [esp + 0x2c]
movzx ecx, word [ebx]
mov dword [esp + 0x24], 0
mov eax, dword [eax + 0x8c]
mov word [esp + 0x3e], cx
lea ecx, [ebx + 4]
test eax, eax
mov dword [esp + 0x38], ecx
je 0x4eca73
mov dword [esp + 0x40], ebx
movzx ebx, word [esp + 0x3e]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], esi
mov edx, dword [eax + 0xc]
cmp word [edx], bx
jne 0x4eca50
mov ebp, dword [eax + 0x14]
cmp ebp, dword [esp + 0x24]
jbe 0x4eca50
cmp bx, 0x17
mov edi, dword [esp + 0x38]
lea ecx, [edx + 4]
jne 0x4ec9d5
mov esi, dword [esp + 0x40]
lea ecx, [edx + 8]
lea edi, [esi + 8]
mov esi, ebp
sar esi, 3
test esi, esi
jle 0x4ecb80
movzx edx, byte [edi]
cmp byte [ecx], dl
jne 0x4eca50
xor edx, edx
mov dword [esp + 0x34], eax
jmp 0x4ec9fe
movzx eax, byte [ecx + edx]
cmp byte [edi + edx], al
jne 0x4ecaf5
add edx, 1
cmp edx, esi
jne 0x4ec9f1
mov eax, dword [esp + 0x34]
test ebp, 7
je 0x4ecb75
movzx edx, byte [ecx + esi]
mov ecx, ebp
sar ecx, 0x1f
shr ecx, 0x1d
mov dword [esp + 0x34], edx
lea edx, [ebp + ecx]
and edx, 7
sub edx, ecx
mov ecx, 8
sub ecx, edx
mov edx, 0xff
shl edx, cl
movzx ecx, byte [edi + esi]
and edx, ecx
cmp dword [esp + 0x34], edx
cmovne ebp, dword [esp + 0x24]
mov dword [esp + 0x24], ebp
nop
mov eax, dword [eax + 8]
test eax, eax
jne 0x4ec9a5
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
test edi, edi
jne 0x4ec8c8
cmp word [esp + 0x3e], 0x17
mov edx, 0x20
mov eax, 0x80
cmovne eax, edx
mov dword [esp + 0x24], eax
jmp 0x4ec8c8
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x4c]
add dword [esp + 0x30], ebx
mov esi, dword [esi + 8]
test esi, esi
jne 0x4ec831
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
call fcn.004c95f0
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x54]
mov dword [eax], esi
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0x58]
mov dword [eax], esi
xor eax, eax
jmp 0x4ec6a9
mov ecx, 0x20
sub ecx, dword [esp + 0x24]
mov eax, 0xffffffff
shl eax, cl
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htonl]
sub esp, 4
jmp 0x4ec94b
mov eax, dword [esp + 0x34]
jmp 0x4eca50
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x24]
mov ecx, 0x17
mov dword [ebp + 0x20], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp + 0x24], eax
mov eax, dword [ebx + 0x18]
mov ebx, edi
shr ebx, 3
mov word [ebp + 0x2c], cx
mov dword [ebp + 0x28], eax
lea eax, [ebp + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xff
mov dword [esp], eax
call sub.msvcrt.dll_putwc
mov eax, edi
and eax, 7
je 0x4ec94e
mov ecx, 8
sub ecx, eax
mov eax, 0xff
shl eax, cl
mov byte [ebp + ebx + 0x34], al
jmp 0x4ec94e
mov ecx, eax
mov eax, dword [eax + 0x2c]
mov dword [ebp + 4], eax
movzx eax, word [ecx + 0x30]
mov word [ebp + 8], ax
jmp 0x4ec902
mov dword [esp + 0x24], ebp
jmp 0x4eca50
xor esi, esi
jmp 0x4eca09
mov eax, 0xfffff02f
jmp 0x4ec6a9
mov ebp, dword [esp + 0x24]
mov dword [esp], ebp
call fcn.004c95f0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [esp], eax
call fcn.004cc7f0
jmp 0x4ec6a9
mov ebp, dword [esp + 0x5c]
mov dword [esp], ebp
call fcn.004c95f0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004c95f0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [esp], eax
call fcn.004cc7f0
jmp 0x4ec6a9
mov dword [esp], 0
call fcn.004c95e0
test eax, eax
mov dword [esp + 0x54], eax
je 0x4ecbf8
mov dword [esp + 0x58], ebp
jmp 0x4ecaab
mov dword [esp], ebp
call fcn.004c95f0
jmp 0x4ec746