Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
add esp, dword [edx - 0x6b8ff719]
push 0x10e19963
or byte [ebp - 0x6c], ah
outsb dx, byte [esi]
or edx, dword [ebp + 8]
sar dword [ebp + 0x2b991f9b], 1
add bl, byte [edi]
mov cs, word [ebx]
inc ecx
or byte [ebp - 0x7e], dh
wait
pop ds
leave
loopne 0x414b03
loopne 0x414b11
or byte [esi - 0x41], cl
mov ds, word [edi]
invalid
hlt
mov ecx, 0xdd8ce030
mov dh, 0x1e
wait
mov cl, 0x94
popal
or byte [ebp - 0x47e06441], al
and ch, byte [eax - 0x20]
and al, 0x69
and dword [esi], 0xa1353074
jno 0x414aab
je 0x414af6
xor eax, 0xce171a1
xor byte [ebx - 0x78759b5e], dh
or byte [esi], bl
and eax, 0x8341f8f
or al, 0x30
mov bl, 0xa2
mov al, byte fs:[edi - 0x70dae1f8]
pop ds
xor al, 8
aad 0x26
lcall 0x71a2, 0x84e0c81f
pop edx
pushal
add byte [ebx], dh
loopne 0x414ac3
rcl byte [ecx]
mov eax, dword [0x1f210864]
wait
pop ds
cdq
mov ebx, 0x588e1f9b
je 0x414a78
xor al, ah
invalid
wait
sub dword [edx + 0x71e064e0], esi
loopne 0x414b76
loopne 0x414b6b
loopne 0x414b7a
loopne 0x414b6f
loopne 0x414b7e
loopne 0x414b7e
loopne 0x414b73
loopne 0x414a9f
pop ds
wait
pop ds
jno 0x414af6
loopne 0x414aa7
pop ds
wait
pop ds
jno 0x414afe
loopne 0x414b92
loopne 0x414b87
loopne 0x414b96
loopne 0x414b8b
loopne 0x414b9a
loopne 0x414b12
or al, 0x75
daa
pushal
les ebx, [ebp + 0x78e02648]
sbb ebp, dword [ebx]
mov byte [ecx - 0x70], dh
and eax, 0xdca73fe0
cmp bl, dh
invalid
aam 0x55
loope 0x414b0a
or byte [edx - 0x20], bl
loopne 0x414b3f
loopne 0x414b3f
retf 0x3b09
or dword [ebx], edi
mov ah, 0xb9
dec ebp
push ss
cli
hlt
inc eax
arpl word [ebp - 0xed81a1c], si
rcl byte [ebx - 0x60]
cdq
loopne 0x414bfe
mov al, byte [0xe064f299]
jno 0x414b6f
loopne 0x414bfe
loopne 0x414bfe
loope 0x414b29
lcall 0x3a29, 0x9be186e9
jmp 0x29dd2d1a
wait
sub dword [edx], edi
leave
mov ebx, 0x4de07d22
dec ebp
push ss
js 0x414bb5
das
sal dword [eax + 0x5e], 1
wait
rep stosd dword es:[edi], eax
and esp, ebp
and dword [ebp - 0x20], esi
in eax, 0x21
jne 0x414b8a
loopne 0x414bfd
sbb esi, dword [ebx]
mov ebx, 0x69850ff0
cdq
jne 0x5ddfe520
sahf
pop ebp
xor dword [eax - 0x1f8ff01b], eax
loopne 0x414bb1
and esp, dword [ebp - 0x20]
jno 0x414ba6
cmpsd dword [esi], dword es:[edi]
popal
mov dh, 0xfe
jmp dword [eax - 0x7a]
loopne 0x414c63
loopne 0x414c52
loopne 0x414c52
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
test byte [esi - 0x597bddaf], ah
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi + 0xbef5a51]
retf 0xef5c
cmpsb byte [esi], byte es:[edi]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
and al, byte [esi - 0x597bddaf]
push ecx
pop edx
out dx, eax
or ecx, edx
pop esp
out dx, eax
add cl, al
push edx
out 0xdd, al
jb 0x414d31
jl 0x414d7e
mov edx, 0x9e1c13e7
and byte [ebp - 0x23], 0x72
rdmsr
push 0xffffffffffffffba
push eax
cmp bl, byte [eax]
invalid
pop ebx
pop ebp
pop esi
push edi
pop edx
push esp
push esp
push ebx
leave