Function at 0x40119c
Capabilities:
Encode data using xor

Disassembly:
push 0x414e78
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 bl, bh
adc eax, 0x803e0f33
or al, byte [ecx - 0x5b]
sub esi, dword [eax + 0x11]
les esi, es:[bx + si]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
push eax
jb 0x40124a
push 0x65
arpl word [ecx + esi], si
xor dword [eax], eax
or eax, 0x2020200a
and byte [eax], ah
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
add dword [edx + 0x79], edi
arpl word [ecx + 0x41c44bd8], ax
mov esi, 0xdc3d36ef
push 0xd8031aa7
rol dword [ecx + 0x73], cl
ja 0x4011df
inc ebx
mov ch, 0x6c
jb 0x40124a
cwde
test eax, 0x4f3a66c2
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
sar dword [ebx], cl
add dword [eax], eax
clts
push es
add byte [eax], al
add byte [0x726f4600], al
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x49003a01
je 0x4012d0
and byte [ecx + 0x6c], ah
insb byte es:[edi], dx
and byte [ebx + 0x68], dh
imul esi, dword [ebx + esi*2 + 0x20], 0x20646e61
imul esp, dword [bx + 0x67], 0x2073656c
jne 0x4012e4
je 0x4012e1
insb byte es:[edi], dx
and byte [ebx + 0x6f], dh
insd dword es:[edi], dx
bound ebp, qword gs:[edi + 0x64]
jns 0x4012a3
imul esp, dword [bx + 0x67], 0x2073656c
popal
outsb dx, byte [esi]
and byte fs:[ebx + 0x68], dh
imul esi, dword [ebx + esi*2], 0x19
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [ecx + eax*2 - 0x11], dh
inc ecx
out dx, eax
out dx, al
jbe 0x4012e9
inc ebx
add byte [edx], ah
add dword [ebx], esp
xchg byte [0x746c0000], al
add byte [eax], al
jle 0x4012bc
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add dword [eax], eax
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
or byte [eax], al
push 0x16000005
add byte [ecx], al
add byte [eax], dl
adc byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 5], ch
add byte [eax], al
push ss
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], 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
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [ecx], dh
sbb dword [esi], esp
add byte [ebx], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
xor dword [ecx], ebx
add byte es:[ebx], dh
sbb esp, dword [edi]
add byte [eax], bh
pop ds
sub al, 0
inc ecx
sub byte [esi], dh
add byte [eax + 0x2a], cl
cmp al, byte [eax]
pop esp
cmp dword [edx], edx
ja 0x40135d
imul eax, dword [eax], 0xffffff98
lea eax, [bx + si]
stosd dword es:[edi], eax
jnp 0x4012b9
add cl, al
mov eax, dword [0xc5d700ba]
rol dword [eax], cl
lds esi, [ebp - 0x7c65ff3f]
xchg ebp, eax
add byte [esi], bh
and dh, byte [eax + eax]
cmp esp, dword [ebx]
xor byte [eax], al
inc ecx
and al, 0x33
add byte [eax + 0x29], cl
cmp al, 0
bound edi, qword [eax]
push esi
add byte [edx + 0x4d], bh
outsb dx, byte [esi]
add byte [esi - 0x65ff6d96], bl
jle 0x4012df
add byte [ecx - 0x2fff4e59], dh
mov ebp, 0xabbf00cc
mov ebx, 0x8b749100
add byte [edx + 0x26], al
aaa
add byte [eax + 0x2b], cl
cmp al, byte [eax]
inc ebp
sub dword [edi], esi
add byte [esi + 0x2a], cl
inc ecx
add byte [edx + 0x3e], ch
pop ebp
add byte [esi + ecx*2 + 0x6d990078], al
xchg ecx, eax
add byte [edi + 0x70], ch
je 0x40137b
lodsd eax, dword [esi]
movsb byte es:[edi], byte [esi]
scasb al, byte es:[edi]
add cl, al
test eax, 0x9cb900bd
mov bl, 0
lea ebp, [ebx - 0x7b]
add byte [ecx + 0x37], bl
dec ebx
add byte [esi], dh
push ds
sub al, byte [eax]
dec esi
xor dword [ecx], eax
pop ebx
cmp dword [ebp], ecx
jno 0x4013dc
add byte fs:[edi - 0x7aff84b3], al
imul edi, dword [edi], 0x77
js 0x401421
add byte [edx - 0x4fff576a], ch
lcall 0xaf, 0x95b500af
nop
push 0x345b0087
push eax
add byte [edi + 0x39], al
add byte [ecx + 0x44], ch
pop edx
add byte [eax + 0x44], dh
arpl word [eax], ax
jns 0x401411
outsb dx, byte [esi]
add byte [ebx + 0x66007b4d], cl
insb byte es:[edi], dx
jge 0x4013d7
jnp 0x401369
movsb byte es:[edi], byte [esi]
add byte [eax - 0x4fff5474], bh
xchg dword [edi - 0x58765100], esp
add byte [esi + 0x64008c6b], dl
cmp ebx, dword [eax]
push ebx
mov word [ebx - 0x58785000], gs
add byte [edi - 0x69ff5877], ch
imul ecx, dword [eax + eax + 0x583b64], 0x53
xor eax, dword [ebp]
pop esp
cmp dword [ebp], ecx
ja 0x401449
imul eax, dword [eax], 0x704c7c
mov word [edi - 0x7b], ds
add byte [edi - 0x74], cl
lodsd eax, dword [esi]
add byte [ecx - 0x54ff0c1f], cl
mov ch, byte [ebx - 0x769a6d00]
add byte [edi + 0x2d], cl
inc edx
add byte [ecx + 0x22], al
mov dword [eax], eax
dec edi
sub eax, 0x22410042
xor al, 0
insb byte es:[edi], dx
inc edi
pop esi
add byte [eax - 0x60ff80a6], cl
jg 0x401423
lahf
mov eax, dword fs:[eax]
insb byte es:[edi], dx
pop dword [eax]
dec edi
stosd dword es:[edi], eax
int 0
test ch, bh
inc dword [eax]
test byte [edx + eax*8 - 0x5e7f4b00], ah
add byte [ebp - 0x73ff6085], ah
pop edx
add byte [eax], 0x63
aaa
push esi
add byte [edx + 0x52], bh
insb byte es:[edi], dx
add byte [edx - 0x52ff7190], bl
jle 0x4013f0
add byte [0x61009c72], dh
shr esi, cl
add byte [edx - 0x10], dh
cli
add byte [edx - 0x44], ch
fld dword [eax]
stosb byte es:[edi], al
jns 0x401405
add byte [edx + 0x51009973], ah
inc ebx
add byte [edx], bh
sbb eax, 0x30550033
inc edi
add byte [edi + 0x4e], dh
insb byte es:[edi], dx
add byte [edx + edi*2 - 0x6a44ff68], ah
mov cl, 0
dec edx
xchg word [eax], ax
sub esi, dword [edi - 0x57]
add byte [ecx - 0x24], ch
cmc
add byte [edi - 0x26], ah
out dx, eax
add byte [ecx - 0x3e], dl
out 0, eax
xchg esi, eax
xchg esi, eax
mov eax, 0x7b578000
add byte [edx + 0x45], ch
pushal
add byte [edi + 0x33], dl
dec ecx
add byte [ecx], bh
sbb al, 0x2c
add byte [ebx + 0x21], al
xor eax, 0xb59bbe00
add byte [edi + 0x1400ad98], cl
aas
arpl word [eax], ax
lodsd eax, dword ds:[esi]
fld dword [eax]
imul esp, edx, 0xa05200fd
mov edi, 0xc99b3d00
add byte [ecx - 0x60], ch
retf