Function at 0x10ad3c0
Capabilities:
Encode data using xor

Disassembly:
sar byte [eax - 0x25], cl
mov ebx, 0xb8de8f96
stosd dword es:[edi], eax
mov gs, ebx
jmp 0x10ad3ca
add ah, dh
jmp 0x10ad3ca
pushal
call 0x10ad3d0
pop ebp
sub ebp, 0x10
sub ebp, 0xcad3c0
jmp 0x10ad3e6
push cs
pushfd
push eax
aaa
mov eax, 0xcad3c0
add eax, ebp
add eax, 0x4c
mov ecx, 0x5ad
lds eax, [ecx + 0x4cc0]
dec esp
add byte [eax], al
add byte [ecx + 0x5ad], bh
mov edx, 0x535197c
xor byte [eax], dl
inc eax
dec ecx
jne 0x10ad3fd
jmp 0x10ad410
div dword [ecx + 0x7c40f5f7]
jl 0x10ad494
std
mov ebp, 0x7c7c7c84
jg 0x10ad3d1
les esi, [esp + edi*2 + 0x7c]
jl 0x10ad3ec
push esp
jl 0x10ad4a5
jl 0x10ad3b6
sahf
jg 0x10ad3e2
idiv ebp
jo 0x10ad4ae
jl 0x10ad4b0
jg 0x10ad3ef
sub al, 0x2c
adc al, 0xac
adc esi, dword [edx + 0x7c]
adc al, 0x8c
pop ds
sar byte [ebp + edi*2 + 0x50], 0x58
adc al, 0x5d
mov cl, 0x67
xchg esp, eax
jns 0x10ad4c9
jl 0x10ad4cb
xchg ebp, eax
push esi
jl 0x10ad4cf
jl 0x10ad47e
int1
adc byte [eax + 0x7c], bl
idiv ecx
je 0x10ad4d9
jl 0x10ad4db
imul ecx
jo 0x10ad4df
jl 0x10ad4e1
div ecx
insb byte es:[edi], dx
jl 0x10ad4e6
jl 0x10ad429
xchg ebp, eax
jle 0x10ad4bc
jle 0x10ad470
invalid
mov esi, 0xf9733578
mov byte [ebx - 0x41de7c7d], al
jo 0x10ad4fa
div eax
pop eax
js 0x10ad4ff
jl 0x10ad501
adc al, 0xac
adc esi, dword [edx + 0x7c]
adc al, 0x8c
pop ds
sar byte [ebp + edi*2 + 0x50], 0x58
sub eax, 0x7c7c7994
jl 0x10ad42e
jns 0x10ad512
jl 0x10ad514
xchg ebp, eax
dec ecx
jle 0x10ad518
jl 0x10ad4c7
int1
adc byte [eax + 0x7c], bl
or dword [ecx], 0x70
pop eax
jl 0x10ad426
or dword [eax - 0x7d], esi
or dword [esp + edx*4 + 0x1a], esi
jl 0x10ad528
or dword [ecx], 0x74
xchg esp, eax
sbb bh, byte [esp + edi*2 + 0x7c]
test ecx, 0x7c7c7c74
jl 0x10ad4a5
sal dword [esp + edi*2 + 0x7c], 0x7c
jl 0x10ad52e
jl 0x10ad503
dec edi
mov ch, 0x4f
scasb al, byte es:[edi]
call dword [ecx + edi*2 + 0x32f87334]
jl 0x10ad53c
clc
xor bh, byte [esp + edi*2 + 0x7c]
jae 0x10ad4b7
jl 0x10ad535
hlt
xor al, 0x7c
jl 0x10ad543
sbb dh, bh
pushal
inc ebp
cld
xchg dword [ebx + esi*2 + 0x7c7c66f8], edx
clc
jl 0x10ad54f
jl 0x10ad54f
jl 0x10ad4d1
xchg dword [ebp + 0x7c6df873], edx
insd dword es:[edi], dx
jl 0x10ad558
jl 0x10ad559
jl 0x10ad4f8
sbb bh, ch
std
xchg dword [ebx + 0x69f87359], eax
jl 0x10ad563
pop ecx
jae 0x10ad4dc
imul edi, dword [esp + edi*2 + 0x7c], 0x83b0953d
jl 0x10ad564
jl 0x10ad526
cmp eax, 0x8383b095
adc dword [ebp + 0x30], 0x45
jge 0x10ad4f2
xchg ebp, eax
mov al, 0x83
add dword [ebx + 0x7d453055], 0xffffffff
invalid
mov ebp, 0x7894ff79
xchg ebp, eax
rol dword [ebx + 0x28558383], 0x45
add dword [ebx + 0x45285583], 0x7e
inc ebp
jle 0x10ad501
invalid
mov ebp, 0x7896ff7a
jp 0x10ad504
call dword [esi + 0x7994ff78]
xchg ebp, eax
xchg esi, eax
js 0x10ad507
call dword [ecx + edi*2 - 0x7c7c286b]
and dword [ecx], 0xffffffbe
jo 0x10ad58f
xchg esp, eax
jns 0x10ad4a0
xlatb
add dword [ebx + 0x70be2183], 0x7c
jl 0x10ad53d
sub edi, esi
nop
sub ch, byte [ebx]
not dword [eax - 0x8d6d4d6]
sub edi, esi
or dword [eax - 9], esi
add dword [eax + eax*4 - 0x32], esi
cld
idiv byte [edx - 3]
mov edx, 0x7c7c7c7d
jge 0x10ad5a4
jl 0x10ad5a6
hlt
jge 0x10ad5ac
jl 0x10ad5ae
invalid
jl 0x10ad5b2
jl 0x10ad5b3
jl 0x10ad5b6
jle 0x10ad4e7
scasb al, byte es:[edi]
jae 0x10ad534
jns 0x10ad5b9
jl 0x10ad5ba
jl 0x10ad5bb
jl 0x10ad536
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad545
jmp dword [ebx + eax*4 - 0x51817c7d]
movsb byte es:[edi], byte [esi]
add dword [ebx + 0x73ae7e83], 0xfffffff9
cmp dword [esi - 0x52], 0x73
stc
jns 0x10ad5cc
jl 0x10ad5cd
jl 0x10ad5ce
jl 0x10ad549
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad558
call dword [esi]
push ss
jl 0x10ad5d8
jl 0x10ad5ad
mov esp, 0xf973ae7e
jns 0x10ad5e1
jl 0x10ad5e2
jl 0x10ad5e3
jl 0x10ad55e
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad56d
call dword [esi + 0x7d]
jl 0x10ad5ee
push esi
jge 0x10ad5ed
jl 0x10ad5f1
jle 0x10ad522
scasb al, byte es:[edi]
jae 0x10ad56f
jns 0x10ad5f4
jl 0x10ad5f6
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
cmp ch, byte [esi - 0x52]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x10ad603
jl 0x10ad605
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x10ad612
jl 0x10ad614
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x10ad621
jl 0x10ad622
jl 0x10ad623
jl 0x10ad59e
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0x7c7af873
jae 0x10ad5a8
clc
jp 0x10ad62e
jl 0x10ad630
jl 0x10ad5ac
mul dword [ebx + 0x7ff6a457]
mov dword [0x7ff6a457], eax
push edi
movsb byte es:[edi], byte [esi]
idiv byte [edi - 0xc]
jg 0x10ad5af
hlt
jnp 0x10ad5f8
invalid
jl 0x10ad558
or al, 0x83
add dword [ebx + 0x7c7c7dc4], 0x7c
jl 0x10ad647
jl 0x10ad64b
jle 0x10ad57c
scasb al, byte es:[edi]
jae 0x10ad5c9
jns 0x10ad64e
jl 0x10ad650
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x10ad65d
jl 0x10ad65f
jl 0x10ad5da
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad5e8
mov byte [0x57838383], al
adc dword [edi - 0x41], 0xffffffc7
push edi
mov edi, 0x7c7c7dc7
invalid
jge 0x10ad66f
jl 0x10ad671
jl 0x10ad669
jae 0x10ad5f0
stc
dec eax
jl 0x10ad676
jl 0x10ad5c1
jge 0x10ad67a
jl 0x10ad67b
jl 0x10ad67c
jl 0x10ad67f
jle 0x10ad5b0
scasb al, byte es:[edi]
jae 0x10ad5fd
stc
jns 0x10ad682
jl 0x10ad683
jl 0x10ad684
jl 0x10ad5ff
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x10ad60c
stc
jns 0x10ad691
jl 0x10ad692
jl 0x10ad693
jl 0x10ad60e
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad61c
mov byte [0x2a838383], al
sub dword [edx], 0xfffffff7
sub dh, bh
test dword [ebx - 0x277076a9], 0x83749522
add dword [ebx + 0x749cbd34], 0xfffffff6
jp 0x10ad670
mov edx, dword [edi - 0x77]
invalid
xor dword [edi*4 + 0x7af6749c], 0x3a
mov ebp, 0x7af6749c
cmp dh, bh
xchg esp, eax
lds edi, [ebp + 0x7c]
jl 0x10ad6b9
not dword [ebp + eax*8 + 0x7c7c7c7d]
jl 0x10ad6b8
jl 0x10ad6bc
jle 0x10ad5ed
scasb al, byte es:[edi]
jae 0x10ad63a
jns 0x10ad6bf
jl 0x10ad6c1
imul byte [edx + 0x3a]
outsb dx, byte [esi]
cmp ch, byte [esi - 0x52]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x10ad649
jns 0x10ad6ce
jl 0x10ad6d0
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x10ad659
mov byte [0xfd838383], al
add dword [ebx + 0x17c84fd], 0x7c
std
test byte [ecx + eax + 0x7c], bh
jl 0x10ad6e1
jl 0x10ad663
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0x7c
jns 0x10ad6ec
add dword [ebx + 0x797c84fd], 0x7c
jl 0x10ad6ed
jl 0x10ad66f
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0xfffffffc
cmp ebp, 0xffffff84
cld
jl 0x10ad6f8
jl 0x10ad6f9
jl 0x10ad67b
std
lodsd eax, dword [esi]
jl 0x10ad6fd
jl 0x10ad6ff
jl 0x10ad681
std
test ah, bh
jl 0x10ad704
jl 0x10ad705
jl 0x10ad687
std
lodsd eax, dword [esi]
jl 0x10ad709
jl 0x10ad70b
sub dh, bh
mov edx, dword [edi - 0x74]
invalid
push edi
mov word [edi - 0x186add28], cs
add byte [ebx + 0x3a7af683], 0x4f
jp 0x10ad6d9
dec edi
mov ch, 0xbc
xchg esp, eax
jge 0x10ad718
clc
jl 0x10ad725
jl 0x10ad726
jl 0x10ad6a8
std
lodsd eax, dword [esi]
jle 0x10ad72a
jl 0x10ad72c
not dword [edx + ebp - 0x73a87409]
invalid
mov word [edi + 0x7dc722d8], cs
fsub dword [edx]
invalid
and al, bh
jge 0x10ad739
jl 0x10ad73a
jl 0x10ad73b
jl 0x10ad655
xchg ebp, eax
jb 0x582c5a49
add byte [ebx + 0x1572183], 0x74
idiv dword [ebx - 0x6608dddd]
add dword [edi + esi*8 - 0x45], esi
and esp, dword [edx]
neg dword [ecx + 0x7c74be21]
and dword [esi + 0x22237c74], edi
mov esi, 0x22237c74
je 0x10ad74e
and esp, dword [edx]
xchg ebp, eax
js 0x10ad753
jl 0x10ad755
rcr dword [esi - 0x433bcafe], cl
scasd eax, dword es:[edi]
mov dh, 0x7c
jg 0x10ad69d
jl 0x10ad762
mov ecx, 0x7f3fbcfd
jl 0x10ad766
std
mov esp, 0x7c7c7f3f
invalid
jle 0x10ad76a
jl 0x10ad76b
jl 0x10ad6b6
invalid
dec ecx
pop ebx
xor al, 0x44
inc esp
dec esp
insb byte es:[edi], dx
cmp al, 0x35
jae 0x10ad6f3
stc
mov al, byte [ebx + 0x78958383]
jl 0x10ad77e
adc dword [ebp + 0x7c7c7c78], 0x39
js 0x10ad77d
jl 0x10ad77f
jl 0x10ad73d
cmp dword [esp + edx*4 + 0x38], esp
into
xchg esp, eax
xchg esp, eax
cmp dh, cl
mov bh, 0xc2
aaa
ret 0x7537
jne 0x10ad6cf
cmc
jle 0x10ad6f9
dec ecx
dec ecx
dec ecx
dec edx
mov bh, 0xc4
pop ss
dec ecx
ret 0x750f
push ds
dec ecx
ret 0x4d06
enter 0x49b3, 0x49
dec ecx
dec ecx
dec ecx
dec ecx
inc esi
int 0xf
dec ecx
dec ecx
dec ecx
dec edx
lahf
enter 0x418e, 0x49
mov es, word [ecx + 0x49]
inc ecx
dec ecx
dec ecx
dec ecx
enter 0x41a0, 0x49
dec ecx
dec ecx
enter 0x49b0, 0x49
dec ecx
dec ecx
inc esi
int 0x9d
mov dh, 0xb6
mov dh, 0x2f
mov dh, 0xb6
das
ret 0x884e
mov byte [ecx + 0x46a9ca45], ah
enter 0x4ab1, 0x49
dec ecx
dec ecx
inc esi
int3
inc ebp
retf 0x46a9
dec ecx
dec ecx
dec ecx
das
ret 0xc84e
mov dh, 0x46
inc esi
dec ecx
dec ecx
dec edx
mov ecx, dword [eax + 0x51]
add byte [eax], al
retf 0x4b8e
dec ebp
dec ecx
dec ecx
dec ecx
in eax, dx
sbb esp, dword [ebp + 0x4b]
int1
mov dword [edx - 0x73b5b67d], ebx
enter 0xffffffffffffa289, 0x4a
dec ecx
dec ecx
invalid