Function at 0x523bb0
Capabilities:
Encode data using xor

Disassembly:
add byte [eax + eax + 0x69], dh
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x69], dl
add byte [ebp], ch
add byte gs:[ebx], dl
je 0x523311
popal
add byte [ebp], ch
jo 0x523317
cmp eax, 0x32002200
add byte [eax], dh
add byte [ecx], dh
add byte [eax], bh
add byte [0x36003000], ch
add byte [0x31003000], ch
add byte [eax + eax + 0x31], dl
add byte [ecx], dh
add byte [edx], bh
add byte [ecx], dh
add byte [edx], dh
add byte [edx], bh
add byte [eax], dh
add byte [ebx], dh
add byte [edx], bl
and al, byte [eax]
and byte [eax], al
insb byte es:[edi], dx
add byte [ecx], ah
jae 0x52334d
je 0x52334f
push ebp
add byte [eax], dh
add byte fs:[ecx], ah
je 0x523359
add byte gs:[eax + eax + 0x69], dl
add byte [ebp], ch
add byte gs:[ebx], dl
je 0x523367
popal
add byte [ebp], ch
jo 0x52336d
cmp eax, 0x32002200
add byte [eax], dh
add byte [ecx], dh
add byte [eax], bh
add byte [0x36003000], ch
add byte [0x31003000], ch
add byte [eax + eax + 0x31], dl
add byte [ecx], dh
add byte [edx], bh
add byte [ecx], dh
add byte [edx], dh
add byte [edx], bh
add byte [eax], dh
add byte [ebx], dh
add byte [edx], bl
and al, byte [eax]
add byte ds:[eax + eax], bh
popal
add byte [ebx], dh
jae 0x5233a5
add byte gs:[ebp], ch
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], bh
dec ecx
add byte [eax + eax + 0x65], ah
add byte [esi], ch
je 0x5233b9
imul eax, dword [eax], 0x790074
and byte [eax], al
outsb dx, byte [esi]
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
cmp eax, 0x50002200
add byte [ecx], ah
arpl word [eax], ax
imul eax, dword [eax], 0x61
add byte [edi], ah
add byte gs:[edi], bl
aaa
add byte [ecx], dh
add byte [edi], bl
add byte [edi], ch
jb 0x5233e9
pop edi
add byte [ebx], cl
inc edx
add byte [eax + eax], dh
xor al, byte [eax]
cmp byte [eax], al
xor al, 0
cmp byte [eax], al
xor al, 0
xor al, byte [eax]
and al, byte [eax]
and byte [eax], al
jbe 0x523403
add byte gs:[edx], dh
jae 0x523409
imul eax, dword [eax], 0x6e006f
cmp eax, 0x36002200
add byte [esi], ch
add byte [ecx], dh
add byte [esi], ch
add byte [ecx], dh
add byte [esi], ch
add byte [0x20002200], dh
add byte [eax + eax + 0x61], ch
add byte [esi], ch
add byte [di], dh
popal
add byte [edi], ah
add byte gs:[0x6e002200], bh
add byte [ebp], ah
jne 0x52343f
je 0x523441
jb 0x523443
popal
add byte [eax + eax + 0x22], ch
add byte [eax], ah
add byte [eax], dh
jb 0x52344f
outsd dx, dword [esi]
add byte [ebx], ah
add byte gs:[ebx], dh
jae 0x523459
outsd dx, dword [esi]
add byte [edx], dh
inc ecx
add byte [edx], dh
arpl word [eax], ax
push 0x74006900
add byte [ebp], ah
arpl word [eax], ax
je 0x52346f
jne 0x523471
jb 0x523473
add byte gs:[0x78002200], bh
add byte [eax], bh
add byte [esi], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax], dh
jne 0x523487
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
dec ebx
add byte [ebp], ah
jns 0x523495
push esp
add byte [edi], ch
imul eax, dword [eax], 0x65
add byte [esi], ch
cmp eax, 0x33002200
add byte [ecx], dh
add byte [edx], ah
add byte [ebx], dh
add byte [eax], bh
add byte [0x61003600], dh
add byte [eax + eax + 0x33], ah
add byte [esi], dh
add byte [eax + eax], dh
add byte gs:[ebx], dh
add byte [0x2f002200], dh
add byte [esi], bh
add byte [eax + eax], bh
jo 0x5234cd
popal
add byte [ebx], ah
imul eax, dword [eax], 0x61
add byte [edi], ah
add byte gs:[eax], ah
add byte [ecx], ch
add byte fs:[ebp], ah
outsb dx, byte [esi]
add byte [eax + eax + 0x69], dh
add byte [esi], ah
imul eax, dword [eax], 0x720065
cmp eax, 0x4b002200
add byte [edx], al
xor al, 0
xor al, byte [eax]
cmp byte [eax], al
xor al, 0
cmp byte [eax], al
xor al, 0
xor al, byte [eax]
and al, byte [eax]
and byte [eax], al
jb 0x52350b
add byte gs:[eax + eax + 0x65], ch
add byte [ecx], ah
jae 0x523515
add byte gs:[eax + eax + 0x79], dl
add byte [eax], dh
add byte gs:[0x55002200], bh
add byte [eax], dh
add byte fs:[ecx], ah
je 0x52352d
add byte gs:[edx], ah
add byte [eax], ah
add byte [edx], dh
add byte gs:[ebx], dh
je 0x52353b
popal
add byte [edx], dh
je 0x523541
cmp eax, 0x70002200
add byte [edi], ch
jae 0x52354b
jae 0x52354d
imul eax, dword [eax], 0x6c0062
add byte gs:[edx], ah
add byte [esi], bh
add byte [eax + eax], bh
jo 0x52355d
popal
add byte [edx], dh
add byte gs:[esi], ch
je 0x523567
and byte [eax], al
bound eax, qword [eax]
jne 0x52356d
imul eax, dword [eax], 0x64006c
inc ebx
add byte [edi], ch
insd dword es:[edi], dx
add byte [eax], dh
popal
add byte [edx], dh
add byte gs:[0x45002200], bh
add byte [ecx], dl
and al, byte [eax]
and byte [eax], al
jae 0x52358f
add byte gs:[edx], dh
jbe 0x523595
imul eax, dword [eax], 0x650063
inc ebx
add byte [edi], ch
insd dword es:[edi], dx
add byte [eax], dh
popal
add byte [edx], dh
add byte gs:[0x45002200], bh
add byte [ecx], dl
and al, byte [eax]
and byte [eax], al
imul eax, dword [eax], 0x74006e
add byte gs:[edi], ah
jb 0x5235c1
popal
add byte [eax + eax + 0x65], dh
add byte [0x73002200], bh
add byte [ebp], ah
jo 0x5235d1
popal
add byte [edx], dh
popal
add byte [eax + eax + 0x65], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax + eax + 0x69], ah
add byte [ebx], dh
jo 0x5235e7
outsd dx, dword [esi]
add byte [ebx], dh
imul eax, dword [eax], 0x690074
outsd dx, dword [esi]
add byte [esi], ch
cmp eax, 0x64002200
add byte [ebp], ah
je 0x5235ff
add byte gs:[ebx], ah
je 0x523605
and al, byte [eax]
add byte ds:[eax + eax], bh
popal
add byte [ebx], dh
jae 0x523611
add byte gs:[ebp], ch
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], bh
dec ecx
add byte [eax + eax + 0x65], ah
add byte [esi], ch
je 0x523625
imul eax, dword [eax], 0x790074
and byte [eax], al
outsb dx, byte [esi]
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
cmp eax, 0x57002200
add byte [ecx], ch
outsb dx, byte [esi]
add byte [eax], dl
inc ebp
add byte [0x54004800], ch
add byte [ecx], al
sub eax, 0x61005000
add byte [ebx], ah
imul eax, dword [eax], 0x61
add byte [edi], ah
add byte gs:[edx], ah
add byte [eax], ah
add byte [eax + eax + 0x61], ch
add byte [esi], ch
add byte [di], dh
popal
add byte [edi], ah
add byte gs:[0x6e002200], bh
add byte [ebp], ah
jne 0x523679
je 0x52367b
jb 0x52367d
popal
add byte [eax + eax + 0x22], ch
add byte [eax], ah
add byte [esi], dh
add byte gs:[edx], dh
jae 0x52368d
imul eax, dword [eax], 0x6e006f
cmp eax, 0x36002200
add byte [esi], ch
add byte [ecx], dh
add byte [esi], ch
add byte [edi], dh
add byte [esi], dh
add byte [eax], dh
add byte [ecx], dh
add byte [esi], ch
add byte [ecx], dh
add byte [edi], dh
add byte [0x34003100], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax], dh
jb 0x5236bb
outsd dx, dword [esi]
add byte [ebx], ah
add byte gs:[ebx], dh
jae 0x5236c5
outsd dx, dword [esi]
add byte [edx], dh
inc ecx
add byte [edx], dh
arpl word [eax], ax
push 0x74006900
add byte [ebp], ah
arpl word [eax], ax
je 0x5236db
jne 0x5236dd
jb 0x5236df
add byte gs:[0x78002200], bh
add byte [eax], bh
add byte [esi], dh
add byte [edx], ah
add byte [eax], ah
add byte [eax], dh
jne 0x5236f3
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
dec ebx
add byte [ebp], ah
jns 0x523701
push esp
add byte [edi], ch
imul eax, dword [eax], 0x65
add byte [esi], ch
cmp eax, 0x33002200
add byte [ecx], dh
add byte [edx], ah
add byte [ebx], dh
add byte [eax], bh
add byte [0x61003600], dh
add byte [eax + eax + 0x33], ah
add byte [esi], dh
add byte [eax + eax], dh
add byte gs:[ebx], dh
add byte [0x2f002200], dh
add byte [esi], bh
add byte [eax + eax], bh
das
add byte [eax], dh
popal
add byte [edx], dh
add byte gs:[esi], ch
je 0x523745
add byte ds:[eax + eax], bh
imul eax, dword [eax], 0x73006e
je 0x523751
popal
add byte [eax + eax + 0x6c], ch
add byte [ebp], ah
jb 0x52375b
inc ecx
add byte [ebx], dh
jae 0x523761
add byte gs:[ebp], ch
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], bh
and byte [eax], al
outsb dx, byte [esi]
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
cmp eax, 0x4d002200
add byte [ecx], ch
arpl word [eax], ax
jb 0x523781
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x52378b
sub eax, 0x69005700
add byte [esi], ch
add byte fs:[edi], ch
ja 0x523799
jae 0x52379b
sub eax, 0x65005300
add byte [edx], dh
jbe 0x5237a5
imul eax, dword [eax], 0x690063
outsb dx, byte [esi]
add byte [edi], ah
push ebx
add byte [eax + eax + 0x61], dh
add byte [ebx], ah
imul eax, dword [eax], 0x22
add byte [eax], ah
add byte [esi], dh
add byte gs:[edx], dh
jae 0x5237c5
imul eax, dword [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ch, bl
pop ds
lcall 0xdc3f, 0xbe1fdc5f
pop ds
loop 0x523817
ficomp dword [edi]
or byte [eax], al
or byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [edi], eax
dec ebp
insd dword es:[edi], dx
push ebx
je 0x5237c9
pop eax
or byte [edi], 0
and byte [eax], al
add al, al
push 0x20003bfd
add byte [eax], al
shr byte [eax], 0xcd
add al, al
sub ch, cl
cmp dword [eax], eax
and byte [eax], al
add al, al
sbb byte [edx + 0x200007], al
add al, dl
add al, 0
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
rol byte [eax + eax], 1
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085
add byte [eax + 0x2e], bl
add eax, 0x4d085