Function at 0x420f20
Capabilities:
Encode data using xor

Disassembly:
add eax, dword [edx]
sub esp, 0xffffff9a
insd dword es:[edi], dx
add eax, dword [edx]
and esp, 0xffffffea
sub eax, dword [ebx]
add al, byte [ebx + 0x34d8cec]
add bl, byte [eax + ebx*2 + 0x52]
pop eax
push edx
test esi, eax
push es
adc eax, 0x2b
pop ss
add al, byte [edx]
in eax, dx
or byte [edi], bh
inc esp
push eax
cmp al, 0x50
inc esp
pushal
enter 0x6687, 0xfffffffffffffff6
xchg dword [esi - 0xa], esp
add dword [ecx], eax
push esp
enter 0x6787, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x420f07
xchg dword [eax - 0xa], ebp
add dword [ecx], eax
outsb dx, byte [esi]
enter 0x6987, 0xfffffffffffffff6
xchg dword [ecx - 0xa], ebp
add dword [ecx], eax
push edi
enter 0x6a87, 0xfffffffffffffff6
add dword [ecx], eax
jb 0x420f1c
xchg dword [ebx - 0xa], ebp
add dword [ecx], eax
enter 0x6c87, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg dword [esi + esi*8 + 1], ebp
add dword [ebx - 0x38], esp
xchg dword [ebp - 0xa], ebp
add dword [ecx], eax
jne 0x420f31
xchg dword [esi - 0xa], ebp
add dword [ecx], eax
enter 0x6f87, 0xfffffffffffffff6
add dword [ecx], eax
push edi
enter 0x7087, 0xfffffffffffffff6
xchg dword [eax - 0xa], esi
add dword [ecx], eax
jo 0x420f46
xchg dword [ecx - 0xa], esi
add dword [ecx], eax
imul ecx, eax, 0xffffff87
jb 0x420f7e
add dword [ecx], eax
enter 0x7387, 0xfffffffffffffff6
xchg dword [ebx - 0xa], esi
add dword [ecx], eax
jno 0x420f5b
xchg dword [esi + esi*8 + 1], esi
add dword [esi - 0x38], esp
xchg dword [ebp - 0xa], esi
add dword [ecx], eax
enter 0x7687, 0xfffffffffffffff6
enter 0x7687, 0xfffffffffffffff6
add dword [ecx], eax
push ebp
enter 0x7787, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x420f77
xchg dword [eax - 0xa], edi
add dword [ecx], eax
je 0x420f7e
xchg dword [ecx - 0xa], edi
add dword [ecx], eax
imul ecx, eax, 0xffffff87
jp 0x420fb6
add dword [ecx], eax
jo 0x420f8c
xchg dword [ebx - 0xa], edi
add dword [ecx], eax
imul ecx, eax, 0x1f67c87
add dword [edx], eax
pop eax
in eax, dx
add eax, 0x833e523e
enter 0xffffffffffffa378, 2
add al, byte [ebx + 0x29ed3f0]
add ah, byte [eax + 0x58]
mov dword [0xf0830202], eax
rcr dword [esi + 0x58600202], cl
push edx
test esi, eax
push es
cmp eax, 0xffffff90
sub al, 3
add al, byte [ebx + 0x20b81f0]
xor eax, 0xffffff81
or eax, dword [edx]
add al, byte [ebx + 0x2aa1af8]
add ch, ch
pop es
push ecx
inc esp
xor al, 0x4c
inc ebp
pushal
enter 0x7e87, 0xfffffffffffffff6
add dword [ecx], eax
push esp
enter 0x7f87, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x420fda
xchg dword [eax + 0x6e0101f6], eax
enter 0xffffffffffff8187, 0xfffffffffffffff6
add dword [ecx], eax
inc ebp
xchg dword [ecx + 0x450101f6], eax
enter 0xffffffffffff8287, 0xfffffffffffffff6
add dword [ecx], eax
je 0x420fef
xchg dword [ebx + 0x670101f6], eax
enter 0xffffffffffff8487, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg dword [esi + esi*8 - 0x379cfeff], eax
xchg dword [ebp + 0x760101f6], eax
enter 0xffffffffffff8687, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff8787, 0xfffffffffffffff6
add dword [ecx], eax
push edi
enter 0xffffffffffff8887, 0xfffffffffffffff6
add dword [ecx], eax
jo 0x421019
xchg dword [eax + 0x700101f6], ecx
enter 0xffffffffffff8987, 0xfffffffffffffff6
add dword [ecx], eax
imul ecx, eax, 0xffffff87
mov dh, dh
xchg dword [ecx + 0x6b0101f6], ecx
enter 0xffffffffffff8a87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff8b87, 0xfffffffffffffff6
add dword [ecx], eax
jno 0x42102e
xchg dword [ebx + 0x710101f6], ecx
enter 0xffffffffffff8c87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff8d87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff8e87, 0xfffffffffffffff6
xchg dword [esi + esi*8 - 0x3799feff], ecx
xchg dword [ebp + 0x670101f6], ecx
enter 0xffffffffffff8e87, 0xfffffffffffffff6
add dword [ecx], eax
push ebp
enter 0xffffffffffff8f87, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x42104a
xchg dword [eax + 0x740101f6], edx
enter 0xffffffffffff9187, 0xfffffffffffffff6
add dword [ecx], eax
imul ecx, eax, 0xffffff87
xchg edx, eax
test byte [ecx], 1
jo 0x42105f
xchg dword [ebx + 0x690101f6], edx
enter 0xffffffffffff9487, 0xfffffffffffffff6
add dword [ecx], eax
add bl, byte [ecx - 0x7d]
int1
jo 0x4210a2
add dword [edx], eax
pop ecx
xor ecx, 0x70
stc
add al, byte [edx]
ljmp 0x3502