Function at 0x416fe0
Capabilities:
Encode data using xor

Disassembly:
and dword [esi + 0x66], edx
in eax, 0xe1
xchg esp, eax
xchg esp, eax
sbb al, 0x2e
inc ecx
inc ecx
inc ecx
lodsd eax, dword [esi]
outsb dx, byte [esi]
inc ebp
inc ebx
lodsd eax, dword [esi]
sub dword [esi - 0x5249ce53], 0x18ada691
lodsd eax, dword [esi]
cmp byte [edx - 0x597c6df3], bl
or eax, 0xdf9bb486
cwde
xchg esi, eax
xchg esi, eax
cdq
mov byte [esi + 0x7b969698], dl
aam 0x9d
adc dword [esi - 0x6969e238], esp
jg 0x416fd3
inc ebp
inc ebx
popfd
mov ah, 0x9d
bound esi, qword [ebp + ecx - 0x7eaaac6e]
cmpsb byte [esi], byte es:[edi]
push ebx
push ebp
push ecx
push 0x96964546
test byte [esp + ebx*4], ah
xchg esi, eax
xchg esi, eax
xchg esi, eax
add eax, 0x9d9a6818
pop edx
pushfd
popfd
mov byte [esi - 0x1e831585], ah
xchg esp, eax
faddp st(1)
aas
jns 0x41705b
xchg esi, eax
mov bh, 0xad
and al, 0xa
pushfd
xchg esi, eax
xchg esi, eax
xchg esi, eax
popfd
push 0x9dae7b9e
push esi
pushfd
pushfd
xchg esp, eax
fisub word [ecx - 0x69e68899]
xchg esi, eax
xchg esp, eax
fidiv word [ecx - 0x69e686a1]
mov bh, 0x94
fidiv word [ecx - 0x69e6889a]
mov bh, 0x87
ja 0x417088
xchg esi, eax
fbstp tbyte [edi + 0x19]
xchg esi, eax
ja 0x417090
xchg esi, eax
fdivr qword [eax]
stosd dword es:[edi], eax
mov byte [0x23aba4a7], al
cwde
cmpsd dword [esi], dword es:[edi]
and eax, 0x9a23ab98
sbb byte [eax - 0x66], ch
cmpsd dword [esi], dword es:[edi]
and eax, 0x9c229d9a
push 0x9a25a79a
popfd
and bl, byte [ebp + ebx*4 - 0x776263dc]
cmpsb byte [esi], byte es:[edi]
jnp 0x4170c6
popfd
and al, 0x9c
popfd
mov byte [esi - 0x1e83d185], ah
jl 0x41707b
xchg esp, eax
faddp st(1)
aas
jns 0x4170b9
xchg esi, eax
mov cl, 0x29
xchg esi, eax
fdivr qword [eax]
stosd dword es:[edi], eax
mov byte [0x23aba4a7], al
cwde
sbb byte [eax - 0x66], ch
cmpsd dword [esi], dword es:[edi]
and eax, 0x9a229d98
popfd
and al, 0x9a
popfd
mov byte [esi - 0x1e831c85], ah
xchg esp, eax
faddp st(1)
aas
jns 0x4170df
xchg esi, eax
mov bh, 0xdc
cmp byte [ebx - 0x625b585e], ch
and bl, byte [eax - 0x626597e8]
and al, 0x98
popfd
mov byte [esi - 0x1e835885], ah
xchg esp, eax
faddp st(1)
aas
jns 0x4170fd
xchg esi, eax
mov cl, 0x29
xchg esi, eax
sub eax, 0x7961979
sub dword [esi - 0x69e686d3], edx
pop es
jns 0x417108
xchg esi, eax
idiv byte [ecx + 0x19]
xchg esi, eax
out 0x79, al
sbb dword [esi - 0x69e6862a], edx
invalid
jns 0x417118
xchg esi, eax
mov dh, 0x79
sbb dword [esi - 0x69e6865a], edx
lodsd eax, dword [esi]
pop ds
mov bl, 0x5e
test eax, 0xad5eb51f
pop ds
mov bl, 0x66
test eax, 0xad66b51f
lodsd eax, dword [esi]
pop ds
mov bl, 0x6e
test eax, 0xad6eb51f
pop ds
mov bl, 0x76
test eax, 0xad76b51f
pop ds
mov bl, 0x7e
test eax, 0xad7eb51f
pop ds
mov bl, 0x86
test eax, 0xad86b51f
pop ds
mov bl, 0x8e
test eax, 0xb18eb51f
sahf
mov cl, 0x96
xchg esi, eax
xchg esi, eax
xchg esi, eax
pushfd
jbe 0x4170e6
xchg byte [esi + ebx*8 + 0x19793fc1], dl
xchg esi, eax
lodsd eax, dword [esi]
xchg esp, eax
pop edi
jns 0x417170
xchg esi, eax
outsd dx, dword [esi]
jns 0x417174
xchg esi, eax
xchg dword [ecx + 0x19], edi
xchg esi, eax
scasd eax, dword es:[edi]
jns 0x41717c
xchg esi, eax
lodsd eax, dword [esi]
and dword [esi + 0x1c285553], esp
mov bh, 0xab
mov byte [0x21ada4a7], al
cmpsb byte [esi], byte es:[edi]
push ebx
lodsd eax, dword [esi]
and dword [esi + 0x1c285553], esp
mov bh, 0xab
push ebp
sub byte [edi + esi*4], bl
stosd dword es:[edi], eax
mov byte [0x23aba4a7], al
cwde
cmpsd dword [esi], dword es:[edi]
and eax, 0xa621ad98
push ebx
push ebp
sub byte [ecx + esi*4], bl
sub dword [esi - 0x5b585d55], edx
stosd dword es:[edi], eax
and ebx, dword [eax - 0x5467da59]
and ebx, dword [edx - 0x5265da59]
and dword [esi + 0x1c285553], esp
mov bh, 0xb1
jg 0x41719f
stosd dword es:[edi], eax
and ebx, dword [eax - 0x5267da59]
and dword [esi + 0x1c285553], esp
mov cl, 0x29
xchg esi, eax
stosd dword es:[edi], eax
mov byte [0x23aba4a7], al
cwde
cmpsd dword [esi], dword es:[edi]
and eax, 0x9a23ab98
cmpsd dword [esi], dword es:[edi]
and eax, 0xa621ad9a
push ebx
push ebp
sub byte [edi + esi*4], bl
mov cl, 0x7f
clc
invalid