Function at 0x414ac0
Capabilities:
Encode data using xor

Disassembly:
in eax, 0x6c
sbb byte [ebx], ah
mov ch, 0x35
lodsb al, byte [esi]
movsb byte es:[edi], byte [esi]
mov al, 0xe4
xchg ebp, eax
xor eax, 0x8ffda772
inc esi
or eax, 0x1a4e2087
lodsd eax, dword [esi]
or eax, 0x1a032314
or ebp, esp
sbb eax, 0xf95fb0a7
add eax, 0xd545e5f2
shl byte [ebp + edi*8 + 0x21ae00d], 1
sbb bl, byte [eax - 0x42]
add bl, byte [edx]
dec edi
pop ebp
in eax, dx
test ecx, esi
in eax, 0x15
xor al, 0x36
sbb al, byte [edx]
adc eax, 0x21a3634
sub al, 0x73
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0x4f
sbb al, byte [edx]
sbb dh, byte [eax + 0x4fe5fde5]
sbb al, byte [edx]
sbb dh, byte [eax - 0x4f1a021b]
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0x7e
or dword [edx + 0x4d5cc1f9], esi
mov edi, 0xb21eb9e5
lea esi, [eax - 0x11a436b]
mov byte [0xdf323d45], al
jnp 0x414ba2
jg 0x414afa
popfd
mov al, byte [0x5cbb1a99]
mov al, 0xf5
mov ebp, 0xfc2231e5
in eax, 0xb0
in eax, 0x7c
or ebx, dword [ecx - 0x6d]
cmc
pop es
xor dword [ebx], ecx
cld
in eax, 0xb0
in eax, 0x47
invalid
add dh, dh
push 0x26
jl 0x414bcc
mov ah, 0xe5
std
in eax, 0x91
push ds
stosb byte es:[edi], al
mov esi, 0x6c1c0a31
pop eax
wait
les esi, [eax*8 - 0x4ef58400]
in eax, 0xfd
in eax, 0x31
cld
in eax, 0xb0
in eax, 0x3e
ja 0x414bc5
inc di
inc edi
pop ebx
mov ebx, dword [ecx - 0x3d]
out dx, eax
std
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0xb0
in eax, 0xfd
in eax, 0x1b
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x45c5e409]
neg dword [ebx]
cmp bh, byte [edx - 0x2ebde409]
pop edx
add byte [ecx + edx*8 + 0x51], 0x8b
dec edx
fmul dword [eax + edi - 0xff4bde9]
jmp [0x5b9ad44d]