Function at 0x416f8b
Capabilities:
Encode data using xor

Disassembly:
rol byte [esi], 0x2b
mov eax, dword [0x16ba1de8]
in al, 0x1e
and byte [edx + 0x598907b], cl
loop 0x416f36
cmp al, 0x39
cmpsd dword [esi], dword es:[edi]
and esi, dword [edi + 0x789bf1e9]
movsd dword es:[edi], dword [esi]
pop ss
cmp dword [0xef106bd9], 0x9278b73a
stc
xor eax, 0x371438f4
movsd dword es:[edi], dword cs:[esi]
inc ecx
mov bh, 0x86
invalid
inc ecx
xchg dword [ecx], esp
invalid
aaa
jne 0x416fd8
enter 0xfffffffffffffec8, 0x3d
sub eax, 0x839d2187
mov byte [0xf89fd679], al
leave
bound ecx, qword [eax]
pop ds
mov eax, dword [0xea3b839d]
pushal
jl 0x416f24
loopne 0x416fea
cld
mov al, 0x81
rcr ah, cl
add al, 0x42
call 0x2437202b
or byte [edi + 0x7e], 0x67
enter 0x3b30, 0x62
jl 0x416fb2
mov ebx, 0x25c4830e
mov byte [0x42604f62], al
jl 0x417015
xor dword [ecx + 0x7c], edx
mov dl, 0xc4
sti
jl 0x416f69
inc ebx
pop ss
invalid
push es
cmp ch, 0x7c
jo 0x417037
aas
adc bh, cl
jl 0x416f60
mov eax, dword [0x8107200e]
push es
cmp al, byte [ebx]
jbe 0x41703e
clc
mov byte [0x5b7f9485], al
add dword [ebx], esi
cmp dword [edx - 4], esp
cld
les ebp, [edi - 0x3ecf4365]
popfd
mov esp, 0x3f7ea72f
leave
sbb dword [edx], 0x225c4d49
add eax, 0x3f77da9
sbb cl, byte [ecx + 0x4d]
dec ecx
dec ebp
pop esp
and al, byte [0x3f77da9]
jge 0x416fe7
add edi, dword [edi]
aas
fcmovbe st(0), st(4)
jnp 0x417066
js 0x416ff4
sbb ah, al
jl 0x416fe8
sti
pop es
inc edx
cmp eax, dword [ebx]
jb 0x416fb9
xor al, 0x7c
dec edi
jne 0x417045
mov byte [eax + 0x189e281], dh
mov eax, dword [0xdc30a270]
xor ah, bl
jp 0x417094
xchg esp, eax
jle 0x417011
dec edx
insd dword es:[edi], dx
push ebp
add esi, edi
xor al, al
xchg edi, eax
push esp
inc ebp
add ah, al
or dword [ecx - 0xb], esi
push ss
jle 0x41706a
inc eax
in al, dx
mov ch, 0x6d
insd dword es:[edi], dx
adc eax, 0xf44d9dd1
lodsd eax, dword [esi]
sti
insd dword es:[edi], dx
push 0xdd4c7c7b
aas
jnp 0x4170b5
dec esp
fnstsw word [edi]
mov ebx, 0x99e01b0
salc
call 0x986e7a28
push ds
jle 0x41704c
add dword [esi - 0x1e1729f7], ebx
or dword [0x27e1e98], ebp
sub eax, 0x27e1e98
inc eax
or dword [ecx], 0xe
or dword [esi], ecx
jp 0x416fee
cld
and al, 0x40
add esp, dword [ecx]
or cl, byte [esi]
bound edi, qword [ecx + ebx*4 + 5]
inc esi
and ebp, eax
arpl word [esi + 1], si
pushal
xchg esp, eax
loop 0x4170a7
jno 0x4170e4
jge 0x41702d
lds ebx, [edx + 0x1d975c36]
out dx, eax
jl 0x417050
lcall 0x7cef, 0x1d975c36
loopne 0x41707a
pop esp
xchg edi, eax
sbb eax, 0x9e07cef
or dword [ecx - 0xb], esi
jno 0x417068
loope 0x416ffe
ficomp dword [ecx - 0x22c303be]
pop ss
fst qword [edi]
scasb al, byte es:[edi]
mov al, 1
rcr esp, cl
out dx, eax
fisubr dword [edi + eax*8]
xor ah, bl
mov esi, 0x9d81f703
or dword [edi + 0x7e], ecx
aas
clc
ljmp 0x9e52
or dword [edx], edi
push edx
sahf
jle 0x4170ec
inc eax
aad 3
aaa
inc edi
aas
jg 0x4170f1
invalid
rol dword [ebx], cl
and byte [ebx], ah
and ebx, dword [edi]
inc ebp
push eax
mov esp, 0xa3743289
lahf
sub dh, ah
rcr byte [edx + esi + 0x5a], cl
daa
iretd
inc edi
insd dword es:[edi], dx
dec edi
pop esi
int 0x18
push ebp
rcl byte [ecx - 0x5b608539], 0x38
adc si, word ds:[esi]
movsb byte es:[edi], byte [esi]
cmp byte [esi + 0x36], ah
adc esi, dword ds:[esi]
cmp eax, 0xbff5673e
in eax, 0x57
call 0x4e27f9c3
mov ebp, 0xbff57fb9
pop esi
push esi
retf 0xa68e