Function at 0xff3b23
Capabilities:
Encode data using xor

Disassembly:
not eax
mov dword [edx + edi - 0xf0d060c], eax
xchg dh, cl
rol edx, 0x19
or edx, ecx
mov eax, dword [ebp + edx - 0x201e1e1e]
dec edx
lea ebp, [ebp + edx - 0x201e1e19]
sub cx, dx
rol cl, 0x67
sub edx, edx
xor eax, ebx
dec eax
and ecx, edx
rol cl, 0x64
setns dl
neg eax
rol eax, 2
neg cx
bt ecx, edx
inc cx
bswap eax
xor ebx, eax
shl ecx, 0x77
adc esi, eax
mov edx, dword [edx + edi + 3]
lea eax, [ecx + ecx + 0x5337560a]
and ax, cx
add eax, eax
add cl, byte [edi + ecx*8 - 0x3fffff8]
shr edx, cl
lea ecx, [eax + eax*2 + 0x31b40b87]
inc eax
jnp 0xf457d6
adc al, 0x61
dec esp
push ebx
mov bl, 0xc3
mov dword [edi + ecx - 0x2afe0b81], edx
lea edi, [edi + ecx*2 - 0x55fc1708]
ror ecx, 1
movzx edx, cx
call fcn.00f5a166
test dword [ebx - 0x4c15c37f], esp
jns 0xf457d0
lodsb al, byte [esi]
lodsb al, byte [esi]
out 0xb7, al
jns 0xf457d6
lodsb al, byte [esi]
fidivr dword [esi - 0x53258611]
sar byte [edx - 0x10], cl
cmp al, 0x53
sbb dword [ebx + 0x5304009e], esi
test dword [esi + 5], ebp
add eax, 0x60a4c5ef
mov dl, 0x48
stosd dword es:[edi], eax
push 0xffffffffffffffda
add dword [edi], edi
sub esi, dword [edx + 0x17]
cmc
push eax
retf
mov dword [esp], ecx
rol eax, 1
xor ebx, eax
xchg ecx, edx
add esi, eax
sub ecx, edx
shr dword [esp + ecx - 0x4facbdb9], 0xba
mov eax, dword [edi + ecx - 0x4facbdb9]
jne 0x1020774
mov ecx, 0x301c2e26
movsx ebp, cl
dec esp
lea eax, [ecx*2 - 0x545186d1]
dec edx
mov ebp, dword [ecx + ebx - 0x301c2e26]
dec esi
mov edx, dword [ecx + ebx - 0x301c2e1e]
dec ebx
lea edx, [eax + eax*8 + 0x2803a01b]
dec ebx
lea eax, [eax + eax - 0x14de4f00]
mov ebx, edx
inc edx
mov cl, byte [ecx + ebx - 0x301c2e16]
dec esp
lea esp, [ebx*4 - 0x65f6925d]
call fcn.00ffdb65
pop esi
cwd
inc ecx
or dl, 0x90
inc eax
sar ch, 0xc2
dec ebp
arpl sp, sp
dec ebp
add edi, esp
dec ecx
sub eax, 0x1cb2ab29
dec ebp
lea esi, [ecx + 0x24a036a4]
dec edi
mov ecx, dword [ebx + edx*2 - 0x47791b76]
inc ecx
sbb ebx, eax
inc ecx
inc edx
dec edi
lea ebx, [edx + ebx - 0x23bc8db4]
dec eax
cwde
inc ecx
ror al, 0xa2
dec eax
sar ebp, 0x52
inc ebp
movzx ebp, byte [ebp + edi - 0x8934f35]
xchg edx, eax
dec edx
lea edi, [edi + edx - 0x23bc8dbb]
inc esp
xor ch, dh
add ax, 0xec06
inc ecx
xor ch, 0x24
dec edi
lea esp, [edx + edx + 0x50923a06]
inc ecx
dec ch
shl ebx, 0xf8
inc ecx
xor ch, 0xb6
btr ebp, 0xbb
inc ecx
neg ch
inc ecx
neg eax
inc ecx
shl edx, 0x14
mov ecx, edx
inc ecx
dec ch
inc ecx
ror al, 1
dec eax
adc ebp, 0x6421711c
inc ecx
xor ch, 0x12
and bp, ax
inc ecx
adc ch, 0x3e
dec eax
btc ebp, 0xd
inc ecx
shr eax, 0xb
inc ecx
xor ch, 8
inc ebp
and esp, esp
inc bp
adc eax, esi
inc ecx
adc ch, 0xa3
dec ecx
neg edx
leave
mov eax, dword [edi]
mov edx, 0xf0d0610
mov ecx, dword [edi + edx*2 - 0x1e1a0c1c]
or eax, ecx
movsx ecx, dx
dec cl
jg 0xf2bf5f
daa
sub eax, 0x25743c8a
je 0xffd977
not ecx
lodsb al, byte [esi]
xor ch, byte [eax]
jns 0xffd950
shr dword [eax + ebp*2 - 0x2e0882dc], 1
lodsb al, byte [esi]
and al, 0x8c
jle 0xffd99d
push ebx
loope 0xffd9d8
test byte [0xf748592b], ch
jb 0xffd90a
mov bl, 0xa0
or byte [0xd1160c8b], 0xae
cwde
xchg dword [ebx], ebp
jp 0xffd952
push ss
shr dword [esi + 0x7a2b8798], 1
rcl dword [ebx - 5], cl
push ebx
sti
bound ebx, qword [eax + 0x14eabf8b]
bound edi, qword ss:[edx + 0x36590950]
ret 0xc5d5
aad 0xc5
stosd dword es:[edi], eax
sar dword [ebp + 0x11], 0xc9
wait
out dx, al
cmp ebx, dword [esi]
push 0x819b
pop eax
stosd dword es:[edi], eax
adc al, byte [esi]
adc dword [ebx + 0x3f], eax
wait
sbb dword [eax - 0x55], 0x43110612
aas
scasb al, byte es:[edi]
lds esp, [ecx + 0x9b96b64]
aas
jp 0xffd98f
sub dword [ecx], ecx
mov esi, 0xdcdd81c1
or dword [esi - 0x23227e3f], edi
lcall 0xa49e, 0x3e0bf716
mov es, word [ecx + 0x265202a0]
pop ds
push esi
aas
mov cs, ebx
mov ah, 0x67
daa
loope 0xffd9b1
shr byte [ecx], 0xd7
pushal
dec dword [edx - 0x19aedbbb]
xchg edx, eax
int3
mov ecx, dword [ecx + edi - 0x4facbdb5]
and edx, 0x3002198d
push edx
pop edx
mov dword [esp + edx*2 - 0x20043210], ebx
sar edx, 0xc4
movzx ebx, dx
cpuid
sbb edi, 7
push 0x9d3ea201
mov dword [edi + 0xc], eax
mov eax, 0xbfb2a5a4
mov dword [edi + 8], ebx
shr dword [esp], 0xf0
sub eax, eax
pop eax
mov dword [edi + 4], ecx
mov dword [edi], edx
pop ebx
jns fcn.00f4a431
mov ecx, 0xf400388e
jmp 0xffd930