Function at 0x411da4
Capabilities:
Encode data using xor

Disassembly:
pop ebx
mov byte [ebx + 9], cl
jge 0x411dc4
or byte [edi + 0x6c], cl
mov dword [eax], 0x640ea100
dec eax
mov eax, dword [0x8007e100]
mov ah, 0xe
loope 0x411e04
mov bl, pe_nt_image_headers32
dec edi
push ebx
test byte [eax], 0
inc esi
or byte [eax - 0x3df7f7f8], bh
add byte [esi + 8], al
mov eax, 0xc2080808
ret 0xc2c2
push eax
push esp
mov bl, 0x2f
and byte [si - 0x4d], ah
das
inc esi
xor ch, bh
inc dword [eax]
add byte [eax], al
dec edi
xor dword [eax], ecx
or byte [eax], cl
sal ebx, 1
btr dword [eax - 0x4eff3d5e], ecx
lea ecx, [eax - 0x4ffff7de]
push cs
mov bl, byte [edx]
or byte [edi + ecx*4 + 0x64], ah
dec edi
push 0xffffffffffffffc7
add byte [eax], al
mov eax, dword es:[0x48f26400]
mov bl, 0x2f
pop ebx
sub byte [edi + 0x3d], cl
inc ecx
or byte [eax], cl
shl byte [esi], cl
pop ebx
pop eax
pop ebx
or byte [eax], al
stosd dword es:[edi], eax
sub dword [eax + 0x4f], ebp
mov ah, 0xf3
or byte [eax], cl
and al, 0x2e
push 0x6f64b226
and al, 0x6f
mov byte [edx - 0x774cff46], ah
je 0x411ed7
invalid
adc cl, bl
mov dl, byte [eax]
stosd dword es:[edi], eax
test al, 0x74
xchg edx, eax
adc cl, cl
fsubr dword [ebx + 0x675e6470]
sub cl, bl
pop esi
sub cl, bl
mov byte [ebx - 0x2f36edd0], ch
mov bl, 0xae
leave
shr byte [ebx + 0x48bd80a8], 1
mov edi, 0x28f0912a
stosd dword es:[edi], eax
xor byte [edx], cl
leave
enter 0x30ab, 0xa
leave
enter 0xffffffffffffc5b3, 3
popal
xor cl, byte [eax - 0x37]
out dx, eax
stosd dword es:[edi], eax
inc eax
jb 0x411ee4
and al, 0x13
mov esi, edi
cli
loop 0x411f72
pop ebx
or byte [eax], al
stosd dword es:[edi], eax
sub dword [eax], ebp
stosd dword es:[edi], eax
sub dword [eax + 0x4f], ebp
imul eax, dword [eax], 0x2e240000
push 0x6f64b226
and al, 0x6f
mov byte [edx - 0x774cff46], ah
je 0x411faf
invalid
mov eax, 0x4f080808
insd dword es:[edi], dx
ror byte [eax], 8
and al, 0x2e
test al, 0xc9
out dx, eax
stosd dword es:[edi], eax
inc eax
xor cl, bh
and al, 0xb
mov esi, edi
mov eax, dword [0xd123670e]
push 0xc8c9a6ab
stosd dword es:[edi], eax
invalid
adc cl, bl
mov dl, byte [eax]
stosd dword es:[edi], eax
test al, 0x74
xchg edx, eax
adc cl, cl
fsubr dword [ebx + 0x675e6470]
sub cl, bl
pop esi
sub cl, bl
mov byte [ebx - 0x2f36edd0], ch
mov bl, 0xae
leave
sal byte [ebx + 0x48bd80a8], 1
mov edi, 0x28f0912a
stosd dword es:[edi], eax
xor byte [edx], cl
leave
enter 0x30ab, 0xa
leave
enter 0xffffffffffffc5b3, 3
popal
xor cl, byte [eax - 0x37]
out dx, eax
stosd dword es:[edi], eax
inc eax
jb 0x411fbc
and al, 0x13
mov esi, edi
cli
loop 0x41204a
pop ebx
or byte [eax], al
stosd dword es:[edi], eax
sub dword [eax], ebp
stosd dword es:[edi], eax
sub dword [eax + 0x4f], ebp
imul eax, dword [eax], 0x2e240000
push 0x45a3cd26
adc cl, byte [eax]
and eax, 0x81a178c
inc esi
xor byte [edi + edx - 0x37cf7e6], ch
adc cl, byte [eax]
inc esi
xor ah, cl
pop ss
sbb cl, byte [eax]
jno 0x412020
adc cl, byte [eax]
inc esi
xor ah, ch
pop ss
sbb cl, byte [eax]
adc edi, esp
adc cl, byte [eax]
inc esi
xor byte [0xc6081a17], cl
hlt
ja 0x412084
adc cl, byte [eax]
inc esi
xor byte [ebp + 0x17], ch
pop ss
sbb cl, byte [eax]
ja 0x412045
adc cl, byte [eax]
inc esi
xor byte [ebp - 0x3df7e5e9], cl
hlt
pop ds
outsb dx, byte es:[esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
and al, 0xf1
dec eax
shl byte [edx], 1
or byte [eax], cl
stosd dword es:[edi], eax
jno 0x41204c
outsd dx, dword fs:[esi]
and al, 0x6f
dec eax
and al, 0x2f
iretd