Function at 0x52b700
Capabilities:
Encode data using xor

Disassembly:
das
adc eax, 0x1ee62705
mov ah, 0x27
cwde
sbb al, 0x97
xor dword [esi], ebx
mov eax, 0x84769e29
inc ebp
jg 0x52b794
push esp
push ecx
pushfd
pushal
mov ah, byte [ecx + 0x3a]
sub al, 0x86
or ebx, dword [ebx + edi*2 + 0x44ef5e52]
jne 0x52b764
cmp eax, 0xd0743120
adc ecx, edi
pop ecx
adc dword [edx], ebx
shl dword [edx + 0x77], cl
sub eax, 0x385b5c
sar byte [edi + esi*4], 0x1e
in al, dx
and eax, 0x194
add al, byte [eax]
add byte [eax], al
pop ecx
add byte [eax], al
add byte [eax], al
sbb al, byte [eax]
add byte [eax + 0x52000018], ah
scasd eax, dword es:[edi]
mov dword [eax], 0
nop
call 0x550e387a
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
ret
add byte [eax], al
add byte [eax], al
or eax, 0
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], ah
imul eax, dword [eax], 0x65006c
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 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 [ebp], dh
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
mov eax, 0xad769e29
inc ebp
jle 0x52b878
push esp
push ecx
and byte [eax - 0x80], 0x61
push esp
sub al, 0xb2
sub dword [edx + 0x67459376], ecx
jle 0x52b882
push ecx
and byte [eax - 0x70], 0x61
and al, 0x2c
mov ebx, 0x547b980b
pop esi
jmp 0x688f0761
mov dword [edi + edx*4], edi
push ds
cmc
and eax, 0x7bb77011
loopne 0x52b871
cmp cl, byte [eax + 0x43]
jo 0x52b83d
daa
add bh, bl
push es
loope 0x52b8a2
mov dh, 0x1f
mov word [eax + 0x2f], cs
js 0x52b874
push ds
test byte [ebx], dh
stosb byte es:[edi], al
xor dword [0x11cf73a], ebx
aaa
xchg ebp, eax
inc eax
mov byte [ebx], al
mov dword [ebx], ebx
invalid
pop ecx
cmp cl, byte [esi]
push cs
adc eax, 0x1e8c2731
mov word [esi], ds
int1
daa
fstp dword [eax + edi*8]
xor dword [ebp + 0x66], esi
lds ebp, [ecx]
out dx, al
jbe 0x52b82e
inc ebp
jge 0x52b908
push edx
push ecx
mov fs, word [eax - 0x27]
popal
je 0x52b8be
ljmp 0xd35e:0x177bc00b
int3
mov edi, 0xb6007436
push es
loop 0x52b922
mov ebp, 0x3848971f
js 0x52b8ee
push ds
sal byte [ebx], 1
out 0x31, al
jns 0x52b90e
mov al, byte [0x2000001]
add byte [eax], al
add byte [ebx], bl
add byte [eax], al
add byte [edx], bl
add byte [eax], al
mov al, byte [0x52000018]
scasd eax, dword es:[edi]
mov dword [eax], 0
add byte [eax], al
nop
call 0x550e3a0e
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
ret
sub dl, ah
pop ebx
add byte [eax - 0x3dff4e00], ch
add byte [eax + 0x78003001], ah
add byte [ecx], dh
add byte [eax + eax], dh
xor al, 0
xor byte [eax], al
xor byte [eax], al
mov dl, 0
ret 0xa000
xor byte [eax], al
xor byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or eax, 0
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], ah
imul eax, dword [eax], 0x65006c
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 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 [ebp], dh
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
mov eax, 0xad769e29
inc ebp
jle 0x52ba0c
push esp
push ecx
and byte [eax - 0x80], 0x61
push esp
sub al, 0xb2
sub dword [edx + 0x67459376], ecx
jle 0x52ba16
push ecx
and byte [eax - 0x70], 0x61
and al, 0x2c
mov ebx, 0x547b980b
pop esi
jmp 0x688f08f5
out dx, al
adc byte [edx], dl
sbb ah, byte [ecx - 0x3ce93dc0]
dec eax
and byte [esi], 0x1a
cmp bl, byte [esi + 0x15]
pushal
daa
xchg esi, eax
push ds
clc
daa
rcr byte [ebx + ebp*8], 0x31
or dword [esi - 0x78], esp
sub dword [edx + 0x23458076], edi
mov byte [ecx], ch
mov edx, 0x23458076
jle 0x52ba28
push ecx
leave
pushal
shl dword [ecx + 0x7c], cl
sub al, 0xfa
or eax, dword [ebx + edi*2 + 0x44f95e52]
test byte [ebx + 0x52], bh
pop esi
stc
inc esp
sub byte [eax + ebp*2], bh
and byte [eax + 0x74], ch
sahf
adc dword [ecx - 0x6ee5a6a7], edx
bound ebx, qword [0x345b582d]
add ah, al
cmp al, 0x84
push ds
mov ah, byte [0x7be57047]
mov edi, 0x54487c37
jo 0x52b9fa
pushal
add bh, dl
push es
movsd dword es:[edi], dword [esi]
pop esp
mov ebx, 0x32489d1f
js 0x52badf
push ds
sal byte [ebx], 1
scasb al, byte es:[edi]
xor dword [edx + edi], ebx
out 0x1c, al
adc dword [edi], esi
loope 0x52baae
fild dword [ebx]
aam 0x1b
out 0x68, eax
rol byte [ecx], 1
add byte [eax], al
add al, byte [eax]
add byte [eax], al
pop ebp
add byte [eax], al
add byte [eax], al
sbb al, byte [eax]
add byte [eax + 0x52000018], ah
scasd eax, dword es:[edi]
mov dword [eax], 0
add al, byte [eax]
add byte [eax], al
push ss
cmp dword [ebx + 0x54], 0
add byte [eax], al
add byte [eax], al
add bl, al
outsd dx, dword [esi]
sub al, 0x9d
sub dl, ah
pop ebx
add byte [eax - 0x3dff4e00], ch
add dh, cl
add dword [eax], esi
add byte [eax], bh
xor dword [eax], eax
xor al, 0
xor al, 0
xor byte [eax], al
xor byte [eax], al
xor byte [eax], al
xor byte [eax], al
add byte [eax], al
xor al, byte [eax]
sub dword [eax], eax
jl 0x52bace
mov dl, 0
ret 0xce00
sub byte [eax], al
jae 0x52bad2
add byte [si], dh
outsd dx, dword [esi]
add byte [edi], ch
add byte [eax], al
add byte [ecx], ch
insb byte es:[edi], dx
add byte [ebp], ah
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 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 [ebp], dh
add byte [eax + eax + 0x65], ch
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 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 [esi], ah
jne 0x52bb20
outsb dx, byte [esi]
add byte [ebx], ah
add byte [eax], al
mov eax, 0xad769e29
inc ebp
jle 0x52bbac
push esp
push ecx
and byte [eax - 0x80], 0x61
push esp
sub al, 0xb2
sub dword [edx + 0x67459376], ecx
jle 0x52bbb6
push ecx
and byte [eax - 0x70], 0x61
and al, 0x2c
mov ebx, 0x547b980b
pop esi
jmp 0x688f0a95
aaa
outsb dx, byte [esi]
dec eax
or dh, byte [eax - 7]
xor al, byte ss:[eax]
nop
push es
neg dword [esi + edi*4 + 0x1f]
cdq
dec eax
js 0x52bbae
push ds
lahf
xor esp, dword [ecx - 0x9c5aacf]
sbb al, 0x72
aaa
mov dword [0xdd039840], eax
sbb ecx, dword [edx + 0x62576a68]
adc eax, dword [edi*2 + 0x1a5b10aa]
cmc
inc eax
ret 0x9c16
ljmp 0xa41c:0x9e27811e
and dword [edi], 0x31a41c9e
sub ah, byte [esi - 0x65]
wait
sub dword [edi + 0x31458c76], ebp
jle 0x52bc34
push ecx
and byte [eax - 0x71], 0x61
xor dword [ecx + ebp*4], ebp
or esi, dword [eax - 0x1ba19c85]
inc esp
jl 0x52bc0c
sub esp, dword [eax]
cmp eax, 0xcc11d074
adc esp, ecx
pop ecx
sub dword [edx], ebx
loopne 0x52bc3e
or byte [0x255b69], ch
sar dword [ebx + ebp*8], 1
push ds
loope 0x52bc0d
jo 0x52bb6d
jnp 0x52bbd8
aaa
and byte [eax + 4], cl
jo 0x52bbd5
cmp eax, 0xd9069100
pop esp
mov dword [0x24489d1f], eax
js 0x52bc24
popfd
dec eax
and al, 0x78
and ebx, dword [esi]
push ds
test dword [ebx], esi
cmpsb byte [esi], byte es:[edi]
xor dword [edi], edx
cmp dl, byte [edi - 0x4cc8bae4]
mov bl, 0x40
inc eax
aad 3
cwde
sbb ebx, dword [edi + 0x24576068]
adc ecx, dword [eax]
jge 0x52bc15
push edi
and al, 0x13
or byte [ebp - 6], bh
adc byte [edx], bl
sbb dl, dl
inc eax
fcom dword [esi]
lds ecx, [eax - 0x28]
push eax
fsub dword [esi]
push eax
cmp cl, byte [edx + 0x1ed5273b]
int1
daa
pushfd
sbb al, 0xaa
xor dword [ecx], edi
sub word [ecx], 0x76f4
rol dword [ebp + 0x33], 0x7e
cmp dword [esi - 0x7f], esp
sub esp, esi
jbe 0x52bbfc
inc ebp
xor edi, dword [esi + 0x11]
push ecx
jmp 0x452bca5
adc dword [ecx - 0x17], edx
pushal
add byte [eax], al
add al, 2
add byte [eax], al
add al, byte [eax]
add byte [eax], al
inc esp
add byte [eax], al
add byte [eax], al
sbb al, byte [eax]
add byte [eax + 0x52000018], ah
scasd eax, dword es:[edi]
mov dword [eax], 0
xlatb
add cl, byte [0xbb811630]
push esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
ret