Function at 0x401f1c
Capabilities:
Encode data using xor

Disassembly:
push 0x4069d4
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 byte [edx], ah
add al, 0x70
pop eax
inc ecx
sbb dword [edi + ecx*2], ecx
mov edi, 0x77651e8
mov dh, dh
dec edx
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
dec eax
insd dword es:[edi], dx
jae 0x401fac
jb 0x401fc5
push edx
push esp
jo 0x401fd7
inc esi
insb byte es:[edi], dx
je 0x401fb9
push ebx
arpl word [eax], bp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
inc edi
mov bl, 0x97
cmp ebp, dword [ebp + ebp*2 + 0x36]
invalid
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 [edx + 0x49], 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 [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop edx
dec ecx
add byte [eax], al
add byte gs:[eax], al
add byte [eax], al
push cs
add byte [esi + 0x72], ah
insd dword es:[edi], dx
inc ebx
jb 0x402052
inc esi
insb byte es:[edi], dx
je 0x402034
push ebx
arpl word [eax], bp
or eax, 0x46001c01
insb byte es:[edi], dx
imul esp, dword [edi + 0x68], 0x65522074
push ebx
arpl word [eax + 0x65], bp
jne 0x402067
imul ebp, dword [esi + 0x67], 0x74654420
popal
imul ebp, dword [ebx + esi*2 + 0x2e], 0xe0e00300
loopne 0x40200d
sbb dword [ecx], eax
add byte [edx], al
and edi, edi
invalid
invalid
add edi, edi
add dword [ecx], eax
add byte [eax], al
add dword [eax], ecx
add byte [esi + 0x72], ah
popal
push edx
push ebx
arpl word [eax], bp
add eax, dword [ebx]
loopne 0x40202b
loopne 0x40204d
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x1e78
dec ebx
push ds
cmpsd dword [esi], dword es:[edi]
or eax, 0x1b002f12
add dword [eax], eax
add byte [eax], al
mov esp, 0x1424402
add byte [0x5320534d], cl
add dword [eax], eax
or eax, 0x5320534d
popal
outsb dx, byte [esi]
jae 0x402092
push ebx
jb 0x4020df
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 esi, dword [0x1f03ff00]
xor eax, 0x1f03ff00
add byte [eax], al
add byte [ebx], al
or dword [eax], eax
push esp
js 0x402114
push esp
jb 0x4020e7
popal
je 0x40210b
add byte [edx], al
add al, 0x78
add byte [eax + 2], bl
sti
js 0x4020ab
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 0x4020a9
add byte [0xf01860], al
aaa
add eax, 0x31120357
add bh, bh
add dword [ecx], eax
add byte [eax], al
add eax, 0x6d630009
push esp
arpl word [ebp + 0x64], bp
push esp
jb 0x40212b
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 0x402133
push ebx
jb 0x402180
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 0x40216a
insb byte es:[edi], dx
popal
jb 0x40212c
add byte [ecx + eax], al
add al, 1
push es
add byte [ebx + 0x6c], al
popal
popal
jb 0x402137
add al, 0xf0
add byte [eax - 0x6afc99fc], dh
add dword [ecx], edx
xor al, byte [eax]
sbb eax, 1
mov esp, 0x1424402
add byte [0x5320534d], cl
popal
outsb dx, byte [esi]
jae 0x402177
push ebx
jb 0x4021c4
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 esi, dword [eax]
add bh, bh
add esp, dword [edi + 0xa]
add byte [eax], al
inc ecx
or byte [eax], al
jb 0x4021ec
push edx
push ebx
arpl word [eax], bp
call dword [eax + eax]
inc esi
push eax
push ebx
jo 0x402208
popal
inc ecx
inc esp
dec edi
jo 0x4021f3
jo 0x402214
popal
add byte fs:[ebx], al
js 0x4021a9
sbb byte [esi], al
xchg edi, eax
sbb eax, 0x360f0717
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 0x4021fd
add byte [eax], al
add edx, dword [edx - 0x1d]
or edx, dword [ecx - 0x62ee3171]
jecxz 0x4021f9
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 0x402231
push ebx
jb 0x40227e
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 0x4022ae
push ebx
jb 0x4022fb
add bh, al
cld
invalid
add byte [eax], al
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x4022d8
push ebx
jb 0x402325
add bh, al
cld
invalid
add byte [eax], al
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x402302
push ebx
jb 0x40234f
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 0x402318
add byte [eax], al
jb 0x40231c
add byte [eax], al
jae 0x402320
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 0x402380
push ebx
jb 0x4023cd
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 0x4023f0
invalid
add byte [eax], al
jb 0x4023d1
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 0x40246b
or byte [eax], al
add byte [eax], al
add dword [eax], eax
je 0x402473
or byte [eax], al
add byte [eax], al
add byte [eax], al
jne 0x40247b
or byte [eax], al
add byte [eax], al
add byte [eax], al
jbe 0x402483
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 0x402497
or al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
jl 0x4024a1
or byte [eax], al
add byte [eax], al
add byte [eax], al
jge 0x4024a9
and al, byte [ecx]
add byte [eax], al
jae 0x402445
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