Function at 0x41ac98
Capabilities:
Encode data using xor

Disassembly:
pop es
adc dl, byte [ebx + eax*2 + 0x44]
imul esi, dword [edx + 0x65], 0x726f7463
jns 0x41acf5
jne 0x41ad1c
insb byte es:[edi], dx
imul ebp, dword [esi + 0x65], 0x4dc400
in al, 0x8c
inc edx
add byte [edx], bh
add byte [eax], cl
arpl word [ecx + ebp*2 + 0x72], sp
outsd dx, dword [esi]
jne 0x41ad32
insb byte es:[edi], dx
das
add byte [eax + 0x8004194], al
add eax, dword [eax]
dec dword [eax]
add eax, dword [eax]
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
or al, 0
or byte [edi + 0x6e], cl
inc ebx
push 0x65676e61
mov eax, 0x100041b3
add eax, dword [eax]
dec eax
movsb byte es:[edi], byte [esi]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
or eax, 0x65540800
js 0x41ad77
inc ebx
popal
jae 0x41ad6c
mov esp, 0x5b004192
add byte [eax], al
jmp [eax]
add byte [eax], al
add byte [esi], cl
add byte [0x67696c41], al
outsb dx, byte [esi]
sbb byte [ebx + 0x610041], dl
add bh, bh
push 0x40046fc
std
inc esi
add byte [eax], al
add byte [eax], al
add byte [ebx], 0
add byte [eax], al
add byte [edi*8 + 0x46], al
add byte [eax + 3], al
sldt word [edi]
inc ecx
outsb dx, byte [esi]
arpl word [eax + 0x6f], bp
jb 0x41adbc
sub byte [ebx + 0x2180041], dl
add bh, bh
mov byte [eax + 0x10044], dh
add byte [eax], al
add byte [eax], al
add byte [eax + 1], al
adc byte [eax], al
or eax, dword [edx + 0x6f]
jb 0x41adcc
jb 0x41adbe
je 0x41ade6
jns 0x41adda
insb byte es:[edi], dx
xchg esp, eax
xchg ebx, eax
inc ecx
add byte [eax], dh
add bh, bh
fmul qword [edx]
inc edi
add al, bh
or al, byte [edi]
add byte [eax], al
add byte [eax - 0x7ffffffb], al
adc dword [eax], eax
add eax, 0x6f6c6f43
jb 0x41add0
mov ebx, 0x740046
add bh, bh
xchg esp, eax
inc edi
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc al, byte [eax]
or eax, dword [ebx + 0x6f]
outsb dx, byte [esi]
jae 0x41ae23
jb 0x41ae12
imul ebp, dword [esi + 0x74], 0x4193ac73
add byte [ebp - 0x6f00ffff], ah
call dword [eax - 0x4bffb88f]
jno 0x41ae0b
jno 0x41ae07
add byte [ecx + esi*2 + 0x47], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [ebx], dl
add byte [0x336c7443], al
adc eax, dword [eax]
add eax, 0x336c7443
inc ebx
je 0x41ae3f
xor eax, dword [esp - 0x6d]
inc esp
in al, 0x93
inc ecx
add byte [edx], bh
add bh, bh
jp 0x41addf
add byte [eax], al
invalid
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0xc], al
adc al, 0
or al, byte [edx + esi*2 + 0x61]
inc ebx
jne 0x41ae69
add byte [eax], al
xor ah, 0xff
invalid
jae 0x41ae68
jb 0x41ae2b
xchg esp, eax
inc ecx
add byte [ebp], bl
add bh, bh
pushal
add byte [eax], al
inc byte [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
adc eax, 0x72440800
popal
dec ebp
outsd dx, dword [esi]
lodsb al, byte gs:[esi]
xchg ebx, eax
inc ecx
add byte [eax], dl
add dh, bh
add byte fs:[eax], al
invalid
inc edi
add byte [eax], al
add byte [eax], al
add byte [ecx], 0
add byte [eax], al
add byte [eax + 1], al
push ss
add byte [edi], al
inc ebp
outsb dx, byte [esi]
popal
bound ebp, qword [ebp + 0x64]
xor al, 0xc4
inc esp
add byte [eax], ch
add bh, bh
xor byte [edx], cl
inc edi
add byte [eax + 0xa], al
inc edi
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
pop ss
add byte [esi + eax*2], al
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x41ae2f
xchg ebx, eax
inc ecx
add ah, ah
add al, byte [eax]
jmp dword [eax + eax*8 + 0x10042]
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
sbb byte [eax], al
or cl, byte [ecx + 0x74]
insd dword es:[edi], dx
dec eax
imul esp, dword gs:[edi + 0x68], 0x41948074
add byte [eax], ah
add dword [eax], eax
jmp dword [eax]