Function at 0x4011d4
Capabilities:
Encode data using xor

Disassembly:
push 0x407750
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 [edi], al
std
push ds
outsb dx, byte [esi]
js 0x40122d
pushal
dec edi
mov esi, 0xc3ab950f
push eax
cli
add al, 0
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x30303043], ch
sub eax, 0xafb6f4c6
salc
mov ah, 0xd0
rol byte [eax], 1
xor byte [esi + esi], dh
jge 0x401241
xor ch, byte [esi]
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
add al, 0x8a
jae 0x4011e0
loope 0x401201
rcl dword [ebx], cl
sbb eax, 0x8da89b46
adc ebx, dword [0x8da89b46]
salc
mov eax, 0xeb9eb0d7
cdq
inc ecx
invalid
mov ch, dl
adc byte [esi - 0x6a], ah
test eax, 0x4f3af1c1
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
and byte [edx], 0
mov esp, 0x61
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x46000501
outsd dx, dword [esi]
jb 0x401303
xor dword [eax], eax
sbb dword [ecx], eax
add byte [edx], al
and al, byte [eax]
and esi, dword [esi + 0x61]
add byte [eax], al
insb byte es:[edi], dx
je 0x4012a7
add byte [esi + 0x61], ch
add byte [eax], al
add byte [eax], al
add dword [eax], eax
pop es
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x7600000e], ch
add byte [eax], al
add byte [eax], ah
and byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x1e000008], ch
sldt word [eax]
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
or byte [eax], al
push 0xc6000005
pop ss
add byte [eax], al
xor byte [eax], dh
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x25
add byte [eax], al
sbb eax, 0x20200000
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x10
add byte [eax], al
salc
inc edx
add byte [eax], al
sbb byte [eax], bl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
mov byte [ecx], cl
add byte [eax], al
jle 0x401363
sbb byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax + 0x7e000009], cl
push ebx
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
push 0x6000004
pop ebp
add byte [eax], al
sub byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
pushal
add byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
or dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add 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 al, 0
add byte [eax], cl
or byte [eax], al
add byte [eax], cl
or byte [eax], cl
add byte [eax], cl
or al, 8
add byte [eax], dl
adc byte [eax], dl
add byte [eax], dl
adc al, 0x10
add byte [eax], bl
sbb byte [eax], bl
add byte [eax], bl
sbb al, 0x18
add byte [ecx], ah
and byte [eax], bl
add byte [ecx], ah
and byte [ecx], ah
add byte [ecx], ah
and al, 0x21
add byte [ecx], ch
and al, 0x21
add byte [ecx], ch
sub byte [ecx], ch
add byte [ecx], ch
sub al, 0x29
add byte [ecx], dh
sub al, 0x29
add byte [ecx], dh
xor byte [ecx], ch
add byte [ecx], dh
xor byte [ecx], dh
add byte [ecx], dh
xor al, 0x31
add byte [ecx], bh
xor al, 0x31
add byte [ecx], bh
cmp byte [ecx], dh
add byte [ecx], bh
cmp byte [ecx], bh
add byte [ecx], bh
cmp al, 0x39
add byte [edx + 0x3c], al
cmp dword [eax], eax
inc edx
inc ecx
cmp dword [eax], eax
or byte [ecx + 0x42], bh
add byte [eax], cl
jge 0x4013f7
add byte [eax], dl
jns 0x4013fb
add byte [eax], dl
jns 0x401407
add byte [eax], dl
jge 0x40140b
add byte [ecx], ch
jge 0x40141f
add byte [ecx], dh
jge 0x401423
add byte [edx + 0x41], al
inc edx
add byte [edx + 0x45], al
inc edx
add byte [edx + 0x45], cl
inc edx
add byte [edx + 0x49], cl
inc edx
add byte [edx + 0x49], cl
dec edx
add byte [edx + 0x4d], dl
dec edx
add byte [ebx + 0x79], bh
jae 0x4013e6
jnp 0x401461
jnp 0x4013ea
jnp 0x401469
jnp 0x4013ee
or byte [edx - 0x75f7ffae], al
push edx
add byte [eax], cl
mov ds, word [edx]
adc byte [esi - 0x75efffae], al
push edx
add byte [eax], bl
xchg byte [edx], bl
adc byte [edx - 0x7dceffa6], dl
pop edx
add byte [eax], cl
xchg byte [edx], dl
adc byte [edx - 0x79e7ffae], cl
pop edx
add byte [eax], dl
xchg edx, eax
pop edx
add byte [ecx], dh
sbb byte [edx], 8
xchg esi, eax
arpl word [eax], ax
or byte [edx - 0x61f7ff9d], bl
arpl word [eax], ax
adc byte [esi - 0x6de7ff9d], dl
xchg edx, eax
arpl word [eax], ax
sbb byte [esi - 0x65efff9d], dl
imul eax, dword [eax], 0x18
lcall 0x6b, 0x9e18006b
and dword [esi - 0x71c6ff9d], ecx
imul eax, dword [eax], 0x29
xchg edx, eax
xchg esi, eax
arpl word [eax], ax
adc byte [edx - 0x65e7ff95], bl
imul eax, dword [eax], 0x18
sahf
imul eax, dword [eax], 0x21
mov fs, word [ebx]
cmp dword [esi - 0x6dd6ff95], ecx
imul eax, dword [eax], 0x31
xchg esi, eax
imul eax, dword [eax], 0x31
lcall 0x73, 0xa600007b
add byte [edx - 0x55f7ff8d], ch
jae 0x401452
add byte [edx - 0x51f7ff85], ch
jnp 0x40145a
sbb byte [edx - 0x59e7ff8d], ah
jae 0x401462
add byte [eax], dl
cmpsb byte [esi], byte es:[edi]
jnp 0x401466
adc byte [esi - 0x55efff85], ah
jnp 0x40146a
adc byte [edx - 0x55e7ff85], ch
add byte [eax], bl
stosb byte es:[edi], al
sbb byte [edx - 0x4df7ff85], ch
jnp 0x401472
jnp 0x40146e
or byte [edx - 0x49f7ff85], dh
jnp 0x401476
or byte [esi - 0x5ddeff85], dh
jae 0x40147a
and dword [edx - 0x59deff8d], esp
jnp 0x40147e
and dword [esi - 0x71b5ff85], esp
jae 0x401482
dec edx
invalid
push edx
mov dh, byte [ebx]
dec edx
xchg edx, eax
jae 0x40148a
dec edx
lcall 0x73, 0x9252007b
pop edx
xchg edx, eax
jnp 0x401496
arpl word [edx - 0x51efff85], dx
test byte [eax], al
sbb byte [edx - 0x45f7ff7c], ch
test byte [eax], al
or byte [esp + ecx*4 - 0x7b49f000], bh
add byte [eax], bl
mov edx, 0xb6100084
mov word [eax], es
adc byte [ebx - 0x41e7ff74], bh
xchg esp, eax
add byte [ecx], ch
scasb al, byte es:[edi]
test byte [eax], al
xor dword [esi - 0x51c6ff7c], ebp
test byte [eax], al
sub dword [edx - 0x49deff7c], esi
mov word [eax], es
sub dword [esi - 0x45deff74], esi
mov word [eax], es
xor dword [edx - 0x49ceff7c], esi
mov word [eax], es
xor dword [edx - 0x45deff74], edi
xchg esp, eax
add byte [ecx], ch
mov esi, 0xbe310094
xchg esp, eax
add byte [ecx], bh
mov esi, 0x8e730094
test byte [eax], al
imul edx, dword [edx - 0x6994ff7c], 0xffffff84
add byte [ebx - 0x66], ah
test byte [eax], al
imul ebx, dword [edx - 0x6d8cff7c], 0xffffff84
add byte [ebx - 0x6a], dh
test byte [eax], al
jnp 0x4014a6
test byte [eax], al
arpl word [edx - 0x3ce7ff6c], bp
xchg esp, eax
add byte [ecx], ah
invalid