Function at 0x402344
Capabilities:
Encode data using xor

Disassembly:
push 0x404018
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 [ecx], ch
mov word [edx + 0x64], cs
sub dh, 0x17
inc eax
mov esp, 0xaca59986
push cs
xchg ecx, eax
cmc
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
outsd dx, dword [esi]
insb byte es:[edi], dx
outsd dx, dword [esi]
jb 0x40239f
cmp eax, 0x50736d48
jb 0x4023ed
push edx
push esp
jo 0x4023ff
push edx
jno 0x4023e4
jo 0x4023f5
add byte [eax], ah
and byte [eax], ah
and byte [eax], ah
dec esi
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
sub ebx, dword [esi - 0x4b2990a4]
movsd dword es:[edi], dword [esi]
add byte [ebx], ch
sahf
pop esp
outsd dx, dword [esi]
salc
mov ah, 0xa5
sub eax, 0x1dc18f49
pop ebx
lahf
jo 0x4023a5
test byte [eax], dh
mov esp, dword [ecx + ecx*2 + 0x407f025f]
movsd dword es:[edi], dword [esi]
mov ch, 0x6a
dec esi
and esi, 0xad4f3ad6
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 [ebx + ebx], dh
add byte [ebp], bl
add byte [eax], al
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
je 0x402412
add byte [eax], al
pop ebp
add byte [eax], al
add byte [eax], al
push cs
add byte [esi + 0x72], ah
insd dword es:[edi], dx
inc esi
imul ebp, dword [esi + 0x64], 0x6e617254
push edx
jno 0x40240f
or eax, 0x46001701
imul ebp, dword [esi + 0x64], 0x61725420
add byte [esi + 0x69], al
outsb dx, byte [esi]
and byte fs:[edx + esi*2 + 0x61], dl
outsb dx, byte [esi]
jae 0x40248e
outsd dx, dword [esi]
jb 0x402495
and byte [edx + 0x65], dl
jno 0x40249b
jae 0x40249d
and byte [eax], al
add esp, eax
loopne 0x40240f
add byte [ecx], bl
add dword [eax], eax
bound eax, qword [eax]
and al, byte [ecx]
and al, 5
add byte [esi + 0x6f], al
jb 0x4024ab
xor dword [eax], eax
add byte es:[0x96], dh
dec eax
add eax, dword [eax]
add byte [esi + 0x600003b], ah
daa
add byte [eax], al
inc esi
add edi, edi
add dword [edx], esp
add byte [eax], al
add byte [ecx], al
pop es
add byte [esi + 0x72], ah
popal
dec ebp
popal
imul ebp, dword [esi], 0xe0e00303
loopne 0x40246c
add eax, 0xffe2001e
mov byte [ebx], bh
mov ebx, 0xc1226
inc dword [ecx]
cmp al, 0
add byte [eax], al
add al, byte [esi]
add byte [esi + 0x72], ah
popal
jb 0x4024e5
dec edi
outsb dx, byte [esi]
add byte gs:[ebx], al
add dword [edx], edx
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
and byte [ebx + 0x72], al
imul esi, dword [ebp + 0x72], 0x3006169
jb 0x402506
popal
add byte [ebx], al
loopne 0x402482
loopne 0x4024a4
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x8700a5
jp 0x4024ea
add byte [edi + 0x533a7a00], al
push ebx
pop es
adc cl, byte [0x3201ff00]
add byte [eax], al
add byte [esi + eax], al
add byte [esi + 0x72], al
popal
insd dword es:[edi], dx
xor al, byte gs:[eax]
add eax, dword [ecx]
or byte [eax], al
push edx
jno 0x4024ed
push esp
imul ebp, dword [ebp + 0x65], 0xe0e00300
loopne 0x4024d7
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x781e00
aas
or al, 0x57
add edx, dword [edx]
sbb al, byte [eax]
inc dword [ecx]
adc bl, byte [edx]
add bh, bh
add dword [0x17000000], ebx
sbb eax, 0x17000000
add byte [edi], dl
pop es
add byte [eax + edi*2 + 0x74], dl
push esp
imul ebp, dword [ebp + 0x65], 0x38040200
add al, 0x68
add ecx, eax
add ch, byte [ecx + eax]
adc bl, byte [eax + eax]
inc dword [ebx]
and dword [eax], eax
add byte [eax], al
add eax, 0x78540009
je 0x402567
imul ebp, dword [ebp + 0x65], 0x2006f54
add al, 0xe8
or byte [eax + 1], ch
mov dl, 2
sub al, 1
adc bl, byte [ebx]
add byte [eax], bl
add edi, edi
add ebp, dword [edx]
add byte [eax], al
add byte [ebx], ch
push es
sbb byte [ecx], al
inc dword [ebx]
sub al, byte [eax]
add byte [eax], al
sub eax, dword [esi]
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor dword [eax], eax
add dword [ecx], eax
add eax, 0x6f724600
insd dword es:[edi], dx
and byte [eax], al
add esp, eax
loopne 0x402526
add byte [0x780438], al
mov dword [0x1200e102], eax
add ah, cl
add byte [edx], dl
push ds
add bh, bh
add esp, dword [edi]
add byte [eax], al
add byte [eax], bl
push es
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor al, byte [eax]
add dword [ecx], eax
add al, byte [eax]
push esp
outsd dx, dword [esi]
add byte [ebx], al
loopne 0x40254d
loopne 0x40256f
add eax, 0x7808e8
xchg esp, eax
add dl, dl
add byte [edx], dl
sbb eax, 0x302ff00
cmp byte [eax], al
add byte [eax], al
or al, 6
add byte [esi + 0x72], al
popal
insd dword es:[edi], dx
xor dword gs:[eax], eax
add eax, dword [ecx]
push cs
add byte [edx + 0x65], dl
jno 0x402609
jae 0x40260b
and byte fs:[ecx + 0x74], al
add byte gs:[ebx], al
loopne 0x402582
loopne 0x4025a4
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x780f00
cmpsd dword [esi], dword es:[edi]
or eax, 0x15120357
add bh, bh
add dword [edx], esp
add byte [eax], al
adc byte [esi], 1
add byte [edi], al
add byte [eax + edi*2 + 0x74], dl
inc esp
popal
je 0x40262c
add byte [edx], al
add dword [ecx], eax
add byte [eax + ebp*8], al
or al, ah
add dword [ecx], ebp
add al, 0x2c
add dword [edx], edx
pop ss
add bh, bh
add esp, dword [edx]
add byte [eax], al
adc byte [esi], 0
add byte [edi], al
add byte [eax + edi*2 + 0x74], dl
inc esp
popal
je 0x40264f
add byte [edx], al
add dword [eax], eax
add byte [eax + ecx*2], al
add esp, eax
add dword [ecx + 0x12012c04], esp
add al, 0x2c
add dword [edx], edx
push ss
add bh, bh
add esp, dword [esi]
add byte [eax], al
add byte [edx], bl
add eax, 0x6c626c00
push esp
outsd dx, dword [esi]
add byte [ecx], al
add dword [edx], eax
add byte [edi + ebp*2], dl
add esp, eax
loopne 0x4025f5
add byte [0xf008e8], al
cld
add ebx, dword [0x191201]
inc dword [ebx]
sub eax, dword [eax]
add byte [eax], al
sbb dword [edi], eax
add bh, bh
add ebp, dword [ebx]
add byte [eax], al
add byte [ecx], bl
pop es
add byte [edx + 0x6c], ch
dec esi
popal
bound ebp, qword [esi + ecx*2 + 0x61]
insd dword es:[edi], dx
add byte gs:[ecx], al
add dword [0x6f724600], eax
insd dword es:[edi], dx
and byte [eax], al
add esp, eax
loopne 0x402621
add byte [0xf00348], al
add dword [eax + esi*8], 0
adc bl, byte [eax]
add bh, bh
add al, byte [ebx]
aas
add byte [eax], al
add byte [ebx], al
or eax, dword [eax]
arpl word [eax + 0x6b], bp
dec ecx
outsb dx, byte [esi]
popal
arpl word [ecx + ebp*2 + 0x76], si
add byte gs:[0x53001501], al
jbe 0x4026c8
add byte [0x53001501], al
push 0x4920776f
outsb dx, byte [esi]
popal
arpl word [ecx + ebp*2 + 0x76], si
and byte gs:[edx + 0x65], dl
jno 0x4026ef
jae 0x4026f1
add byte [ebx], al
loopne 0x402661
loopne 0x402683
add eax, 0x4381e00
and byte [0x14120249], cl
add byte [esi], bl
cmp byte [eax], al
or eax, 0x14120249
add bh, bh
add esp, dword [ecx]
add byte [eax], al
add byte [esi], al
push es
add byte [esi + 0x72], ah
popal
push esp
ja 0x40270d
add byte [ebx], al
add esp, eax
loopne 0x402684
add byte [0x782b98], al
cli
add eax, 0x131205a0
add bh, bh
add dword [eax], ebp
add byte [eax], al
add byte [edi], al
or byte [eax], al
arpl word [ebp + 0x64], bp
inc ebx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x402727
add byte [ecx + eax], al
push es
add byte [ebx + 0x26], al
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x402732
add byte [eax + esi*8], al
add byte [eax + 3], cl
fiadd word [ebx]
nop
add dword [ecx], edx
pop es
add bh, bh
add esp, dword [eax + eax]
add byte [eax], al
or byte [0x646d6300], al
dec edi
dec ebx
add byte [ecx + eax], al
add eax, 0x69462600
outsb dx, byte [esi]
imul ebp, dword [esi + 0x64], 0xf00400
add byte fs:[eax + esi*8], al
add byte [eax + 1], ch
fiadd word [ebx]
nop
push 0x9003de01
add dword [ecx], edx
push es
add bh, bh
add al, byte [ebx]
and eax, dword [eax]
add byte [eax], al
or dword [eax], ecx
add byte [esi + 0x72], ah
popal
push esp
push 0x656572
add eax, dword [ebx]
loopne 0x4026f6
loopne 0x402718
add eax, 0x783228
cli
add eax, 0x121205a0
add bh, bh
add dword [edx], ebp
add byte [eax], al
add byte [edx], cl
or dword [eax], eax
arpl word [ebp + 0x64], bp
push ebp
jo 0x402797
popal
popal
je 0x40279b
add byte [ecx + eax], al
pop es
add byte [esi], ah
push ebp
jo 0x4027a3
popal
je 0x4027a7
add byte [eax + esi*8], al
add byte [ecx + 1], bl
fiadd word [ebx]
pop ecx
add dword [ecx], edx
or byte [eax], al
inc dword [ebx]
sub al, byte [eax]
add byte [eax], al
or ecx, dword [ecx]
add byte [ebx + 0x6d], ah
inc ebx
popal
outsb dx, byte [esi]
arpl word [ebp + 0x6c], sp
add byte [ecx + eax], al
pop es
add byte [ebx + 0x26], al
popal
outsb dx, byte [esi]
arpl word [ebp + 0x6c], sp
add byte [eax + esi*8], al
add byte [eax + 3], cl
fiadd word [ebx]
nop
add dword [ecx], edx
or dword [eax], eax
inc dword [edx]
add esi, dword [ebx]
add byte [eax], al
add byte [0x6863000b], cl
or eax, 0x6863000b
imul edx, dword [ebx + 0x74], 0x61
je 0x4027cf
popal
outsb dx, byte [esi]
arpl word [eax], ax
add eax, 0x43000901
popal
outsb dx, byte [esi]
arpl word [ebp + 0x6c], sp
insb byte es:[edi], dx
add byte fs:[ebx], al
loopne 0x402781
loopne 0x4027a3
add eax, 0x10e087f
sbb byte [esi], al
add dword [eax], ebx
push es
xchg esp, eax
add dl, byte [edx]
add dword [eax], eax
inc dword [ebx]
xor eax, dword [eax]
add byte [eax], al
push cs
or eax, dword [eax]
arpl word [eax + 0x6b], bp
push ebx
je 0x40281f
je 0x402803
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x4027c4
add eax, 0x43000901
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x402839
je 0x402835
add byte fs:[ebx], al
add byte fs:[ebx], al
loopne 0x4027b5
loopne 0x4027d7
add eax, 0x10e0258
sbb byte [esi], al
xchg esp, eax
add dl, byte [edx]
add byte [eax], al
inc dword [ebx]
xor al, byte [eax]
add byte [eax], al
sysret
loopne 0x402805
add al, 0xc0
inc eax
add byte [eax], al
add eax, 0x3a2004b
sbb al, 0x66
add edx, dword [edx]
push cs
add bh, bh
add dword [ecx], esi
add byte [eax], al
add byte [eax], al
adc byte [edx], cl
add byte [ebx + 0x68], ah
imul edx, dword [ecx + ebp*2 + 0x6d], 0x65
dec edi
jne 0x40289d
add byte [eax], dl
or al, byte [eax]
arpl word [eax + 0x6b], bp
push esp
imul ebp, dword [ebp + 0x65], 0x74754f
add eax, 0x54000801
add byte [0x54000801], al
imul ebp, dword [ebp + 0x65], 0x74754f20
add byte [ebx], al
loopne 0x40281a
je 0x402837
add esp, eax
loopne 0x40281b
loopne 0x40283c
add byte [0xf014dc], al
add eax, 0xf014dc
adc al, 0xf0
add byte [esi], dh
push es
push es
loopne 0x402846
adc al, byte [0x2203ff00]
add eax, 0x2203ff00
add byte [eax], al
add byte [ecx], dl
pop es
add byte [esi + 0x72], ah
popal
inc esi
imul esi, dword [esi + 0x65], 0xe0030300
loopne 0x40283e
add byte [0x9602fd], al
dec ecx
adc dword [ecx + 2], ecx
adc cl, byte [edi]
add bh, bh
add dword [eax], esi
add byte [eax], al
add byte [edx], dl
or dword [eax], eax
outsd dx, dword [esi]
jo 0x4028eb
push edx
jno 0x4028ce
imul ebp, dword [ebp + 0x65], 0x8010600
add byte [edx + 0x65], dl
jno 0x4028a6
push esp
imul ebp, dword [ebp + 0x65], 0xe0e00300
loopne 0x402890
add eax, 0x9600b4
sbb byte [esi], al
xchg byte [ecx], al
adc al, byte [edx]
add bh, bh
add ebp, dword [esi]
add byte [eax], al
add byte cs:[eax], al
add byte [ebx], dl
or dword [eax], eax
outsd dx, dword [esi]
jo 0x40291c
push ebx
je 0x40290c
je 0x402922
jae 0x4028af
push es
add dword [esi], eax
add byte [ebx + 0x74], dl
popal
je 0x40292d
jae 0x4028ba
add esp, eax
loopne 0x40289e
add byte [0x960690], al
sti
add al, 0x86
add dword [edx], edx
add eax, dword [eax]
inc dword [ebx]
sub al, 0
add bh, bh
add ebp, dword [eax + eax]
add byte [eax], al
add byte [esi + eax], dl
add byte [eax], al
adc al, 6
add byte [edi + 0x70], ch
je 0x40292e
push 0x7010600
add byte [esi + 0x65], dl
push 0x656c6369
add byte [ebx], al
loopne 0x4028ca
loopne 0x4028ec
add byte [0x960b4f], al
add eax, 0x960b4f
add byte [eax], ch
add eax, 0x4120186
sub byte [0x4120186], al
add bh, bh
add al, byte [edx]
add al, byte [ebx]
and al, byte [eax]
add byte [eax], al
sbb eax, dword [edi]
add byte [esi + 0x72], al
popal
jae 0x402979
jb 0x40296f
add byte [ebx], al
add esp, eax
loopne 0x4028f1
add eax, dword [ebx]
loopne 0x4028f0
loopne 0x402912
add byte [0x78f0096], al
add eax, 0x78f0096
mov dword [edx], edi
jbe 0x40293b
adc dl, byte [eax]
add bh, bh
add eax, ecx
adc eax, dword [eax]
add byte [eax], ch
pop es
adc byte [eax], al
inc dword [ecx]
enter 0x13, 0
add byte [eax], al
sub byte [edi], al
add byte [edi + 0x72], ah
inc esi
imul ebp, dword [esi + 0x64], 0x14ff00
add bh, bh
add bh, bh
adc al, 0
inc esi
push eax
push ebx
jo 0x4029a9
popal
inc ecx
inc esp
dec edi
jo 0x402994
jo 0x4029b5
popal
add byte fs:[ebx], al
dec ebx
add byte [esi + 0x3b39c600], dl
pop ds
movups xmmword [eax], xmm0
sub eax, 0x9424c
mov edx, dword [ebx]
add byte [eax], al
add byte [eax], al
or byte [eax], al
call 0x164029ca
aaa
add byte [eax], al
inc eax
add byte [eax], al
add byte [ecx], al
add dword [eax], eax
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 [0], al
add edx, dword [edx - 0x1d]
or edx, dword [ecx - 0x62ee3171]
jecxz 0x40299a
invalid
stosb byte es:[edi], al
add byte [ebx - 0x48], cl
push ecx
add dword [eax], eax
add byte [eax], al
nop
add dword [edx + eax*2 + 1], eax
add byte [0x5320534d], cl
or eax, 0x5320534d
popal
outsb dx, byte [esi]
jae 0x4029d2
push ebx
jb 0x402a1f
imul esp, dword [esi + 1], 0x808080
rol al, 0xc0
add byte [ecx], al
add dword [ecx], eax
sbb byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add byte [eax], al
add dword [ecx], eax
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [ebx], eax
add byte [ecx], al
sldt word [ecx]
add word [eax - 0x3fff7f80], ax
rol al, 0
add dword [ecx], eax
add dword [eax], ebx
add byte [eax], al
add byte [ecx], al
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 dword [ecx], eax
add eax, dword [eax]
add dword [edi], ecx
add byte [ecx], al
add byte [eax], al
adc byte [eax], 0
add byte [eax - 0x7ffffff2], al
mov eax, dword [0x1000012]
add al, 0xa1
adc al, byte [eax]
add byte [ebp], ah
or byte [eax], al
add byte [eax], al
add dword [eax], eax
aas
add byte [eax + eax], bl
add byte [edx], 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 0x402a4f
push ebx
jb 0x402a9c
add bh, al
cld
invalid
add byte [eax], al
dec ebp
push ebx
and byte [ebx + 0x61], dl
outsb dx, byte [esi]
jae 0x402a79
push ebx
jb 0x402ac6
add byte [ebx], cl
add byte [eax + eax], cl
add byte [eax], al
add dword [eax], eax
add byte [ecx], al
add dword [eax], eax
or al, 0
adc dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add eax, 0x1000000
add byte [eax], al
adc al, byte [eax]
push cs
add dword [eax], eax
add byte [edx], dl
add byte [esi], cl
add byte [eax], al
add byte [eax + 0x8080], al
add byte [eax], al
add byte [esi], dl
add byte [ecx], dl
add byte [eax], al
add byte [eax], al
add dword [eax], eax
cld
test eax, 0x624dd2f1
push eax
aas
and eax, dword [eax]
or eax, dword [eax]
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ebp], eax
adc al, byte [eax]
add byte [eax], al
jno 0x402aae
add byte [ebx], cl
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [ecx], eax
inc ebp
add byte [edx], dl
add byte [eax], al
add byte [ecx], dh
add byte [eax], al
jb 0x402ab2
add byte [eax], al
jae 0x402ab6
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