Function at 0x40abdd
Capabilities:
Encode data using xor

Disassembly:
add byte [ecx], ch
pop esp
add byte [eax], dh
add byte gs:[edx], dh
add byte [eax + eax + 0x72], dh
add byte [ecx], ah
arpl word [eax], ax
imul eax, dword [eax], 0x5c
add byte [eax], cl
add byte gs:[ecx], ah
insb byte es:[edi], dx
add byte [eax + eax + 0x68], dh
add byte [ebx], al
add byte gs:[esi], ch
je 0x40ac0a
add byte gs:[edx], dh
inc ebx
add byte [eax], dl
dec esp
add byte [ecx], cl
outsb dx, byte [esi]
add byte [ebx], dh
je 0x40ac1c
jb 0x40ac1e
jne 0x40ac20
insd dword es:[edi], dx
add byte [ebp], ah
outsb dx, byte [esi]
add byte [eax + eax + 0x61], dh
add byte [eax + eax + 0x69], dh
add byte [edi], ch
outsb dx, byte [esi]
add byte [esi], ch
add byte [eax], dh
je 0x40ac38
js 0x40ac3a
insd dword es:[edi], dx
add byte [eax + eax], 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 + 0x49], bh
push ss
mov al, byte [0x78fffff8]
dec ecx
push ss
mov al, byte [0x10fffff8]
jl 0x40ac74
or dword [eax + 0xffffffa], eax
add dl, byte [ebx]
add byte [ebx + 0x41], dl
jo 0x40acde
add byte [edi - 0x57ffc], dh
cmp dl, 0xff
call dword [eax]
sub bh, byte [ebx + 0xe]
mov al, byte [0x60fffff8]
or edx, dword cs:[esi]
mov al, byte [0xd0fffff8]
arpl word [esi - 0x75ffc], ax
inc dword [edx + 0x33006500]
add byte [eax + eax + 0x1f], bl
add byte [edi], bl
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 [edx + eax], al
syscall
push ebx
popal
inc edx
dec edi
jae 0x40acb2
and byte [eax], al
sub byte [eax], al
js 0x40acb8
pushal
bound edi, qword [eax]
push ss
mov al, byte [0xfffff8]
add byte [eax], al
add byte [edi], dh
insb byte es:[edi], dx
add al, dh
dec ecx
push ss
mov al, byte [0xf0fffff8]
dec ecx
push ss
mov al, byte [0xfffff8]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
insd dword es:[edi], dx
dec edi
add byte [eax], al
add byte [ebp + 0x4f], ch
pop es
cmp al, 0xff
inc dword [eax]
add byte [eax + 0x6f007000], al
add byte [eax], ah
dec edx
push ss
mov al, byte [0xfffff8]
add byte [ecx], ah
insd dword es:[edi], dx
add byte [ebp], ah
ja 0x40ad02
outsd dx, dword [esi]
add byte [edx], dh
imul eax, dword [eax], 0x5c
add byte [edx], dl
add byte gs:[ebx], dh
outsd dx, dword [esi]
add byte [ebp], dh
jb 0x40ad16
arpl word [eax], ax
add byte gs:[ebx], dh
pop esp
add byte [eax], cl
push eax
add byte [eax + eax + 0x6f], dl
add byte [ebp], dh
arpl word [eax], ax
push 0x68004300
add byte [ebp], ah
arpl word [eax], ax
imul eax, dword [eax], 0x5c
add byte [edx], dl
add byte gs:[ebx], dh
outsd dx, dword [esi]
add byte [ebp], dh
jb 0x40ad44
arpl word [eax], ax
add byte gs:[ebx], dh
pop esp
add byte [eax + eax + 0x65], al
add byte [esi], ah
add byte gs:[ebx], ah
je 0x40ad58
inc ebx
add byte [edi], ch
add byte fs:[ebp], ah
jae 0x40ad62
pop esp
add byte [eax + eax + 0x65], ah
add byte [edi], bl
inc esp
add byte [ebp], al
pop esp
add byte [eax + eax + 0x65], al
add byte [esi], ah
add byte gs:[ebx], ah
je 0x40ad7c
inc ebx
add byte [edi], ch
test al, 0x4a
push ss
mov al, byte [0xa8fffff8]
dec edx
push ss
mov al, byte [0x10fffff8]
jl 0x40ada4
or dword [eax + 0x22fffffa], eax
add al, byte [edx]
add edx, dword [ebx + 0x41]
jo 0x40ae14
inc edx
cmp eax, 0x4f223d3d
inc edx
and cl, byte [edi + 0x42]
dec edx
add dword [eax], eax
lock sbb dword [eax], eax
add byte [eax], al
or eax, dword [esi]
jno 0x40adc1
pop es
or al, 0
add byte [eax], al
add al, byte [edx]
add al, 0
inc esi
dec ecx
dec edi
arpl word [eax - 0x3c], si
cmp eax, 0xfffa8009
les edi, [0xfffa8009]
push dword [eax]
mov byte [edi + 0x14], ah
mov al, byte [0x80fffff8]
scasb al, byte es:[edi]
mov ebp, 0xfff8a00f
invalid
push esp
add byte [edx], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ebp
add byte [edx], dl
pop esp
add byte [ebx], dl
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
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
and eax, dword [eax]
or byte [eax], al
aaa
add byte [ecx], dh
add byte [eax], al
xor esi, dword [edi]
or dword [eax + 0xfffffa], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], dh
xor byte [ecx + 0x6b], bh
xor al, 0
xor al, 0
jo 0x40ae1c
xor byte [eax], al
mov al, byte [0xfffff8]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, bh
push cs
add byte [eax], al
add byte [eax], al
add byte [eax], al
loopne 0x40aead
outsd dx, dword [esi]
push ss
mov al, byte [0x10fffff8]
dec ebp
cld
sbb ah, byte [eax + 0xfffff8]
add byte [eax], al
add al, 0x61
add byte [edx], dh
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
enter 0x364b, 0x16
mov al, byte [0xc8fffff8]
dec ebx
push ss
mov al, byte [0x61fffff8]
add byte [eax + eax + 0x6f], cl
add byte [edi], dh
or al, 2
inc edx
add byte [esi + 0x4d], al
outsb dx, byte [esi]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], ah
xchg esi, eax
add ah, byte [eax - 0xf000008]
retf
clc
invalid