Function at 0x4eb107
Capabilities:
Encode data using xor

Disassembly:
xor esi, esi
cmp ebx, 4
jl 0x4eb02e
mov ebx, dword [ebp + ebx*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
lea edx, [ebx + 2]
mov dword [ebp - 0x18], edx
lea edx, [ebx*4]
mov dword [ebp - 0x1c], edx
mov edx, 0xfffffff4
sub edx, eax
mov dword [ebp - 0x2c], edx
mov edx, waveOutUnprepareHeader
sub edx, eax
mov dword [ebp - 0x24], edx
lea ecx, [ebx + ecx + 4]
mov edx, 4
sub edx, eax
mov dword [ebp - 0x14], ecx
lea ecx, [eax + ebx*4 + 0x14]
mov dword [ebp - 0x28], edx
nop
movss xmm3, dword [ecx - 0x14]
movss xmm1, dword [ecx - 0x10]
mov edx, dword [ebp + esi*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x1c]
movss xmm2, dword [eax + edx*4 + 4]
fld dword [eax + edx*4]
mov edi, dword [ebp - 0xc]
fstp dword [ecx - 0x14]
add edi, ebx
mov ebx, dword [ebp - 4]
xorps xmm2, xmm0
movss dword [ecx - 0x10], xmm2
movss dword [eax + edx*4], xmm3
xorps xmm1, xmm0
movss dword [eax + edx*4 + 4], xmm1
movss xmm1, dword [edi + eax + 4]
movss xmm3, dword [edi + eax]
add ebx, ebx
add edx, ebx
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
fstp dword [edi + eax]
lea ebx, [edi + eax + 4]
mov dword [ebp - 0x10], ebx
mov edi, ebx
lea ebx, [eax + edx*4 + 4]
xorps xmm2, xmm0
movss dword [edi], xmm2
movss dword [eax + edx*4], xmm3
mov edx, dword [ebp - 0x2c]
lea edi, [edx + ecx]
mov edx, dword [ebp + esi*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add edx, dword [ebp - 8]
add edi, dword [ebp - 0xc]
xorps xmm1, xmm0
movss dword [ebx], xmm1
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
movss xmm3, dword [ecx - 0xc]
movss xmm1, dword [ecx - 8]
fstp dword [ecx - 0xc]
mov ebx, dword [ebp - 4]
xorps xmm2, xmm0
movss dword [ecx - 8], xmm2
movss dword [eax + edx*4], xmm3
xorps xmm1, xmm0
movss dword [eax + edx*4 + 4], xmm1
movss xmm1, dword [edi + eax + 4]
movss xmm3, dword [edi + eax]
add ebx, ebx
add edx, ebx
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
fstp dword [edi + eax]
lea ebx, [edi + eax + 4]
mov dword [ebp - 0x10], ebx
mov edi, ebx
lea ebx, [eax + edx*4 + 4]
xorps xmm2, xmm0
movss dword [edi], xmm2
movss dword [eax + edx*4], xmm3
mov edx, dword [ebp - 0x24]
lea edi, [edx + ecx]
mov edx, dword [ebp + esi*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add edx, dword [ebp - 8]
add edi, dword [ebp - 0xc]
xorps xmm1, xmm0
movss dword [ebx], xmm1
fld dword [eax + edx*4]
movss xmm1, dword [ecx]
movss xmm2, dword [eax + edx*4 + 4]
movss xmm3, dword [ecx - 4]
fstp dword [ecx - 4]
mov ebx, dword [ebp - 4]
xorps xmm2, xmm0
movss dword [ecx], xmm2
xorps xmm1, xmm0
movss dword [eax + edx*4], xmm3
movss dword [eax + edx*4 + 4], xmm1
add ebx, ebx
movss xmm1, dword [edi + eax + 4]
movss xmm3, dword [edi + eax]
add edx, ebx
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
fstp dword [edi + eax]
lea ebx, [edi + eax + 4]
mov dword [ebp - 0x10], ebx
mov edi, ebx
lea ebx, [eax + edx*4 + 4]
xorps xmm2, xmm0
movss dword [edi], xmm2
movss dword [eax + edx*4], xmm3
mov edx, dword [ebp - 0x28]
lea edi, [edx + ecx]
mov edx, dword [ebp + esi*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add edx, dword [ebp - 8]
add edi, dword [ebp - 0xc]
add dword [ebp - 0x1c], 0x20
xorps xmm1, xmm0
movss dword [ebx], xmm1
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
movss xmm3, dword [ecx + 4]
movss xmm1, dword [ecx + 8]
fstp dword [ecx + 4]
mov ebx, dword [ebp - 4]
xorps xmm2, xmm0
movss dword [ecx + 8], xmm2
movss dword [eax + edx*4], xmm3
add ebx, ebx
xorps xmm1, xmm0
movss dword [eax + edx*4 + 4], xmm1
movss xmm1, dword [edi + eax + 4]
movss xmm3, dword [edi + eax]
add edx, ebx
fld dword [eax + edx*4]
movss xmm2, dword [eax + edx*4 + 4]
lea ebx, [edi + eax + 4]
fstp dword [edi + eax]
mov dword [ebp - 0x10], ebx
mov edi, ebx
lea ebx, [eax + edx*4 + 4]
xorps xmm2, xmm0
movss dword [edi], xmm2
movss dword [eax + edx*4], xmm3
mov edx, 8
add dword [ebp - 0x18], edx
add dword [ebp - 0x14], edx
xorps xmm1, xmm0
movss dword [ebx], xmm1
mov ebx, dword [ebp - 0x20]
add esi, 4
lea edx, [ebx - 3]
add ecx, 0x20
cmp esi, edx
jl 0x4eae17
mov edi, dword [ebp - 4]
cmp esi, ebx
jge 0x4eb0f8
mov ecx, dword [ebp + ebx*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
lea ecx, [ecx + esi*2]
lea edx, [edi + edi]
add edx, ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
lea edx, [ecx*4]
jmp 0x4eb057
movss xmm3, dword [edx + eax]
movss xmm1, dword [eax + edx + 4]
mov ecx, dword [ebp + esi*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add ecx, dword [ebp - 8]
mov edi, dword [ebp - 4]
movss xmm2, dword [eax + ecx*4 + 4]
fld dword [eax + ecx*4]
fstp dword [edx + eax]
add edi, edi
xorps xmm2, xmm0
movss dword [eax + edx + 4], xmm2
movss dword [eax + ecx*4], xmm3
xorps xmm1, xmm0
movss dword [eax + ecx*4 + 4], xmm1
add ecx, edi
mov edi, dword [ebp - 0xc]
fld dword [eax + ecx*4]
movss xmm2, dword [eax + ecx*4 + 4]
add edi, edx
movss xmm3, dword [edi + eax]
movss xmm1, dword [edi + eax + 4]
lea edi, [edi + eax + 4]
mov dword [ebp - 0x28], edi
lea edi, [eax + ecx*4 + 4]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0xc]
add edi, edx
fstp dword [edi + eax]
mov edi, dword [ebp - 0x28]
xorps xmm2, xmm0
movss dword [edi], xmm2
movss dword [eax + ecx*4], xmm3
mov ecx, dword [ebp - 0x24]
xorps xmm1, xmm0
movss dword [ecx], xmm1
mov ecx, 2
add dword [ebp - 0x14], ecx
add dword [ebp - 0x18], ecx
inc esi
add edx, 8
cmp esi, ebx
jl 0x4eb057
mov edi, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov edx, dword [ebp + ebx*4 - reloc.iphlpapi.dll_GetAdaptersInfo]
add edx, esi
movss xmm1, dword [eax + edx*4 + 4]
dec esp
nop
add al, 0xf
push edi
enter 0xff3, 0x11
dec esp
nop
add al, 0x8d
or al, 0x3f
dec esp
nop
add al, 0xf
push edi
enter 0xff3, 0x11
dec esp
nop
add al, 0x8d
or al, 0x3f
add edx, ecx
movss xmm1, dword [eax + edx*4 + 4]
lea edx, [eax + edx*4 + 4]
inc ebx
add esi, 2
cmp ebx, edi
xorps xmm1, xmm0
movss dword [edx], xmm1
mov dword [ebp - 0x20], ebx
mov dword [ebp - 8], esi
jl 0x4eadcb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret