Function at 0x401000
Capabilities:
Encode data using xor

Disassembly:
push ebx
sub esp, 0x44
mov eax, 0x401023
mov ecx, 0
mov bl, byte [eax]
add bl, 7
mov byte [eax], bl
add eax, 1
add ecx, 1
cmp ecx, 0xd137
jne 0x40100e
mov cl, 0xf9
stc
cmp bh, cl
mov dl, 0xf9
stc
stc
stc
adc dword [ecx], 0x79
mov esp, 0x7c1181a1
mov edx, 0xfab97cfa
adc dword [ecx - 0x44], edi
mov eax, dword [0xba7c1181]
cli
jl 0x400ff2
cli
jp 0x40102e
clc
and cl, bh
stc
outsb dx, byte [esi]
in al, 0xb1
stc
or dword [ecx], edi
stc
mov ah, 0xbc
mov esp, 0x1182bcbc
mov cl, 0xce
sar dword [ecx], cl
stc
jl 0x40100e
stc
jl 0x401015
cmp eax, 0x54bcc9f8
push esp
mov esp, 0xf9f9fee1
stc
loop 0x401068
stc
stc
stc
mov dl, 0xd1
and byte [edx], bh
stc
loop 0x4010d3
scasb al, byte es:[edi]
stc
stc
popal
ja 0x40107e
cmp ecx, edi
loope 0x4010a1
ret 0xf9f9
mov dl, 0xd1
and byte [edx], bh
stc
loop 0x40105c
sahf
stc
stc
loope 0x401088
stc
stc
stc
loop 0x401092
stc
stc
stc
mov dl, 1
and dword [edx], edi
stc
loop 0x4010d3
scasb al, byte es:[edi]
stc
stc
popal
mov eax, dword [0xe1f93909]
inc dl
stc
stc
push edx
mov esp, 0x3a2101b2
stc
loop 0x40105c
loope 0x4010a1
ret 0xf9f9
sahf
stc
stc
loope 0x4010b2
stc
stc
stc
loop 0x4010bc
stc
stc
stc
mov dl, 0x51
and edi, dword [edx]
stc
loop 0x4010d3
scasb al, byte es:[edi]
stc
stc
popal
retf
push ecx
and edi, dword [edx]
stc
loop 0x40105c
sahf
stc
stc
loope 0x4010dc
stc
stc
stc
loop 0x4010e6
stc
stc
stc
mov dl, 0xb9
aaa
cmp bh, cl
loop 0x4010d3
lodsd eax, dword [esi]
stc
stc
popal
cmc
or dword [ecx], edi
stc
loope 0x4010a1
sar ecx, 0xf9
push edx
mov esp, 0x3a37b9b2
stc
loop 0x40115c
pop ecx
sahf
stc
stc
loope 0x401106
stc
stc
stc
loop 0x401110
stc
stc
stc
mov dl, 0xe9
aaa
cmp bh, cl
loop 0x4010d3
lodsd eax, dword [esi]
stc
stc
popal
pop ds
or bh, byte [ecx]
stc
loope 0x4010a1
sar ecx, 0xf9
push edx
mov esp, 0x3a37e9b2
stc
loop 0x401102
movsd dword es:[edi], dword [esi]
stc
stc
loope 0x401130
stc
stc
stc
loop 0x40113a
stc
stc
stc
mov dl, 0x19
cmp byte [edx], bh
stc
loop 0x4010d3
lodsd eax, dword [esi]
stc
stc
popal
dec ecx
or bh, byte [ecx]
stc
loope 0x4011a1
sar ecx, 0xf9
push edx
mov esp, 0x3a3819b2
stc
loop 0x40115c
sahf
stc
stc
loope 0x40115a
stc
stc
stc
loop 0x401164
stc
stc
stc
mov dl, 0xb1
and edi, dword [edx]
stc
loop 0x4011d3
lodsd eax, dword [esi]
stc
stc
popal
jae 0x40117b
cmp ecx, edi
loope 0x4011a1
sar ecx, 0xf9
push edx
mov esp, 0x3a23b1b2
stc
mov cl, 0x23
cmp bh, cl
loop 0x40115c
popfd
stc
stc
loope 0x401184
invalid
stc
stc
stc
loop 0x40118e
stc
stc
stc
mov dl, 0x49
cmp byte [edx], bh
stc
loop 0x4011d3
lodsd eax, dword [esi]
stc
stc
popal
popfd
or bh, byte [ecx]
stc
loope 0x4011a1
sar ecx, 0xf9
stc
push edx
mov esp, 0x3a3849b2
stc
loop 0x401185
cmpsb byte [esi], byte es:[edi]
stc
stc
loope 0x4011ae
stc
stc
stc
loop 0x4011b8
stc
stc
stc
mov dl, 0x81
and edi, dword [edx]
stc
loop 0x4011d3
lodsd eax, dword [esi]
stc
stc
popal
invalid
loop 0x401228
test al, 0xf9
stc
loope 0x4011d8
stc
stc
stc
loop 0x4011e2
stc
stc
stc
mov dl, 0x41
and byte [edx], bh
stc
loop 0x4011d3
lodsb al, byte [esi]
stc
stc
popal
int1
or bh, byte [ecx]
stc
loope 0x4011a1
sar cl, 0xf9
push edx
mov esp, 0x3a2041b2
stc
loop 0x40125c
popfd
stc
stc
loope 0x401202
stc
stc
stc
loop 0x40120c
stc
stc
stc
mov dl, 0x71
and byte [edx], bh
stc
loop 0x4011d3
lodsb al, byte [esi]
stc
stc
popal
sbb ecx, dword [ebx]
cmp ecx, edi
loope 0x4011a1
sar cl, 0xf9
push edx
mov esp, 0x3a2071b2
stc
loop 0x4011ab
sub byte [ecx - 0x11e0607], 0xf9
test eax, 0xfee1f9f9
stc
stc
stc
loop 0x401236
stc
stc
stc
mov dl, 0xa1
and byte [edx], bh
stc
loop 0x4011d3
lodsb al, byte [esi]
stc
stc
popal
inc ebp
or edi, dword [ecx]
stc
loope 0x4012a1
sar cl, 0xf9
push edx
mov esp, 0x3a20a1b2
stc
loop 0x40125c
popfd
stc
stc
loope 0x401256
stc
stc
stc
loop 0x401260
add edi, ecx
stc
stc
stc
mov dl, 0x59
and bh, byte [edx]
stc
loop 0x4012d3
lodsb al, byte [esi]
stc
stc
popal
outsd dx, dword [esi]
or edi, dword [ecx]
stc
loope 0x4012a1
sar cl, 0xf9
push edx
mov esp, 0x3a2259b2
stc
loop 0x4012cd
test eax, 0xfee1f9f9
stc
stc
stc
loop 0x40128a
stc
stc
stc
mov dl, 0xf9
and bh, byte [edx]
stc
loop 0x4012d3
lodsb al, byte [esi]
stc
stc
popal
cdq
or edi, dword [ecx]
stc
loope 0x4012a1
sar cl, 0xf9
push edx
mov esp, 0x3a22f9b2
stc
and bh, byte [edx]
stc
loop 0x401250
stosb byte es:[edi], al
stc
stc
loope 0x4012aa
stc
stc
stc
loop 0x4012b4
stc
stc
stc
mov dl, 0x29
and bh, byte [edx]
stc
loop 0x4012d3
lodsb al, byte [esi]
stc
stc
popal
ret
cmp bh, cl
loop 0x401305
lodsb al, byte [esi]
stc
stc
loope 0x4012d4
stc
stc
stc
loop 0x4012de
stc
stc
stc
mov dl, 0x89
aaa
cmp bh, cl
loop 0x4012d3
stosd dword es:[edi], eax
stc
stc
popal
in eax, dx
or edi, dword [ecx]
stc
loope 0x4012a1
mov edi, 0xbc52f9f9
mov dl, 0x89
aaa
cmp bh, cl
loop 0x40135c
pushfd
stc
stc
loope 0x401362
sar ecx, 0xf9
xchg edx, eax
mov dl, 0xf3
stc
stc
stc
stc
cmp dword [ebx - 0x2904683], 0x33
cmp dword [ebx - 0x2904683], 0x33
mov edx, 0xfaa9fb6b
test byte [ebp + 0x1d], al
or dword [ebp + ecx*2 - 0x79b0fee3], eax
sub eax, 0x76c73403
adc dword [ebp + ecx*2 + 0x757c011d], eax
sbb eax, 0xfe6df909
and ebp, edi
or ah, ah
cld
invalid
stc
insd dword es:[edi], dx
invalid
stc
std
or bh, byte [edx]
xor al, 0xc7
jne 0x401324
push edi
mov esp, 0x1d6d844f
add dword [edi - 0x1f], ecx
adc eax, ecx
stc
stc
push edx
sub al, 0xc2
jle 0x40130a
ja 0x401358
or dword [ebp + 0x1d], 5
and dword [0xc1343a2a], ecx
or eax, 0xc1343a2a
sal dword [ebp - 0x13], 0x57
jne 0x40134c
push edi
mov esp, 0x1d6df84f
add ecx, esp
hlt
clc
insd dword es:[edi], dx
sbb eax, 0xc0f4e101
stc
stc
sar cl, 0xf9
cmp dword [ecx - 0x1f], ecx
jne 0x40132f
stc
stc
clc
insd dword es:[edi], dx
sbb eax, 0x4fe98409
loope 0x401368
sar cl, 0xf9
jl 0x40133d
or dword [edi + edi*4 - 0x7b043a9], eax
insd dword es:[edi], dx
sbb eax, 0xf8cbe101
clc
clc
test cl, ch
arpl dx, di
dec edi
loope 0x401337
clc
clc
clc
jl 0x401358
add eax, 0xbc57bf84
dec esi
test ch, ah
mov cl, 0x19
or eax, 0xdce1f9f9
sar cl, 0xf9
dec esp
sub al, 0xd4
xor dl, byte [esi]
aam 0x32
push ss
int1
cmp dword [edx], edi
stc
dec edi
push eax
or byte [ebp - 0x33], bh
jge 0x401388
stc
stc
stc
mov bh, 0x7d
stc
cmp bh, cl
dec edi
loope 0x40135c
sar cl, 0xf9
cmp dword [ecx - 0x1f], ecx
pop ss
mov edi, 0x6ef8f9f9
add dword [edx + 0x7e86f13e], eax
ftst
clc
clc
dec ecx
loope 0x401368
sar cl, 0xf9
xchg byte [esi - 0x27], bh
in al, 0xf8
clc
arpl dx, di
dec ecx
loope 0x4013b9
pop ds
stc
stc
jl 0x4013af
adc dword [esi - 0x71b2682], eax
ftst
clc
clc
popal
jns 0x4013f5
stc
stc
dec ecx
clc
push cs
stc
cmp bh, byte [edx]
stc
xchg byte [esi + 0x61], bh
clc
clc
clc
arpl word [ebx], cx
dec ecx
xchg byte [esi - 0x27], bh
in al, 0xf8
clc
dec ecx
clc
push cs
int1
cmp dword [edx], edi
stc
jl 0x40140e
clc
cmp byte [esi], 0xe9
insd dword es:[edi], dx
pop edi
xchg byte [esi - 0x13], al
dec edx
dec ecx
clc
push cs
leave
cmp dword [edx], edi
stc
test cl, dh
dec esp
cld
jbe 0x401421
dec esp
dec edi
xor byte [esi + 1], 0xe1
and eax, eax
stc
stc
push edx
test al, cl
and al, 0xc1
dec edx
clc
outsb dx, byte [esi]
jmp 0x3b3d2343