Function at 0x420a9f
Capabilities:
Encode data using xor

Disassembly:
movsd dword es:[edi], dword cs:[esi]
in al, dx
and al, 0xc9
invalid
and edi, dword [ebp - 0x63]
cmp bl, byte [edx]
jns 0x420aab
salc
out 0xd9, al
pop esi
push cs
test eax, 0xcee6a9ee
add al, 0xca
loope 0x420b0f
pop edx
loop 0x420ae6
push ebp
aam 0x3b
insd dword es:[edi], dx
jb 0x420a82
inc edi
shl dword [edi + 0x684a212a], 1
or dh, dl
cmpsb byte [esi], byte es:[edi]
mov esi, 0x9681c399
push edi
and edx, ecx
fisubr dword [edi + 0x4a]
pop esi
int 0x3e
mov eax, 0x1f7a219e
or dl, byte [ecx + 0x2ee8650]
lcall 0xee5, 0x5f7a16bc
pop edi
in eax, 0xe
xchg esp, eax
push edi
or dword [edi], 0x44
push ebx
lahf
arpl cx, si
xor dh, ah
daa
pop edi
sbb dl, byte [eax - 0x5e]
pop edx
dec ecx
fistp qword [ebx]
aam 0x2e
push si
call [edi]
arpl si, bp
fdecstp
out dx, al
mov bh, byte [edx - 0x95090f5]
dec eax
pop eax
or ebp, dword [edi - 0x51]
test byte [eax + 0x2e], 0x58
sub byte [edx + 0x52], cl
cmpsd dword [esi], dword es:[edi]
aad 0x3e
xor esi, dword [edi]
sub eax, dword [eax - 0xf]
xor dword [edi], ebx
add edx, dword [ecx]
jle 0x420ba3
and edx, dword cs:[ecx + 0x4f]
aas
mov dl, 0xa6
adc al, 0x6f
stc
sbb al, 0x67
invalid
xor dword [esi - 0x6f3bdba8], ebp
not dword [ecx + 0x4edfca96]
pop ss
rcl byte [edx + 0x5a]
pop edx
aad 0x8b
daa
jecxz 0x420b0c
push 0xffffffffffffff81
inc esi
sahf
xchg byte [esi + 0x7a362d46], ch
cmp bh, byte [0xc7bf8ae3]
cmp eax, 0xc7bf8ae3
pop es
xlatb
push eax
stosd dword es:[edi], eax
xor byte [ebx - 0x2b5917f8], bh
imul esp, dword [edx + 0x5bdadc53], 0x8effe276
test esp, esi
loopne 0x420b68
invalid
pop ebx
jbe 0x420b4d
dec dword [esi - 0x81f0b7b]
add byte [esi + 0x36], 0x40
inc esi
inc eax
fistp dword [edx + 0x25]
jp 0x420b33
enter 0x6e02, 0x4e
cli
adc esi, esp
fdivr st(6), st(0)
invalid
ja 0x420b69
and edi, esp
js 0x420b54
invalid
idiv byte [edx + ebp*8 - 0x4ce9b0ea]
pop eax
mov byte [0x70766cbe], al
nop
pop esi
push esi
xchg esi, eax
push edx
jae 0x420bb0
adc esp, 0xba3056b5
jno 0x420b96
add dword [edx + 0x7b], esi
mov dl, 0x3d
jb 0x420b72
add dh, byte [ebx + 0x2371b202]
push eax
jb 0x420b42
adc ebp, 0x404a53ca
jge 0x420b66
pop edx
push ebp
je 0x420c32
cmp byte [eax + 0x15], al
jo 0x420bea
pop edx
xchg ebp, eax
pop esp
arpl di, si
loop 0x420c2c
xlatb
push ss
in al, dx
pop esi
jg 0x420b8b
lodsd eax, dword [esi]
jno 0x420bef
sub dword [esi - 0x62], ecx
jecxz 0x420c46
scasd eax, dword es:[edi]
or ah, dl
pop esi
loop 0x420c4a
div byte [ebp - 0x12]
salc
cmpsb byte [esi], byte es:[edi]
xchg edi, eax
salc
mov bh, 0xab
mov dl, 0x53
jle 0x420c5d
mov bl, 0x7e
cmc
insd dword es:[edi], dx
mov bl, 0x7d
jg 0x420c18
jae 0x420c21
jae 0x420c3a
sti
inc ebx
mov eax, dword [0x8e524ca6]
fadd qword [edx + 0x269e7548]
adc eax, 0xebe9e633
xor esp, esi
jmp 0x641c7006
arpl dx, bx
arpl word [edx - 0x4d], dx
fild dword [edx]
cli
push edx
push ds
stosb byte es:[edi], al
mov dword [0x56b7d3bc], eax
sahf
push cs
and ebp, ecx
mov bh, 0xcb
and edx, ebx
mov eax, 0xaca4d8b3
push ss
inc ebx
into
out 0x33, eax
fsub dword [esp + ebp*4 - 0x1831bcea]
xor ebp, dword [esi + eax - 0x2479ac5f]
wait
lodsb al, byte [esi]
push es
mov eax, dword [0x9bdb8653]
fstp xword [esi + edx*4 - 0x12]
pop ss
mov dword [0x7510f58], eax
pop es
push es
push edi
scasd eax, dword es:[edi]
xchg bh, dh
xchg byte [ebp - 0x27], ah
inc esp
push ss
lds esi, [esi - 5]
add dword [ebx - 0x43], esi
aas
inc ebx
push cs
popfd
nop
mov byte [0x1378b108], al
cmp bl, ch
xchg esi, eax
or edx, dword [ebp + 0x139f5330]
jo 0x420bf2
xchg ebp, eax
xor byte [ebx - 0x61], dl
adc esi, dword [eax - 0x80]
jae 0x420ce2
jg 0x420c1f
and edx, dword [esi - 1]
xchg dl, al
pop edx
mov dword [0x934d82b6], eax
xchg dword [eax + 0x3e480583], esp
daa
pop ebx
push es
fbstp tbyte [esi]
jae 0x420c14
push ss
push esi
pop edx
mov esi, 0x3cfec366
pushfd
salc
neg byte [esi + 0x78]
jg 0x7099fff9
sahf
xor edi, dword [esi + 0x54]
dec ebp
mov bl, 0x43
invalid
jo 0x420c6b
or byte [esi + 0x30], dl
mov fs, word [eax + 0x6b0f5f7]
push edi
pop ebx