Function at 0x401468
Capabilities:
Encode data using xor

Disassembly:
push 0x404c3c
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
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx - 0x7592939b], dl
cmpsb byte [esi], byte es:[edi]
call 0x14b09bdc
cli
out dx, eax
fistp dword [ebx - 0x3d]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor byte [edx], dh
xor byte [ebx + esi], dh
xor byte [eax + 0x72], dl
outsd dx, dword [esi]
push 0x65
arpl word [ecx + esi], si
xor byte [0x30303043], ch
sub eax, 0
dec esp
xor dword [eax], eax
adc eax, 0xf4529d81
cli
or dword [edi], eax
dec edx
popfd
or bh, byte [ebp + 0x2e4a32f4]
mov cl, dl
jne 0x4014b7
add bh, bh
int3
lcall 0xf1b6, 0x45c9449f
adc eax, 0x5a7c78df
sub al, 0x3a
dec edi
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
insb byte es:[edi], dx
add byte ss:[eax], al
scasb al, byte es:[edi]
xor al, byte [eax]
add byte [eax], al
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x78002f01
je 0x40159d
jae 0x40158a
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
je 0x401595
insb byte es:[edi], dx
insb byte es:[edi], dx
popal
and byte [edi + 0x69], ah
popal
pop edi
jne 0x4015a9
and byte [ecx + ebp*2 + 0x6d], dh
and byte gs:[esi + 0x6f], dh
imul esp, dword [ebx + 0x65], 0x616c7020
jns 0x4015b1
jb 0x40156e
jo 0x4015c2
outsd dx, dword [esi]
jb 0x4015b5
insd dword es:[edi], dx
add byte [ecx], bl
add dword [eax], eax
inc edx
add byte [ebx], ah
inc esi
xor al, byte [eax]
add byte [esp + esi*2], ch
and eax, dword [esi + 0x32]
add byte [eax], al
insb byte es:[edi], dx
je 0x401563
add byte [eax], al
xor al, byte ds:[eax]
add byte [esi], bh
xor al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [ecx], al
add byte [eax + 0x40], al
add byte [eax], al
add dword [eax], eax
add dword [eax], eax
inc eax
inc eax
add byte [eax], al
add dword [eax], eax
sbb byte [eax], al
sub byte [edx], dh
add byte [eax], al
push ss
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [ecx], al
add byte [eax], bl
add byte [eax], al
add dword [eax], eax
sbb 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
mov ecx, 0x979e9daf
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx - 0x68616251], bh
sahf
xchg edi, eax
jle 0x401550
cwde
jge 0x40154c
xchg esi, eax
jns 0x40154c
xchg esp, eax
jnp 0x401555
lahf
xchg ebp, eax
jge 0x401559
mov al, byte [0x969f7a95]
xchg ebp, eax
jp 0x40155b
xchg esi, eax
jnp 0x40155b
pushfd
xchg ebp, eax
jp 0x401562
xchg esp, eax
jl 0x401561
xchg ebp, eax
jl 0x401566
sahf
xchg esp, eax
jl 0x401567
pushfd
xchg ebp, eax
jp 0x401568
xchg ebx, eax
jp 0x401647
jno 0x401625
bound ebx, qword [eax + 0x36]
bound edx, qword [esi + 0x34]
js 0x401648
dec ebp
pushfd
xchg esp, eax
ja 0x401581
lcall 0x9aa0, 0x7e99a081
jge 0x401588
lcall 0x98a1, 0x7f989f7d
cwde
jg 0x40158d
mov eax, dword [0x97a07d98]
cwde
jge 0x40158f
mov al, byte [0x969f7c97]
xchg edi, eax
jl 0x401591
lahf
xchg esi, eax
jnp 0x401593
xchg edi, eax
jl 0x401597
cwde
jge 0x40159a
lahf
cwde
jge 0x40159c
xchg edi, eax
jl 0x40159f
xchg edi, eax
jl 0x40159f
xchg esp, eax
jnp 0x40159c
invalid
jl 0x4015ad
xchg edi, eax
jl 0x4015ad
xchg esi, eax
jge 0x4015b0
xchg esi, eax
jnp 0x4015b5
xchg ebp, eax
jge 0x4015b8
xchg ebp, eax
jge 0x4015b9
xchg esi, eax
jnp 0x4015be
xchg esi, eax
jnp 0x4015be
xchg ebp, eax
jp 0x4015c0
xchg ebp, eax
jle 0x4015c7
xchg ebp, eax
jge 0x4015ca
cdq
jl 0x4015c5
lea esi, [ebp + 0x70]
push 0x34565f4b
pop edi
push esi
xor eax, 0xa058767e
cwde
sbb dword [ebp - 0x67638267], 0x7f989c7f
jg 0x4015e6
popfd
cdq
jge 0x4015eb
cwde
jge 0x4015ec
cdq
jge 0x4015ee
xchg edi, eax
jle 0x4015f1
cwde
jl 0x4015f2
xchg esi, eax
jge 0x4015f5
xchg edi, eax
jnp 0x4015fa
xchg ebp, eax
jp 0x4015fe
xchg ebx, eax
jnp 0x40160b
mov al, byte [0x37616f8c]
xor ah, byte [edi]
add dword [ebx], edi
add byte cs:[ebx], bh
das
add byte [edx], bh
xor dword [eax], eax
cmp al, 0x30
add byte [eax + esi], bh
add byte [esi], bh
xor byte [eax], al
xor byte ds:[eax], al
aas
xor byte [eax], al
xor byte ds:[eax], al
cmp eax, 0x313d002f
add dword [ebx], edi
add byte cs:[ecx + 0x32], al
add dword [edi + esi], eax
inc esi
aaa
add byte [edx + 0x34], al
add byte [esi + ebp], bh
add byte [edi], bh
xor dword [ecx], eax
aas
xor dword [eax], eax
aas
xor dword [eax], eax
cmp al, 0x30
add byte [esi], bh
xor byte [eax], al
cmp eax, 0x313c0032
add byte [edi], bh
xor dword [eax], eax
aas
xor dword [eax], eax
aas
xor dword [eax], eax
aas
xor dword [eax], eax
xor byte ds:[eax], al
aas
xor dword [ecx], eax
inc eax
xor al, byte [ecx]
cmp esi, dword [ecx]
add dword [ebx], edi
xor dword [ecx], eax
aas
xor dword [ecx], eax
inc ecx
xor al, byte [ecx]
aas
xor al, byte [eax]
cmp al, 0x31
add byte [esi], bh
xor al, byte [edx]
aas
xor dword [ecx], eax
inc eax
xor al, byte [ecx]
xor byte ds:[eax], al
aas
xor dword [ecx], eax
cmp al, 0x31
add byte [edi], bh
xor dword [ecx], eax
xor al, 0
inc esp
cmp byte [edx], al
inc esi
add dword ss:[eax + 0x32], eax
add bh, byte [ebx]
add byte cs:[ecx + esi], bh
add byte [0x2f3e0131], bh
add dword [esi], edi
das
add dword [edx], edi
xor byte [eax], al
cmp eax, 0x32400032
add bh, byte [0x313f0032]
add dword [eax + 0x30], eax
add bh, byte [ecx + esi]
add byte [edi], dh
sub eax, 0x194d5800
jne 0x401791
aas
add byte cs:[ecx + 0x34], al
add byte [esi + 0x39], al
add dword [edi + 0x3b], eax
add dword [edi + 0x3c], eax
add byte [eax + 0x3c], cl
add al, byte [edi + 0x3c]
add byte [esi + 0x3b], al
add dword [ecx + 0x38], eax
add byte [edx + 0x36], al
add byte [ebp + 0x3a], al
add dword [esi + 0x3a], eax
add byte [edi + 0x3c], al
add byte [ecx + 0x38], cl
add byte [esi], bh
xor byte [eax], al
inc ecx
xor al, byte [ecx]
inc ebp
cmp al, byte [ecx]
dec ecx
add al, byte ds:[edi + 0x3c]
add byte [ecx + edi], al
inc eax
add byte ss:[ebx + 0x37], al
add dword [edi + esi], eax
aas
add byte ss:[ecx + 0x37], al
add dword [ecx + 0x35], eax
add byte [edx + 0x36], al
add byte [ebx + 0x37], al
add dword [edx + 0x36], eax
add byte [eax + 0x36], al
add byte [eax + 0x36], al
add byte [edx + 0x36], al
add byte [edi], bh
xor al, 0
aas
aaa
add al, byte [ecx + 0x34]
add byte [ecx + 0x34], al
add byte [edx + 0x35], al
add dword [eax + 0x36], eax
add byte [esi], bh
add dword ss:[eax + 0x36], eax
add byte [edx + 0x35], al
add byte [ebx + 0x36], al
add byte [esi + 0x3a], al
add byte [edi + 0x3c], al
add al, byte [edi + 0x3a]
add al, byte [esp + edi]
cmp eax, 0x32400032
add dword [esi + 0x39], eax
add dword [edi + 0x3b], eax
add dword [esi + 0x39], eax
add dword [esi + 0x38], eax
add eax, dword [ebx + 0x35]
add dword [ebx + 0x38], eax
add byte [ebx + edi + 2], al
inc esi
cmp byte [ebx], al
inc esi
cmp eax, 0x13d4700
dec ecx
cmp eax, dword [ecx]
dec ecx
cmp eax, dword [ecx]
inc ebx
aaa
add dword [eax + 0x33], eax
add byte [edx + 0x56], ah
and byte [ecx + 0x55616282], dl
and eax, 0x4a2b5c6b
cmp al, 7
inc edi
cmp dword [edi + eax*2], eax
cmp eax, dword [ecx]
inc ebp
cmp eax, dword [eax]
inc esp
cmp al, 1
dec esp
or dword ds:[edx + 0x63], ebp
sub al, 0x68
pop esi
sub byte [ebp + 0x42], cl
or dword [ebp + 0x38], eax
add byte [ebp + 0x39], al
add ecx, dword [ebx + 0x45]
push ss
xchg byte [edx + 0x53767a69], al
aas
cmp al, 5
inc ebp
cmp al, byte [eax]
inc edi
cmp al, byte [edx]
pop eax
dec ebp
adc al, 0x63
pop esp
and eax, 0x66235963
pop ebx
and ah, byte [esp + ebx*2 + 0x27]
pop bx
daa
pop edx
sub byte [esi + 0x5b], ah
sub dword [esi + 0x5b], esp
sub dword [esp + ebx*2 + 0x27], esp
pop bx
daa
pop ebp
daa
pop esi
daa
pop bp
and al, 0x65
pop esp
and esp, dword [ebp + 0x5e]
daa
popal
pop esp
and eax, 0x67285d65
pop edi
sub ah, byte [edi + ebx*2 + 0x28]
pop ebp
sub byte [edi + ebx*2 + 0x28], ah
pushal
sub dword [esi + 0x45], ecx
or al, 0x43
cmp al, byte [ecx]
inc esi
cmp eax, dword [ecx]
inc esi
aas
push cs
mov byte [esi + 0x5c], bh
jle 0x4018f0
push ebp
inc ebx
cmp byte [esi], al
dec eax
cmp dword [ecx], eax
inc ebp
aaa
add bl, byte [ecx + 0x4e]
sbb ch, byte [edx + 0x64]
xor eax, 0x472a5f63
cmp eax, dword [ecx]
dec ecx
cmp eax, dword [eax]
inc esi
cmp al, byte [edi + eax*2]
cmp al, 0
inc esi
cmp al, 0
dec edx
inc edx
push es
push 0x63
sub ah, byte [edx + 0x59]
daa
jnp 0x401917
inc esi
xlatb
into
mov bl, 0xd5
int3
xchg esi, eax
ret 0x95c1
mov eax, dword [0xc899c1c3]
invalid