Function at 0x527e2e
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], al
add byte [ebx], dh
jno 0x527bec
add byte [eax], al
add byte [eax], al
jae 0x527bf2
jbe 0x527bf4
add byte [eax], al
add byte [eax], al
je 0x527bfa
push 0
add byte [eax + eax + 0x72], dh
add byte [eax], al
add byte [eax], al
add byte [ebp], dh
jb 0x527c0c
add byte [eax], al
add byte [eax], al
imul eax, dword [eax], 0x64
add byte [eax], al
bound eax, qword [eax]
add byte gs:[eax], al
add byte [eax], al
add byte [ebx], dh
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ebp], ah
je 0x527c2c
add byte [eax], al
add byte [eax], al
insb byte es:[edi], dx
add byte [esi], dh
add byte [eax], al
add byte [eax], al
insb byte es:[edi], dx
add byte [eax + eax], dh
add byte [eax], al
add byte [esi], ah
popal
add byte [eax], al
add byte [eax], al
add byte [esi], dh
imul eax, dword [eax], 0
push 0x7900
add byte [eax], al
add byte [ecx], ah
jp 0x527c5c
add byte [eax], al
add byte [eax], al
add byte gs:[ebp], dh
add byte [eax], al
add byte [eax], al
insd dword es:[edi], dx
add byte [ebx], ch
add byte [eax], al
add byte [eax], al
popal
add byte [esi], ah
add byte [eax], al
add byte [eax], al
imul eax, dword [eax], 0x61
add byte [eax], al
add byte [eax], al
add byte [esi], ah
outsd dx, dword [esi]
add byte [eax], al
add byte [eax], al
add byte [eax], ch
imul eax, dword [eax], 0
insd dword es:[edi], dx
add byte [ebx], dh
add byte [eax], al
add byte [eax], al
imul eax, dword [eax], 0x6b
add byte [eax], al
add byte [eax], al
add byte [ebx], ch
jns 0x527ca4
add byte [eax], al
add byte [eax], al
jae 0x527caa
ja 0x527cac
add byte [eax], al
add byte [eax], al
jne 0x527cb2
jp 0x527cb4
add byte [eax], al
add byte [eax], al
je 0x527cba
je 0x527cbc
add byte [eax], al
add byte [eax], al
jo 0x527cc2
popal
add byte [eax], al
add byte [eax], al
add byte [edi], ah
jne 0x527ccc
add byte [eax], al
add byte [eax], al
je 0x527cd2
popal
add byte [eax], al
add byte [eax], al
add byte [eax + eax + 0x65], dh
add byte [eax], al
add byte [eax], al
add byte [ebx], ch
outsb dx, byte [esi]
add byte [eax], al
add byte [eax], al
add byte [ebp], ch
jb 0x527cec
add byte [eax], al
add byte [eax], al
jae 0x527cf2
popal
add byte [eax], al
add byte [eax], al
add byte [ebp], ch
outsb dx, byte [esi]
add byte [eax], al
add byte [eax], al
add byte [edi], ah
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ebx], ch
outsd dx, dword [esi]
add byte [ebx], ch
add byte [eax], al
jae 0x527d12
jns 0x527d14
jb 0x527d16
add byte [eax], al
add byte fs:[ecx], ch
jbe 0x527d1e
add byte [eax], al
popal
add byte [edx], dh
sub eax, 0x41005300
add byte [eax], al
add byte [edx], ah
add byte [di], ch
add byte [edx], al
inc edi
add byte [eax], al
add byte [ebx], ah
popal
add byte [0x53004500], ch
add byte [eax], al
add byte [ebx], ah
jae 0x527d48
sub eax, 0x5a004300
add byte [eax], al
add byte [eax + eax + 0x61], ah
add byte [0x4b004400], ch
add byte [eax], al
add byte [eax + eax + 0x65], ah
add byte [0x45004400], ch
add byte [eax], al
add byte [ebp], ah
insb byte es:[edi], dx
add byte [0x52004700], ch
add byte [eax], al
add byte [esi], ah
imul eax, dword [eax], 0x46002d
dec ecx
add byte [eax], al
add byte [esi], ah
jb 0x527d84
sub eax, 0x52004600
add byte [eax], al
add byte [eax], ch
add byte gs:[0x4c004900], ch
add byte [eax], al
add byte [eax], ch
jne 0x527d9c
sub eax, 0x55004800
add byte [eax], al
add byte [ecx], ch
jae 0x527da8
sub eax, 0x53004900
add byte [eax], al
add byte [ecx], ch
je 0x527db4
sub eax, 0x54004900
add byte [eax], al
add byte [esi], ch
insb byte es:[edi], dx
add byte [0x4c004e00], ch
add byte [eax], al
add byte [esi], ch
bound eax, qword [eax]
sub eax, 0x4f004e00
add byte [eax], al
add byte [eax], dh
insb byte es:[edi], dx
add byte [0x4c005000], ch
add byte [eax], al
add byte [eax], dh
je 0x527de4
sub eax, 0x52004200
add byte [eax], al
add byte [edx], dh
outsd dx, dword [esi]
add byte [0x4f005200], ch
add byte [eax], al
add byte [edx], dh
jne 0x527dfc
sub eax, 0x55005200
add byte [eax], al
add byte [eax], ch
jb 0x527e08
sub eax, 0x52004800
add byte [eax], al
add byte [ebx], dh
imul eax, dword [eax], 0x2d
add byte [ebx], dl
dec ebx
add byte [eax], al
add byte [ebx], dh
jno 0x527e20
sub eax, 0x4c004100
add byte [eax], al
add byte [ebx], dh
jbe 0x527e2c
sub eax, 0x45005300
add byte [eax], al
add byte [eax + eax + 0x68], dh
add byte [0x48005400], ch
add byte [eax], al
add byte [eax + eax + 0x72], dh
add byte [0x52005400], ch
add byte [eax], al
add byte [ebp], dh
jb 0x527e50
sub eax, 0x4b005000
add byte [eax], al
add byte [ecx], ch
add byte fs:[0x44004900], ch
add byte [eax], al
add byte [ebp], dh
imul eax, dword [eax], 0x2d
add byte [ebp], dl
inc ecx
add byte [eax], al
add byte [edx], ah
add byte gs:[0x59004200], ch
add byte [eax], al
add byte [ebx], dh
insb byte es:[edi], dx
add byte [0x49005300], ch
add byte [eax], al
add byte [ebp], ah
je 0x527e8c
sub eax, 0x45004500
add byte [eax], al
add byte [eax + eax + 0x76], ch
add byte [0x56004c00], ch
add byte [eax], al
add byte [eax + eax + 0x74], ch
add byte [0x54004c00], ch
add byte [eax], al
add byte [esi], ah
popal
add byte [0x52004900], ch
add byte [eax], al
add byte [esi], dh
imul eax, dword [eax], 0x56002d
dec esi
add byte [eax], al
add byte [eax], ch
jns 0x527ec8
sub eax, 0x4d004100
add byte [eax], al
add byte [ecx], ah
jp 0x527ed4
sub eax, 0x5a004100
add byte [0x61004c00], ch
add byte [eax + eax + 0x6e], dh
add byte [eax], al
add byte [eax], al
add byte [ebp], ah
jne 0x527eec
sub eax, 0x53004500
add byte [eax], al
add byte [ebp], ch
imul eax, dword [eax], 0x2d
add byte [ebp], cl
dec ebx
add byte [eax], al
add byte [eax + eax + 0x6e], dh
add byte [0x41005a00], ch
add byte [eax], al
add byte [eax], bh
push 0x5a002d00
add byte [ecx], al
add byte [eax], al
jp 0x527f1a
jne 0x527f1c
sub eax, 0x41005a00
add byte [eax], al
add byte [ecx], ah
add byte [0x41005a00], ch
add byte [eax], al
add byte [ebx], ch
popal
add byte [0x45004700], ch
add byte [eax], al
add byte [esi], ah
outsd dx, dword [esi]
add byte [0x4f004600], ch
add byte [eax], al
add byte [eax], ch
imul eax, dword [eax], 0x49002d
dec esi
add byte [eax], al
add byte [ebp], ch
je 0x527f58
sub eax, 0x54004d00
add byte [eax], al
add byte [ebx], dh
add byte gs:[0x4f004e00], ch
add byte [eax], al
add byte [ebp], ch
jae 0x527f70
sub eax, 0x59004d00
add byte [eax], al
add byte [ebx], ch
imul eax, dword [eax], 0x2d
add byte [ebx], cl
pop edx
add byte [eax], al
add byte [ebx], ch
jns 0x527f88
sub eax, 0x47004b00
add byte [eax], al
add byte [ebx], dh
ja 0x527f94
sub eax, 0x45004b00
add byte [eax], al
add byte [ebp], dh
jp 0x527fa0
sub eax, 0x5a005500
add byte [0x61004c00], ch
add byte [eax + eax + 0x6e], dh
add byte [eax], al
add byte [eax], al
add byte [eax + eax + 0x74], dh
add byte [0x55005200], ch
add byte [eax], al
add byte [edx], ah
outsb dx, byte [esi]
add byte [0x4e004900], ch
add byte [eax], al
add byte [eax], dh
popal
add byte [0x4e004900], ch
add byte [eax], al
add byte [edi], ah
jne 0x527fdc
sub eax, 0x4e004900
add byte [eax], al
add byte [eax + eax + 0x61], dh
add byte [0x4e004900], ch
add byte [eax], al
add byte [eax + eax + 0x65], dh
add byte [0x4e004900], ch
add byte [eax], al
add byte [ebx], ch
outsb dx, byte [esi]
add byte [0x4e004900], ch
add byte [eax], al
add byte [ebp], ch
insb byte es:[edi], dx
add byte [0x4e004900], ch
add byte [eax], al
add byte [ebp], ch
jb 0x528018
sub eax, 0x4e004900
add byte [eax], al
add byte [ebx], dh
popal
add byte [0x4e004900], ch
add byte [eax], al
add byte [ebp], ch
outsb dx, byte [esi]
add byte [0x4e004d00], ch
add byte [eax], al
add byte [ebx], ah
jns 0x52803c
sub eax, 0x42004700
add byte [eax], al
add byte [edi], ah
insb byte es:[edi], dx
add byte [0x53004500], ch
add byte [eax], al
add byte [ebx], ch
outsd dx, dword [esi]
add byte [ebx], ch
sub eax, 0x4e004900
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
jns 0x528064
jb 0x528066
sub eax, 0x59005300
add byte [eax], al
add byte [eax], al
add byte [eax + eax + 0x69], ah
add byte [esi], dh
sub eax, 0x56004d00
add byte [eax], al
add byte [eax], al
add byte [ecx], dh
jne 0x528084
jp 0x528086
sub eax, 0x4f004200
add byte [eax], al
add byte [eax], al
add byte [esi], ch
jae 0x528094
sub eax, 0x41005a00
add byte [eax], al
add byte [ebp], ch
imul eax, dword [eax], 0x4e002d
sub eax, 0x5a004e00
add byte [eax], al
add byte [ecx], ah
jb 0x5280ac
sub eax, 0x51004900
add byte [eax], al
add byte [eax + eax + 0x65], ah
add byte [0x48004300], ch
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x42004700], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5280d0
sub eax, 0x58004d00
add byte [eax], al
add byte [esi], ah
jb 0x5280dc
sub eax, 0x45004200
add byte [eax], al
add byte [ecx], ch
je 0x5280e8
sub eax, 0x48004300
add byte [eax], al
add byte [esi], ch
insb byte es:[edi], dx
add byte [0x45004200], ch
add byte [eax], al
add byte [esi], ch
outsb dx, byte [esi]
add byte [0x4f004e00], ch
add byte [eax], al
add byte [eax], dh
je 0x52810c
sub eax, 0x54005000
add byte [eax], al
add byte [ebx], dh
jb 0x528118
sub eax, 0x50005300
add byte [0x61004c00], ch
add byte [eax + eax + 0x6e], dh
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
jbe 0x528130
sub eax, 0x49004600
add byte [eax], al
add byte [ecx], ah
jp 0x52813c
sub eax, 0x5a004100
add byte [0x79004300], ch
add byte [edx], dh
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
add byte gs:[0x45005300], ch
add byte [eax], al
add byte [ebp], ch
jae 0x528160
sub eax, 0x4e004200
add byte [eax], al
add byte [ebp], dh
jp 0x52816c
sub eax, 0x5a005500
add byte [0x79004300], ch
add byte [edx], dh
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ecx], dh
jne 0x528184
jp 0x528186
sub eax, 0x43004500
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x528194
sub eax, 0x47004500
add byte [eax], al
add byte [edx], bh
push 0x48002d00
add byte [ebx], cl
add byte [eax], al
add byte fs:[ebp], ah
sub eax, 0x54004100
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x55004100], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5281c4
sub eax, 0x53004500
add byte [eax], al
add byte [esi], ah
jb 0x5281d0
sub eax, 0x41004300
add byte [eax], al
add byte [ebx], dh
jb 0x5281dc
sub eax, 0x50005300
add byte [0x79004300], ch
add byte [edx], dh
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
add byte gs:[0x49004600], ch
add byte [eax], al
add byte [ecx], dh
jne 0x528200
jp 0x528202
sub eax, 0x45005000
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x528210
sub eax, 0x59004c00
add byte [eax], al
add byte [edx], bh
push 0x53002d00
add byte [edi], al
add byte [eax], al
add byte fs:[ebp], ah
sub eax, 0x55004c00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x41004300], ch
add byte [eax], al
add byte [ebp], ah
jae 0x528240
sub eax, 0x54004700
add byte [eax], al
add byte [esi], ah
jb 0x52824c
sub eax, 0x48004300
add byte [eax], al
add byte [eax], ch
jb 0x528258
sub eax, 0x41004200
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [edx], ch
sub eax, 0x4f004e00
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x528274
sub eax, 0x5a004400
add byte [eax], al
add byte [edx], bh
push 0x4d002d00
add byte [edi], cl
add byte [eax], al
add byte fs:[ebp], ah
sub eax, 0x49004c00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x5a004e00], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5282a4
sub eax, 0x52004300
add byte [eax], al
add byte [esi], ah
jb 0x5282b0
sub eax, 0x55004c00
add byte [eax], al
add byte [edx], ah
jae 0x5282bc
sub eax, 0x41004200
add byte [0x61004c00], ch
add byte [eax + eax + 0x6e], dh
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [edx], ch
sub eax, 0x45005300
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x5282e4
sub eax, 0x41004d00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x45004900], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5282fc
sub eax, 0x41005000
add byte [eax], al
add byte [esi], ah
jb 0x528308
sub eax, 0x43004d00
add byte [eax], al
add byte [ebx], dh
jb 0x528314
sub eax, 0x41004200
add byte [0x61004c00], ch
add byte [eax + eax + 0x6e], dh
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [ecx], ah
sub eax, 0x4f004e00
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x52833c
sub eax, 0x4e005400
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x41005a00], ch
add byte [eax], al
add byte [ebp], ah
jae 0x528354
sub eax, 0x4f004400
add byte [eax], al
add byte [ebx], dh
jb 0x528360
sub eax, 0x41004200
add byte [0x79004300], ch
add byte [edx], dh
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [ecx], ah
sub eax, 0x45005300
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x528388
sub eax, 0x4d004f00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x4d004a00], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5283a0
sub eax, 0x45005600
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [ebx], dh
sub eax, 0x49004600
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x5283bc
sub eax, 0x45005900
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x42004300], ch
add byte [eax], al
add byte [ebp], ah
jae 0x5283d4
sub eax, 0x4f004300
add byte [eax], al
add byte [ebx], dh
insd dword es:[edi], dx
add byte [esi], ch
sub eax, 0x49004600
add byte [eax], al
add byte [eax], al
add byte [ecx], ah
jb 0x5283f0
sub eax, 0x59005300
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x5a004200], ch
add byte [eax], al
add byte [ebp], ah
jae 0x528408
sub eax, 0x45005000
add byte [eax], al
add byte [ecx], ah
jb 0x528414
sub eax, 0x4f004a00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x54005400], ch
add byte [eax], al
add byte [ebp], ah
jae 0x52842c
sub eax, 0x52004100
add byte [eax], al
add byte [ecx], ah
jb 0x528438
sub eax, 0x42004c00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x57005a00], ch
add byte [eax], al
add byte [ebp], ah
jae 0x528450
sub eax, 0x43004500
add byte [eax], al
add byte [ecx], ah
jb 0x52845c
sub eax, 0x57004b00
add byte [eax], al
add byte [ebp], ah
outsb dx, byte [esi]
add byte [0x48005000], ch
add byte [eax], al
add byte [ebp], ah
jae 0x528474
sub eax, 0x4c004300
add byte [eax], al
add byte [ecx], ah
jb 0x528480
sub eax, 0x45004100
add byte [eax], al
add byte [ebp], ah
jae 0x52848c
sub eax, 0x59005500
add byte [eax], al
add byte [ecx], ah
jb 0x528498
sub eax, 0x48004200
add byte [eax], al
add byte [ebp], ah
jae 0x5284a4
sub eax, 0x59005000
add byte [eax], al
add byte [ecx], ah
jb 0x5284b0
sub eax, 0x41005100
add byte [eax], al
add byte [ebp], ah
jae 0x5284bc
sub eax, 0x4f004200
add byte [eax], al
add byte [ebp], ah
jae 0x5284c8
sub eax, 0x56005300
add byte [eax], al
add byte [ebp], ah
jae 0x5284d4
sub eax, 0x4e004800
add byte [eax], al
add byte [ebp], ah
jae 0x5284e0
sub eax, 0x49004e00
add byte [eax], al
add byte [ebp], ah
jae 0x5284ec
sub eax, 0x52005000
push edx
add byte [eax], al
add byte [edx], bh
push 0x43002d00
add byte [eax], cl
push esp
add byte [eax], al
add byte [eax], al
add byte [ebx], dh
jb 0x528508
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub al, 0x35
add dl, byte [eax]
inc edx
add byte [eax], al
add byte [eax - 0x7a], dh
add dl, byte [eax]
sub al, 0
add byte [eax], al
xor byte [esi + 0x711002], dl
add byte [eax], al
adc byte [ebp + 0x1002], al
add byte [eax], al
cmp al, 0x96
add dl, byte [eax]
fadd dword [eax]
add byte [eax], al
dec eax
xchg esi, eax
add dl, byte [eax]
fiadd dword [eax]
add byte [eax], al
push esp
xchg esi, eax
add dl, byte [eax]
mov cl, 0
add byte [eax], al
pushal
xchg esi, eax
add dl, byte [eax]
mov al, byte [0x6c000000]
xchg esi, eax
add dl, byte [eax]
pop dword [eax]
add byte [eax], al
js 0x5284f0
add dl, byte [eax]
iretd