Function at 0xf20fb8
Capabilities:
Encode data using xor

Disassembly:
push cs
sub ecx, edi
shr bh, cl
adc eax, 0x860f74ef
sal dword [edi + 3], cl
pop ebp
and ebp, dword [esi - 9]
mov esp, 0x3debea3c
xor byte [ebx - 0x21], ch
scasb al, byte es:[edi]
push es
add dword gs:[ebp*8 - 0x14ff039c], 8
jmp 0xf20fc2
add byte [eax], al
or eax, 0
add byte [eax - 0x18], ah
add byte [eax], al
add byte [eax], al
jmp 0xf20fc2
pushal
call 0xf20fc8
pop ebp
sub ebp, 0x10
sub ebp, 0xb20fb8
jmp 0xf20fde
mov eax, 0xb20fb8
add eax, ebp
add eax, 0x4c
mov ecx, 0x5e4
mov edx, 0xea86f782
xor byte [eax], dl
inc eax
dec ecx
jne 0xf20ff5
jmp 0xf21008
or dword [edi + 9], ecx
or edi, dword [esi + 0x3828282]
inc ebx
jp 0xf20f96
add byte [edx - 0x7bc5b07f], 0x82
add byte [edx - 0x7d7d55c8], 0x82
jne 0xf21084
or dword [edx + 9], 0x82828e03
add byte [ecx - 0x5919f0b9], 0x7e
or eax, dword [esi - 0x5919f05a]
jle 0xf21045
xchg byte [esi - 0x5f472d16], ah
sub dl, 0xe5
push edi
or eax, 0xa6ae8382
ljmp 0x876a
add byte [ebx + 0x70eaa6ae], 0xaf
out 0x7e, al
push 0xffffffffffffff87
add byte [edx - 0x7d53947e], 0x82
or byte [edi], 0xe6
cmpsb byte [esi], byte es:[edi]
jle 0xf21068
scasb al, byte es:[edi]
cmpsb byte [esi], byte es:[edi]
salc
fisttp word [ecx]
pop es
mov al, byte [edx + 0x17098282]
pop ss
mov es, word [edx + 0xf098282]
xchg edx, eax
add byte [edx - 0x7f94bc7e], 0xb3
add byte [ecx], 0x40
xchg bl, cl
lea eax, [edi]
jbe 0xf210fd
jge 0xf210ff
fild word [eax - 0x72]
or byte [ecx], 0xe
cmpsb byte [esi], byte es:[edi]
xchg byte [edx - 0x2d157d7e], al
mov eax, 0xe5ea82a0
mov es, word [edx - 0x7959f1f7]
add byte [edx - 0x472d157e], 0xa0
sub dl, 0xe5
push edi
or eax, 0xa6ae8382
shr dword [edx - 0x79], cl
add byte [edx - 0x7f38947e], 0x82
or byte [edi], 0xe6
cmpsb byte [esi], byte es:[edi]
jle 0xf210b5
scasb al, byte es:[edi]
cmpsb byte [esi], byte es:[edi]
or dword [esi + 0x7d], ebp
test dword [esi + 0x6a8af77d], 0x828282f0
or dword [edi], edi
mov al, byte [edx + 0x4bb18282]
add esi, dword [eax - 1]
test dword [edx - 0x7d7d0f96], 0x8a3f0982
add byte [edx + 0x34bb182], 0x70
call [edx - 6]
lock add byte [edx - 0x75c0f67e], 0x82
add byte [edx + 0x70034bb1], 0xff
pop edx
cli
call 0x5bf180ce
cli
call 0x6af36182
xchg edx, ecx
lea eax, [esi]
int3
add bh, byte [ecx + 0x6a]
lea eax, [esi]
cwde
add byte [edx + 0x6b790282], 0x8d
push es
xchg ebx, eax
add byte [edx + 0x7903e482], 0x7d
cmpsd dword [esi], dword es:[edi]
lea eax, [esi]
xchg edi, eax
add byte [edx + 0x4e6bc382], 0x7d
jge 0xf21183
add bl, 0x6b
dec esi
jge 0xf21182
jge 0xf210b2
stosd dword es:[edi], eax
into
mov ebx, 0x87430183
add dword [edx - 0x7a], ebp
imul edi, dword [edi], 0x7d
jge 0xf21192
stosd dword es:[edi], eax
salc
mov ebx, 0x84430180
add dword [eax - 0x7a], ebp
add dword [edx - 0x79], ebp
imul ebp, dword [ecx], 0x7d
jge 0xf211a4
fild word [eax - 0x72]
adc bh, 9
outsb dx, byte [esi]
aam 0xd5
xlatb
or edi, esi
mov cs, word [ecx]
dec dword [edx + 0x802307e]
test byte [ebx], al
inc esp
add dword [edx - 0x7af57d7e], 3
inc ebp
add dword [edx - 0x7fc67d7e], 0xffffff82
add byte [edx + 0x78d5080], 0x87
add byte [edx - 0x3b6bf77e], 0x90
push eax
lea eax, [ecx]
pop edx
jge 0xf211de
jge 0xf210e3
push eax
lea eax, [edi]
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x17fe72b0]
add byte [edx - 0x7fbd4e7e], 0x50
lea eax, [edi]
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x57fe72b0]
add dword [edx - 0x72af7f7e], 7
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fbd6eb0]
push eax
lea eax, [edi]
nop
push eax
lea eax, [ecx]
test al, 0x83
add byte [edx + 0x78d5080], 0x87
add byte [edx - 0x3b6bf77e], 0x90
push eax
xchg ecx, eax
inc edx
or byte [esp + eax*8 + 0x42915090], dl
adc byte [eax - 0x73], 7
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fbd6eb0]
push eax
lea eax, [edi]
nop
push eax
xchg ecx, eax
inc edx
adc byte [eax - 0x73], 7
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fbd6eb0]
push eax
lea eax, [edi]
or byte [esp + eax*8 + 0x42915090], dl
adc byte [eax - 0x73], 7
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x72bd6eb0]
push es
test byte [edx + 0x5d098282], al
test eax, 0xa81085a
test ebp, eax
cmp dword [eax + 0x6b828282], eax
bnd jge 0xf2125b
jge 0xf2121a
add dword [edx + 0x50808282], 0xffffff8d
pop es
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fbd6eb0]
push eax
lea eax, [edi]
xchg dword [edx - 0x6bf77d7e], eax
xchg esp, eax
les edx, [eax + 0x5c008d50]
jge 0xf21282
jge 0xf211b0
inc ecx
cmp dword [ebx - 0x727d7d7e], eax
pop es
mov dh, 0x82
add byte [edx - 0x7d7d7cc5], 0x82
adc byte [eax - 0x73], 7
cmp byte [ebx], 0x83
add byte [edx - 0x72af7f7e], 7
lea eax, [edi]
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fb46eb0]
push eax
lea eax, [edi]
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax + 0x5c008d50]
jge 0xf212b6
jge 0xf2120f
or dword [ebp - 0x57], esi
ja 0xf212b1
fsubr qword es:[ebx - 0x76]
jge 0xf212c3
jge 0xf21212
inc ebx
bound ecx, qword [edx + 0x9c48408]
push 0x3b
add dword [edx + 0x50808282], 0xffffff8d
pop es
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax - 0x7fb46eb0]
push eax
lea eax, [edi]
add byte [edx - 0x6f3b6bf8], 0x50
xchg ecx, eax
dec ebx
adc byte [eax - 0x73], 7
xchg dword [edx - 0x6bf77d7e], eax
les edx, [eax + 0x5c008d50]
jge 0xf212f3
jge 0xf2127b
add edi, dword [edx - 0x7e]
jp 0xf211fc
inc dword [edx + 0x7d5b0382]
jge 0xf212ff
add byte [edx + 0x7d7d5b03], 0x7d
jge 0xf21287
jp 0xf21208
xchg dword [edx + 0x7d5b0382], eax
jge 0xf2130b
add byte [edx + 0x7d7d5b03], 0x7d
jge 0xf21293
jp 0xf21294
add byte [edx - 0x7dacfc7e], 0x82
add byte [edx - 0x7dfd85fd], 0x82
add byte [ebx], 0x53
add byte [edx - 0x7d7dacfd], 0x82
add byte [ebx], 0x7a
add al, byte [edx + 0x53038282]
add byte [ebx], 0x53
add byte [edx + 0x7a038282], 2
add byte [edx - 0x7dacfc7e], 0x82
add byte [edx - 0x568af62c], 0x72
jno 0xf212d4
add byte [edx + 0x9d48282], 0x75
test eax, 0xdc267172
imul ebx, dword [ecx], 0x7c
jge 0xf21331
fsubr qword [ebx + 0x19]
jl 0xf21330
jge 0xf212bd
or byte [esp + eax*8 + 0x6a424bb1], al
or dword [ebp - 0x7d7d67fa], 0xffffff82
add edx, dword [ebx - 0x80]
add byte [edx - 0x2b95f67e], 9
jne 0xf21277
test ah, al
mov cl, 0x4b
inc edx
push 0xffffffffffffff83
les esi, [ecx - 0x7c95bdb5]
lea eax, [esi]
push es
cwde
add byte [edx - 0x7facfc7e], 0x82
add byte [edx + 0x9d46a09], 0x75
test eax, 0xdc267172
cmp dword [ebx + 0x6b828282], eax
int1
jl 0xf21358
push ebx
add byte [edx + 0x6a098282], 0xd4
or dword [ebp - 0x57], esi
jb 0xf21341
fdivr qword es:[ecx]
add dword [edx - 0xe947d7e], 0x7c
jge 0xf21359
add byte [edx + 0x7cf16b82], 0x7d
jge 0xf212bc
fild qword [ecx + 0x45098aff]
test eax, 0x45098aff
fstp st(4)
or dword [edi - 0x21], esp
inc eax
mov al, byte [edx - 0x5949f623]
invalid
xchg byte [edx + 0x37df8282], al
lodsb al, byte [esi]
wait
cmp bh, byte [edx]
lea esi, [eax]
add byte [ecx - 0x14bdfcb9], 0x81
add byte [edx - 0x7d7fbac5], 0x82
cmp byte [ecx - 0x4d4d7998], dh
xchg edx, eax
add byte [edx - 0x79974ec8], 0xb2
mov dl, 0x92
ret 0x8dcb
xchg byte [ecx], dl
mov cl, 0xb1
mov cl, 0xb2
dec edi
adc dword [ecx + 0x4fb2b1b1], esi
cmp al, 0xef
mov cl, 0x27
cmp al, cl
lea esp, [edi]
cmp dh, byte [0xb1b18581]
add dword [ebp - 0x654e4e4f], 0xb1e63a69
cmp bh, dh
mov cl, 0x9a
imul edi, dword [edx], 0xfe3ab1e6
mov ch, 0x30
dec ebx
mov cl, 0xb1
mov cl, 0xb1
mov esi, 0xb1b1f735
mov cl, 0xb1
mov dl, 0x67
xor byte [esi - 0x47], dh
mov cl, 0xb2
xor byte [bp - 0x47], dh
mov cl, 0xb1
mov cl, 0x30
pop eax
mov ecx, 0x30b1b1b1
dec eax
mov cl, 0xb1
mov cl, 0xb1
mov esi, 0x4e4e6535
dec esi
xlatb
cmp dh, byte [esi + 0x32bd5970]
push ecx
mov esi, 0xb1b24930
mov cl, 0xb1
mov esi, 0xb1b1bc34
mov cl, 0xd7
cmp dh, byte [esi - 0x41b1aed0]
mov cl, 0xb1
mov dl, 0x73
mov al, 0xa9
clc
clc
xor dh, byte [esi - 0x4d]
pop eax
mov cl, 0xb2
jae 0xf21345
test eax, 0x7632f8f8
mov bl, 0x58
jns 0xf213ec
dec esi
dec esi
pop eax
mov ch, 0xb1
mov cl, 0xb1
invalid
lds ebx, [esi - 0x36]
cmove ebp, dword [ebp - 0x32bfca13]
in eax, dx
pop esp
jns 0xf21391
inc esi
leave
dec eax
xor ecx, ecx
leave
leave
leave
invalid