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

Disassembly:
push 0x3bc
mov eax, 0x479691
call fcn.00450887
mov edi, edx
mov dword [ebp - 0x130], edx
mov eax, ecx
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x134], edi
and dword [ebp - 0x128], 0
mov ecx, edi
call fcn.00412ea0
test edi, edi
je 0x413922
mov byte [edi + 0xb4], 0
xor eax, eax
inc eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
lea ebx, [ebp - 0x194]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x68], eax
xor eax, eax
xor ecx, ecx
push ebx
cpuid
mov esi, ebx
pop ebx
lea ebx, [ebp - 0x194]
mov dword [ebx], eax
mov dword [ebx + 4], esi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], edx
lea ecx, [ebp - 0xd4]
call fcn.00408e27
xor ebx, ebx
inc ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 2
mov edx, edi
lea ecx, [ebp - 0xa4]
call fcn.00412f32
mov byte [ebp - 4], 3
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.0040d671
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xd4]
call fcn.0040e9ad
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2c]
call fcn.004072b6
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa4]
call fcn.00407241
lea ecx, [ebp - 0xd4]
call fcn.0040d9ed
lea ecx, [ebp - 0xd4]
call fcn.0040d963
mov dword [ebp - 4], ebx
jmp 0x413aa3
xor ebx, ebx
mov esi, str.000000000000
push esi
lea ecx, [ebp - 0x44]
call fcn.00408df8
mov byte [ebp - 4], 9
push esi
lea ecx, [ebp - 0x5c]
call fcn.00408df8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c8]
call fcn.00423b43
mov byte [ebp - 4], 0xb
push str.Select__From_MSFT_NetAdapter_Where_ConnectorPresenttrue
push str.ROOTStandardCimv2
lea ecx, [ebp - 0x1c8]
call fcn.00423c58
mov byte [ebp - 0x11d], al
test al, al
jne 0x413b2a
push str.Select__From_Win32_NetworkAdapter_Where_PhysicalAdaptertrue
push str.ROOTCIMV2
lea ecx, [ebp - 0x1c8]
call fcn.00423c58
mov byte [ebp - 0x11d], al
test al, al
jne 0x413b2a
push str.Failed_to_query_Win32_NetworkAdapter
push 1
call fcn.00406d9c
pop ecx
pop ecx
test edi, edi
je 0x413b2a
mov byte [edi + 0xb4], 1
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x174], eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x16c], ebx
push ebx
push ebx
call fcn.00419782
mov dword [ebp - 0x170], eax
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ebx
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x174], 0x3f800000
push 8
lea ecx, [ebp - 0x174]
call fcn.00416e33
mov byte [ebp - 4], 0x11
cmp byte [ebp - 0x11d], 0
je 0x413d07
mov esi, 0x4914c4
lea ecx, [ebp - 0x8c]
call fcn.00407270
mov byte [ebp - 4], 0x12
push esi
lea eax, [ebp - 0x8c]
push eax
push str.PNPDeviceID
lea ecx, [ebp - 0x1c8]
call fcn.004241db
mov edx, str.ROOT_
lea ecx, [ebp - 0x8c]
call fcn.00418062
test al, al
jne 0x413ce5
mov edx, 0x495a48
lea ecx, [ebp - 0x8c]
call fcn.00418062
test al, al
jne 0x413ce5
mov edx, 0x495a50
lea ecx, [ebp - 0x8c]
call fcn.00418062
test al, al
jne 0x413ce5
lea ecx, [ebp - 0x74]
call fcn.00407270
mov byte [ebp - 4], 0x13
push esi
lea eax, [ebp - 0x74]
push eax
push str.GUID
lea ecx, [ebp - 0x1c8]
call fcn.004241db
test al, al
jne 0x413c52
push esi
lea eax, [ebp - 0x74]
push eax
push str.DeviceID
lea ecx, [ebp - 0x1c8]
call fcn.004241db
lea ecx, [ebp - 0x74]
call fcn.00408dcd
test al, al
jne 0x413cd9
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x2c]
call fcn.0040d671
mov byte [ebp - 4], 0x14
push dword [ebp - 0x138]
push eax
call fcn.0040a33f
pop ecx
push eax
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x174]
call fcn.00419229
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
call fcn.004072b6
test edi, edi
je 0x413cd9
lea esi, [edi + 0x9c]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x413cb3
push ecx
mov ecx, esi
call fcn.0041845b
lea ecx, [ebp - 0x74]
call fcn.0040732b
push eax
lea ecx, [ebp - 0x8c]
call fcn.0040732b
push eax
push dword [esi + 4]
call fcn.0041935c
add dword [esi + 4], 0x30
mov esi, 0x4914c4
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x74]
call fcn.00407241
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x8c]
call fcn.00407241
lea ecx, [ebp - 0x1c8]
call fcn.0042450b
test al, al
jne 0x413ba9
mov dword [ebp - 0x154], 0x3c00
push 2
pop edi
mov dword [ebp - 0x134], ebx
mov byte [ebp - 4], 0x15
push dword [ebp - 0x154]
call fcn.00450c07
pop ecx
mov esi, eax
mov dword [ebp - 0x12c], esi
mov ebx, esi
mov dword [ebp - 0x134], ebx
lea eax, [ebp - 0x154]
push eax
push esi
push 0
push 0x100
push 0
call dword [sym.imp.IPHLPAPI.DLL_GetAdaptersAddresses]
mov dword [ebp - 0x124], eax
cmp eax, 0x6f
jne 0x413d82
xor ebx, ebx
mov dword [ebp - 0x134], ebx
test esi, esi
je 0x413d75
push esi
call fcn.00450b1b
pop ecx
mov eax, dword [ebp - 0x124]
xor esi, esi
mov dword [ebp - 0x12c], esi
sub edi, 1
jne 0x413d1e
test eax, eax
mov edi, dword [ebp - 0x130]
jne 0x4141c5
and dword [ebp - 0x148], 0
and dword [ebp - 0x144], 0
call fcn.004178f5
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0x18
and dword [ebp - 0x140], 0
and dword [ebp - 0x13c], 0
call fcn.004178f5
mov dword [ebp - 0x140], eax
mov byte [ebp - 4], 0x1b
jmp 0x4140de
cmp dword [ebp - 0x16c], 0
je 0x413e9a
push dword [esi + 0xc]
lea ecx, [ebp - 0xa4]
call fcn.00408df8
mov byte [ebp - 4], 0x1c
or dword [ebp - 0x128], 1
mov edi, dword [ebp - 0x170]
lea ecx, [ebp - 0xa4]
call fcn.0040992c
push eax
lea ecx, [ebp - 0xa4]
call fcn.004072ab
push eax
call fcn.0040f696
pop ecx
pop ecx
mov edx, eax
and edx, dword [ebp - 0x15c]
mov dword [ebp - 0x124], edx
mov ecx, dword [ebp - 0x168]
mov esi, dword [ecx + edx*8]
mov eax, dword [ebp - 0x170]
cmp dword [ecx + edx*8], eax
jne 0x413e40
mov ecx, eax
jmp 0x413e4c
mov eax, dword [ecx + edx*8 + 4]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x170]
cmp esi, ecx
je 0x413e8d
lea ecx, [ebp - 0xa4]
push ecx
lea ecx, [esi + 8]
call fcn.00415129
test eax, eax
je 0x413e73
mov esi, dword [esi]
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x124]
jmp 0x413e31
lea eax, [esi + 8]
push eax
lea ecx, [ebp - 0xa4]
call fcn.00415129
test eax, eax
cmovne esi, dword [ebp - 0x170]
jmp 0x413e8f
mov esi, eax
cmp esi, edi
mov byte [ebp - 0x11d], 0
je 0x413ea1
mov byte [ebp - 0x11d], 1
mov dword [ebp - 4], 0x1b
mov eax, dword [ebp - 0x128]
test al, 1
je 0x413ec6
and eax, 0xfffffffe
mov dword [ebp - 0x128], eax
lea ecx, [ebp - 0xa4]
call fcn.004072b6
mov esi, dword [ebp - 0x12c]
cmp byte [ebp - 0x11d], 0
je 0x4140d5
lea eax, [esi + 0x40]
mov dword [ebp - 0x124], eax
cmp dword [eax], 6
je 0x413ef0
cmp dword [eax], 0x47
jne 0x4140d5
push ecx
push ecx
lea ecx, [ebp - 0x3c8]
call fcn.004152b9
mov byte [ebp - 4], 0x1d
xor edi, edi
cmp dword [esi + 0x34], edi
jbe 0x413f52
movzx ecx, byte [esi + edi + 0x2c]
mov eax, dword [ebp - 0x3b8]
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x378], 0x30
push ecx
push 0
push 2
lea eax, [ebp - 0x84]
push eax
call fcn.0044f90b
pop ecx
pop ecx
mov edx, eax
lea ecx, [ebp - 0x3b8]
call fcn.0040c7d8
mov ecx, eax
call fcn.00415b1b
mov ecx, eax
call fcn.00415a0d
inc edi
cmp edi, dword [esi + 0x34]
jb 0x413f08
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x3c8]
call fcn.0041521c
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x130]
test esi, esi
je 0x414071
mov edx, dword [ebp - 0x12c]
mov edx, dword [edx + 0xc]
lea ecx, [ebp - 0xec]
call fcn.0040d53b
mov dword [ebp - 0x184], eax
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x11c]
call fcn.0040d513
mov dword [ebp - 0x138], eax
mov byte [ebp - 4], 0x20
add esi, 0xa8
mov dword [ebp - 0x180], esi
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
cmp ecx, eax
jne 0x41401a
sub eax, ecx
cdq
push 0x34
pop edi
idiv edi
cmp eax, 1
jae 0x41401a
sub ecx, dword [esi]
mov eax, ecx
cdq
push edi
pop ecx
idiv ecx
mov edi, eax
mov eax, 0x4ec4ec4
sub eax, edi
cmp eax, 1
jb 0x414067
inc edi
mov eax, dword [esi + 8]
sub eax, dword [esi]
cdq
idiv ecx
mov esi, eax
mov ecx, esi
shr ecx, 1
mov edx, 0x4ec4ec4
sub edx, ecx
lea eax, [ecx + esi]
xor ecx, ecx
cmp edx, esi
cmovae ecx, eax
cmp ecx, edi
cmovae edi, ecx
push edi
mov esi, dword [ebp - 0x180]
mov ecx, esi
call fcn.004185bf
push dword [ebp - 0x184]
call fcn.0040a33f
pop ecx
push eax
mov edi, dword [ebp - 0x124]
push edi
push dword [ebp - 0x138]
call fcn.0040a33f
pop ecx
push eax
push dword [esi + 4]
call fcn.004193ee
add dword [esi + 4], 0x34
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x11c]
call fcn.00407241
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xec]
call fcn.00407241
jmp 0x414077
push str.vector_T__too_long
call fcn.0044eefd
mov edi, dword [ebp - 0x124]
cmp dword [edi], 6
jne 0x414095
push dword [ebp - 0x138]
lea eax, [ebp - 0x2c]
push eax
push ecx
lea eax, [ebp - 0x1d0]
lea ecx, [ebp - 0x148]
jmp 0x4140ae
cmp dword [edi], 0x47
jne 0x4140b4
push dword [ebp - 0x138]
lea eax, [ebp - 0x2c]
push eax
push ecx
lea eax, [ebp - 0x64]
lea ecx, [ebp - 0x140]
push eax
call fcn.0041947b
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2c]
call fcn.004072b6
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x3c8]
call fcn.00412e4e
mov esi, dword [ebp - 0x12c]
mov esi, dword [esi + 8]
mov dword [ebp - 0x12c], esi
test esi, esi
jne 0x413dcf
cmp dword [ebp - 0x144], 1
jbe 0x41412e
mov eax, dword [ebp - 0x148]
mov eax, dword [eax]
mov dword [ebp - 0x124], eax
add eax, 0x10
lea ecx, [ebp - 0x44]
cmp ecx, eax
je 0x414111
push 0xffffffffffffffff
push 0
push eax
call fcn.004099a9
lea ecx, [ebp - 0x124]
call fcn.00414ecb
mov eax, dword [ebp - 0x124]
add eax, 0x10
lea ecx, [ebp - 0x5c]
cmp ecx, eax
je 0x41419f
jmp 0x414195
cmp dword [ebp - 0x144], 0
je 0x414166
mov eax, dword [ebp - 0x148]
mov eax, dword [eax]
add eax, 0x10
lea ecx, [ebp - 0x44]
cmp ecx, eax
je 0x414153
push 0xffffffffffffffff
push 0
push eax
call fcn.004099a9
cmp dword [ebp - 0x13c], 0
je 0x41419f
mov eax, dword [ebp - 0x140]
mov eax, dword [eax]
jmp 0x414122
cmp dword [ebp - 0x13c], 1
jbe 0x41417a
mov eax, dword [ebp - 0x140]
jmp 0x4140f5
cmp dword [ebp - 0x13c], 0
je 0x41419f
mov eax, dword [ebp - 0x140]
mov eax, dword [eax]
add eax, 0x10
lea ecx, [ebp - 0x44]
cmp ecx, eax
je 0x41419f
push 0xffffffffffffffff
push 0
push eax
call fcn.004099a9
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x140]
call fcn.00414f05
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x148]
call fcn.00414f05
mov edi, dword [ebp - 0x130]
jmp 0x4141d4
test edi, edi
je 0x41438e
mov byte [edi + 0xb4], 1
test edi, edi
je 0x41438e
push ecx
push ecx
lea ecx, [ebp - 0x268]
call fcn.00416940
mov byte [ebp - 4], 0x24
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x268]
call fcn.00415a0d
push dword [ebp - 0x188]
lea ecx, [ebp - 0x268]
call fcn.00415a0d
push dword [ebp - 0x18c]
lea ecx, [ebp - 0x268]
call fcn.00415a0d
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x268]
call fcn.0041505e
mov byte [ebp - 4], 0x25
push edi
lea ecx, [ebp - 0x2c]
call fcn.0043bc5a
pop ecx
neg al
sbb al, al
inc al
mov byte [ebp - 0x11d], al
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2c]
call fcn.004072b6
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x268]
call fcn.004146df
mov esi, str.Unable_to_get_telemetry_device_data:_hashing_failed
cmp byte [ebp - 0x11d], 0
je 0x41427c
push esi
push 1
call fcn.00406d9c
pop ecx
pop ecx
lea eax, [edi + 0x18]
push eax
lea ecx, [ebp - 0xd4]
call fcn.0043bc5a
pop ecx
test al, al
jne 0x41429a
push esi
push 1
call fcn.00406d9c
pop ecx
pop ecx
lea eax, [edi + 0x30]
push eax
lea ecx, [ebp - 0x44]
call fcn.0043bc5a
pop ecx
test al, al
jne 0x4142b5
push esi
push 1
call fcn.00406d9c
pop ecx
pop ecx
lea eax, [edi + 0x48]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0043bc5a
pop ecx
test al, al
jne 0x4142d0
push esi
push 1
call fcn.00406d9c
pop ecx
pop ecx
lea esi, [edi + 0x78]
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.0040d671
mov byte [ebp - 4], 0x27
push esi
mov ecx, eax
call fcn.0043bc5a
pop ecx
neg al
sbb al, al
inc al
mov byte [ebp - 0x11d], al
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xec]
call fcn.004072b6
cmp byte [ebp - 0x11d], 0
je 0x41431f
push str.Unable_to_get_telemetry_device_data:_hashing_failed
push 1
call fcn.00406d9c
pop ecx
pop ecx
mov esi, dword [edi + 0xa8]
mov edi, dword [edi + 0xac]
cmp esi, edi
je 0x414388
mov edx, esi
lea ecx, [ebp - 0xec]
call fcn.0040d671
mov byte [ebp - 4], 0x28
push esi
mov ecx, eax
call fcn.0043bc5a
pop ecx
neg al
sbb al, al
inc al
mov byte [ebp - 0x11d], al
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xec]
call fcn.004072b6
cmp byte [ebp - 0x11d], 0
je 0x41437b
push str.Unable_to_get_telemetry_device_data:_hashing_failed
push 1
call fcn.00406d9c
pop ecx
pop ecx
add esi, 0x34
cmp esi, edi
jne 0x41432f
mov ebx, dword [ebp - 0x134]
mov edi, dword [ebp - 0x130]
push ecx
push ecx
lea ecx, [ebp - 0x318]
call fcn.004152b9
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x308]
call fcn.00417e3b
lea edx, [ebp - 0x5c]
mov ecx, eax
call fcn.00417e3b
mov eax, dword [ebp - 0x308]
mov eax, dword [eax + 4]
mov byte [ebp + eax - 0x2c8], 0x30
push dword [ebp - 0x18c]
push dword [ebp - 0x188]
push dword [ebp - 0x14c]
push 0
push 4
lea eax, [ebp - 0x84]
push eax
call fcn.0044f90b
pop ecx
pop ecx
mov edx, eax
lea ecx, [ebp - 0x308]
call fcn.0040c7d8
mov ecx, eax
call fcn.00415b1b
mov ecx, eax
call fcn.00415a0d
mov ecx, eax
call fcn.00415a0d
mov ecx, eax
call fcn.00415a0d
lea edx, [ebp - 0xd4]
lea ecx, [ebp - 0x308]
call fcn.00417e3b
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x318]
call fcn.0041521c
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x104]
call fcn.00407270
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xbc]
call fcn.0043bc5a
pop ecx
test al, al
jne 0x41455c
test edi, edi
je 0x414471
mov byte [edi + 0xb4], 1
push str.Failed_to_hash_deviceID
push 1
call fcn.00406d9c
pop ecx
pop ecx
push 0x30
push 0x3d
lea ecx, [ebp - 0x2c]
call fcn.00415178
mov esi, eax
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x11c]
call fcn.004180a2
mov byte [ebp - 4], 0x2d
push esi
mov edx, eax
lea ecx, [ebp - 0xec]
call fcn.00418156
pop ecx
pop ecx
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0xbc]
call fcn.0040e9ad
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xec]
call fcn.004072b6
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x11c]
call fcn.004072b6
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2c]
call fcn.004072b6
push 0
push 0x40
lea ecx, [ebp - 0xbc]
call fcn.00409900
lea edx, [ebp - 0xbc]
mov esi, dword [ebp - 0x150]
mov ecx, esi
call fcn.0040d513
or dword [ebp - 0x128], 2
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x104]
call fcn.00407241
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbc]
call fcn.004072b6
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x318]
call fcn.00412e4e
mov byte [ebp - 4], 0x11
test ebx, ebx
je 0x414556
push ebx
call fcn.00450b1b
pop ecx
mov byte [ebp - 4], 0x30
jmp 0x4145b7
lea eax, [ebp - 0x104]
push eax
mov esi, dword [ebp - 0x150]
mov ecx, esi
call fcn.0040a007
or dword [ebp - 0x128], 2
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x104]
call fcn.00407241
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xbc]
call fcn.004072b6
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x318]
call fcn.00412e4e
mov byte [ebp - 4], 0x11
test ebx, ebx
je 0x4145b3
push ebx
call fcn.00450b1b
pop ecx
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x168]
call fcn.0040ed12
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x170]
call fcn.0041606b
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1c8]
call fcn.00423bad
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x5c]
call fcn.004072b6
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.004072b6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xd4]
call fcn.004072b6
mov eax, esi
call fcn.004507d4
ret