Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
sbb bh, byte [ebx - 0x205d2ad9]
mov eax, dword [0xa667b52b]
mov ch, 0x67
cmpsb byte [esi], byte es:[edi]
mov eax, dword [0x8a920a4f]
mov ch, 0x1d
scasd eax, dword es:[edi]
pop ss
inc esi
loop 0x414af4
invalid
xor ebx, dword [edi + ebp*4 + 0x24]
arpl word [0xd466a31b], ax
pop esp
scasd eax, dword es:[edi]
and al, 0x63
add eax, 0xd466a31b
and dh, byte [edx]
movsb byte es:[edi], byte [esi]
xchg edi, eax
dec edx
mov byte [eax - 0x67d8cfc3], dl
sub bl, byte [edx]
or al, dl
adc esi, dword [ebp + ebx - 0x5f552a21]
outsw dx, word [esi]
dec esi
add ah, byte [edx*8 - 0x6bf92d0e]
dec edx
or dh, byte [esi]
sub dh, byte [ebp - 0x4a7171e3]
sbb eax, 0x825a6d99
daa
aad 0xa2
xor esp, eax
sub dh, byte [ebp + 0x4ad5a52b]
loop 0x414b6b
cdq
insd dword es:[edi], dx
pop edx
and byte [edi], 0xd5
mov byte [0xb52ae033], al
sub esp, dword [ebp + 0x66e24ad5]
aad 0x4a
loop 0x414b6f
aad 0x4a
loop 0x414b73
aad 0x4a
loop 0x414aaa
sub dh, byte [ebp + 0x4ad5661d]
loop 0x414ab2
sub dh, byte [ebp + 0x4ad5661d]
loop 0x414b87
aad 0x4a
dec edx
loop 0x414b8b
aad 0x4a
loop 0x414b8f
aad 0xc9
push cs
bound edx, qword [edx]
dec esi
invalid
dec ebx
loop 0x414bbb
aad 0xcb
or al, 0x8f
mov dword [0x3be70042], eax
dec ebx
loop 0x414bc7
aad 0xf0
ret 0x942d
salc
inc edx
aam 0xb5
or cl, byte [ebp - 0x2b]
dec edx
loop 0x414b52
jmp dword [edi]
mov byte [0xe24ac78e], al
aam 0xb4
loop 0x414bf3
aam 0xb4
mov ah, 0xeb
xchg ecx, eax
aam 0xb5
sub ebp, dword [0x6a2095fc]
aad 0x63
adc al, 0x6f
and al, byte [ecx]
shl dword [edi + 0x6b], cl
mov ch, 0xf1
mov esp, 0x6223cb16
aad 0x4a
loop 0x414bf4
jmp 0x414b22
sbb eax, 0xab3ae7b9
imul ecx, dword [esi + 0x133373ab], 0x30
retf
or eax, 0xe24ad567
out 0x16, eax
dec ebx
loop 0x414c2b
aad 0x89
arpl word [ecx - 0x6e9d2e35], sp
imul edi, dword [esi + ebx*2], 0x15
fisttp word [edx - 0x1e]
aad 0x4a
loop 0x414c3f
aad 0x4a
loop 0x414c43
aad 0x4a
loop 0x414c47
aad 0x4a
loop 0x414c4b
aad 0x4a
loop 0x414c4f
aad 0x4a
loop 0x414c53
aad 0x4a
loop 0x414c57
aad 0x4a
loop 0x414c5b
aad 0x4a
aad 0x4a
loop 0x414c5f
aad 0x4a
loop 0x414c63
aad 0x4a
loop 0x414b8e
jge 0x414c70
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414c78
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414c80
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414c88
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414c90
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414c98
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ca0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ca8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cb0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cb4
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cb8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cbc
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cc0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cc4
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cc8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ccc
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cd0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cd4
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cd8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cdc
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ce0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ce4
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414ce8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cec
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cf0
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cf4
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cf8
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414cfc
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d00
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d04
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d08
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d0c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d10
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d14
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d18
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d1c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d20
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d24
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d28
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d2c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d30
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d34
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d38
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d3c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d40
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d44
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d48
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d4c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d50
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d54
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d58
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d5c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d60
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d64
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d68
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d6c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d70
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d74
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge entry1
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d7c
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
jge 0x414d80
lea edi, [ebp + 0x6d]
mov cs, word [ebp - reloc.winmm.dll_mmioOpenA]
add eax, 0x3162306
lea edi, [ebp + 0x6d]
mov cs, word [ebp + reloc.winmm.dll_mmioOpenA]
lea eax, [0x3162306]
push ss
add eax, dword [esi]
push es
sub byte [0xaef50f0d], bl
sbb eax, 0xaef50f0d
scasb al, byte es:[edi]
push eax
xchg ebp, eax
jb 0x414d8b
mov ax, 0x34fa
mov eax, 0xdd4234fa
invalid
inc edx
fisttp qword [ebp + esi*8 + 0x42db50ae]
scasb al, byte es:[edi]
push eax
fild dword [edx + 0x66]
psrlq mm6, qword [eax]
psrlq xmm6, xmmword [eax]
sbb bh, byte [ebp - 2]
xor al, 0x1a
jae 0x414d2d
sbb dh, byte [ebx - 0xe]
xor dl, byte [edx]
cmpsd dword [esi], dword es:[edi]
dec ebp
insd dword es:[edi], dx
adc ah, byte [edi + 0x208c6d4d]
mov word [eax], fs
test dword [ebp - 0x48db74a5], esi
pop ebx
mov esp, dword [edi + esi*4]
push edx
sub dword [ecx], 0x46fe1f27
sub al, 0x38
cdq
cmpsb byte [esi], byte es:[edi]
leave
pop ds
inc byte [esi + 0x2c]
cmp byte [ecx - 0x70cf365a], bl
retf 0xea42
xor byte [edi - 0x515bd36], cl
test al, 0xa9
ljmp 0xa864:0x8da9a8fa
lea esp, [eax + ebp*4 + 0x35]
xchg dword [eax + 0x31], esp
lodsb al, byte [esi]
mov dl, 0x86
sbb dword [ebp - 0x4ae6e951], edi
scasd eax, dword es:[edi]
push ss
invalid
mov ch, 0x3d
invalid
pop edi
invalid
invalid
pop edi