Function at 0x214c88a8
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x214c88ae
pop ebp
sub ebp, 6
sub ebp, 0x3c88a8
jmp 0x214c890c
mov al, byte [esp + 0x28]
cmp al, 1
je 0x214c8923
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x214c892c
mov eax, 0x3c88a8
add eax, ebp
add eax, 0xaa
mov ecx, 0x5bc
mov edx, 0x6d6dff84
xor byte [eax], dl
inc eax
dec ecx
jne 0x214c8943
jmp 0x214c8956
cmovns ecx, dword [edi]
or eax, 0x848484b8
add eax, 0x84847c45
test byte [edi - 0x7b7cc3b7], al
test byte [esi + edi - 0x7b7b7b54], al
jae 0x214c89d8
xchg dword [edi + ecx + 5], ecx
mov byte [esp + eax*4 - 0x2bbe787c], al
aam 0xec
sbb byte [edx - 0x72137b76], dl
imul byte [edx - 0x5f577a7c]
in al, dx
invalid
test byte [ecx + edx*8 + 0x10f680f], al
mov word [esp + eax*4 - 0x77eef07c], es
test byte [esp + eax*4 - 0x7b6bf6f1], al
test byte [ebp + eax*2 - 0x794a7993], al
pop es
inc esi
or ch, 0x8b
add dword [eax + 0x7b], esi
jnp 0x214c8a39
jnp 0x214c8a38
jnp 0x214c8998
fld dword [esi - 0x78]
test byte [edi], cl
or byte [eax - 0x7b7b7b80], ah
in al, dx
sbb byte [edx - 0x72137b76], dl
imul byte [edx - 0x5f577a7c]
aad 0x6c
inc esi
mov byte [edi + ecx - 0x7b7f5ff8], al
test byte [esp + ebp*8 - 0x7b756de8], al
in al, dx
invalid
add dword [esp + eax*4 - 0x7944927c], 0xfd18484
push 0x7b88f17b
int1
mov word [esi + esi*8 - 0x7c], gs
test byte [edi + ecx - 0x7b7b73c7], al
test byte [edi + 0x3376054d], dh
insb byte es:[edi], dx
test byte [esp + eax*4 - 0x73c6f07c], 0x84
test byte [edi + esi*4 + 0x3376054d], al
xor esp, dword [ebp + 0x1f]
pop ds
loope 0x214c8a03
jbe 0x214c8a33
pop ds
loope 0x214c89bb
mov bh, 0x56
push esi
pop es
insb byte es:[edi], dx
or esp, 0x84ca008b
test byte [ebx + ecx*4 - 0x7b7b33f4], al
test dl, ah
sets byte [ebp - 0x749380fc]
add byte [esi + 0x4848484], bl
jg 0x214c8a92
test byte [esp + eax*4 - 0x749280fc], al
add byte [ebp - 0x1d7b7b7c], dl
add eax, 0x8ba17b7f
add byte [ecx - 0x3a7b7b7c], dl
insd dword es:[edi], dx
mov eax, dword [eax]
xchg ebp, eax
test byte [esp + eax*4 + 0x7b7f05e2], al
mov eax, dword [0x8491008b]
test byte [ebp + eax*8 + 0x7b7b486d], al
test byte [esp + eax*4 + 0x7b486dc5], al
jnp 0x214c8ab7
dec eax
jnp 0x214c8ab6
jnp 0x214c89ea
lodsd eax, dword [esi]
enter 0xffffffffffff85bd, 7
inc ebp
add dword [edi], 0x396d806c
jnp 0x214c8ac5
jnp 0x214c89f9
sar byte [ebp - 0x7dbaf87a], 1
pop es
outsb dx, byte [esi]
add byte [edi], 0x6c
sub dword [ebp + 0x2f], 0xd97b7b7b
inc esi
mov byte [ecx + edx*8 - 0x2c2d97f1], al
ror dword [edi], 1
int1
mov byte [edi], cl
stc
invalid
mov eax, dword [edi]
pop esp
jnp 0x214c8b12
jnp 0x214c8a1f
push esi
mov eax, dword [ecx]
add dword [esp + eax*4 - 0x3d6df17c], 0x78b5696
out dx, al
test byte [esp + eax*4 + 0x568644b7], al
mov eax, dword [ecx]
add dword [esp + eax*4 - 0x3d6df17c], 0x78b5696
scasb al, byte es:[edi]
test dword [esp + eax*4 + 0x18b5686], eax
add dword [esp + eax*4 - 0x3d6df17c], 0x44975696
xchg edx, eax
ret 0x5696
test byte [esp + eax*4 - 0x693d6df2], al
push esi
xchg edi, eax
inc esp
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
jnp 0x214c8b8f
jnp 0x214c8b52
test dword [esp + eax*4 - 0x74a9797c], eax
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
add dword [esp + eax*4 - 0x3d6df17c], 0x4d975696
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696
add dword [esp + eax*4 - 0x3d6df17c], 0x4d975696
xchg byte [esi - 0x75], dl
add dword [ecx + 0xe848484], eax
xchg edx, eax
ret 0x5696