Function at 0x5204fb
Capabilities:
Encode data using xor

Disassembly:
dec ecx
test esi, ebx
int 0xc9
jne 0x5204d7
aad 0xe1
sub dword [ecx - 0x673f3263], eax
salc
test eax, 0xe3f515a9
ja 0x520567
lahf
dec ecx
and eax, 0x3137b50d
adc eax, 0xd3241580
dec edi
lodsb al, byte [esi]
stc
mov ch, 0x34
sub ebx, esi
leave
fadd dword [0x45090439]
pop esp
inc ebp
adc byte [ecx + 0x29], ch
push ebp
test eax, 0x3f74f3c4
test dword [eax + 0x70], ebp
and al, 0x5a
mov eax, dword [0xd5f0a534]
popfd
push ebp
adc eax, 0xfa9b663e
xlatb
loope 0x5204da
mov dh, 0x69
cmpsb byte [esi], byte es:[edi]
stosb byte es:[edi], al
in al, dx
mov edx, 0xe9767886
push esp
push 0xffffffffffffff85
dec eax
jbe 0x520592
add al, 0x2a
mov ch, 0x2a
and byte es:[esi], al
je 0x52056b
sub dword [0xd5680519], esi
xor eax, 0xd5680519
sub dword [ebp + 0x79], esi
jge 0x520564
inc ecx
xor ax, 0xaeae
xchg ebp, eax
mov ebx, 0xf8dad6e7
pop ss
pop ebp
test eax, 0xb98788fe
out 1, al
jae 0x520541
xor eax, 0xbb95aeae
out 0xd6, eax
invalid
arpl word [ebp - 0xd], di
pop edx
pop edx
cmp byte [esi + 0x4a], bh
jle 0x5205b3
sbb esp, dword [ebx + 0x10]
and edx, esp
xor eax, 0xb0dc3fc9
xchg byte [eax], dh
mov dword [ecx + 0x2290b99], edx
invalid
adc byte [ecx], ah
loop 0x5205a4
leave
aas
fdiv qword [eax - 0x6e76cf7a]
cdq
or ebp, dword [ecx]
add bl, cl
out 0xc1, al
and eax, 0x351963f9
adc cl, byte [ecx]
les esi, [edi - 0x76]
push ebp
dec edx
mov ecx, 0xe6aa6930
in al, 0x4c
aad 0x59
add eax, 0xe569f979
aad 0xf5
lds ecx, [ebx]
pop esp
dec ecx
and eax, 0x50535b9
int1
xor eax, dword [edi - 0x568ac6cd]
add eax, 0x338733f1
cmp dword [ebp - 0x57], esi
inc ebp
jne 0x52054e
insd dword es:[edi], dx
mov eax, 0x6795d81b
add eax, 0xf913e9a9
fcom dword [ebp - 0x1656fa99]
adc edi, ecx
dec esp
nop
sbb al, 0xd5
in eax, 0x25
adc eax, 0x44c8a3ff
and eax, 0xc8a3ff15
inc esp
adc eax, 0x695855ba
dec eax
pop ecx
mov ebp, 0x29cea3ff
cmp dword cs:[ecx + 0x4f6989b8], ebx
adc eax, 0x89d2b952
aam 0xf5
and al, 5
cmc
mov dword [0x36e596c9], eax
xchg ebp, eax
pop eax
imul ecx, dword [eax + 0x59], 0x250e5975
sal dword [esi - 0x5a16d0b5], 0xa9
test dword [ecx + 0x29dfc9f5], esp
xor eax, 0xf3e8f510
pop es
add eax, 0x77d9e539
pop ecx
jne 0x52064d
inc ebp
das
adc bl, byte [ebp - 0x199a695c]
cmp ebp, dword [ebx + 0x2e14c6fb]
push esp
test dh, 0x54
salc
call 0xc8be2fc1
inc ecx
ja 0x5205c0
daa
or byte [edx], bh
scasb al, byte es:[edi]
pushfd
shl edx, 0xd0
jg 0x52067f
fldpi
test byte [esi - 0x2b193605], dh
inc eax
jb 0x52065a
das
or al, 0x3e
xchg ecx, eax
mov dword [0x586a0537], eax
leave
sti
aam 0xe6
jb 0x52068c
das
sbb eax, 0x91a30c3e
or al, 0xa3
xchg ecx, eax
add eax, 0x276a5837
adc eax, 0xae9c083a
pushfd
scasb al, byte es:[edi]
sal ebx, 0xd0
loop 0x5206ae
jg 0x52064e
fnstenv [esi - 0x4f60527c]
adc byte [esi], 0x24
dec ebx
jns 0x5206c9
push 0x5361f5c7
cmp al, 0xe
inc ebx
jno 0x5206d7
insb byte es:[edi], dx
clc
retf 0x97a5
xchg byte [ecx], ch
sbb ecx, dword [edi + 0x71e0d2bd]
inc ebx
insb byte es:[edi], dx
pop esi
retf 0x97f8
xchg edi, eax
movsd dword es:[edi], dword [esi]
xchg byte [ebx + ebx - 0x1f7042d7], dh
rcr byte [edi + 0x24b082ad], cl
push ss
jns 0x5206e9
push 0x53c7f55a
popal
push cs
cmp al, 0x15
pop ds
or dword [ebx], eax
cmc
invalid
lodsb al, byte [esi]
cmpsb byte [esi], byte es:[edi]
invalid
xchg edi, eax
popfd
or eax, dword [ecx]
scasb al, byte es:[edi]
movsb byte es:[edi], byte [esi]
clc
adc dword [ebx], ebx
or eax, 0xf4a2a807
invalid
jp 0x5206a0
fisttp word [ecx + 0x72e4ee83]
js 0x5206aa
fisttp qword [ebx + 0x74626881]
jle 0x5206ac
bound esi, qword [esi + edi*2 - 0x2f]
fisttp dword [ebp + 0x76e0ea87]
jl 0x5206b6
invalid
sub byte [edi], 0x25
jae 0x520767
adc al, 0x1e
mov byte [edx + 0x7b71272d], al
xchg edx, eax
cwde
mov es, word [ebx + ebp + 0x107d7721]
sbb cl, byte [esi + eax*4 + 0x7f752329]
test byte [ebx], ch
and dword [edi + 0x7d], esi
adc byte [edx], bl
mov word [esi + 0x7f752329], es
out dx, eax
in eax, 0xf3
stc
push esi
pop esp
or al, byte [eax]
insd dword es:[edi], dx
int1
sti
push esp
pop esi
or byte [edx], al
jmp 0x5206f9
cwde
pop ecx
loope 0x5207be
jmp 0x5207d7
mov ebp, 0x2d8a6a2d
and ah, byte [ebp - 0x498e1dbb]
push esi
int1
invalid
iretd