Function at 0x40192c
Capabilities:
Encode data using xor

Disassembly:
push 0x403698
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, dl
outsd dx, dword [esi]
push ebx
inc edx
xchg ebp, eax
mov dh, 0x65
inc ebp
movsb byte es:[edi], byte [esi]
add ch, byte [0xd13b866]
sub al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x79], dl
outsb dx, byte [esi]
arpl word [esi + 0x69], ax
insb byte es:[edi], dx
add byte gs:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
sbb eax, 0x1ae2261c
add byte [0x1ae2261c], bl
push 4
dec ebp
dec ebp
mov al, byte [0xca87d816]
test al, 0x54
dec esp
mov ebx, 0x2bf9461f
xchg esp, eax
sbb eax, 0xbc52ab43
xor ah, al
jecxz 0x40197f
les edi, [edx]
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
sbb ebx, dword [eax + eax]
add cl, ch
add eax, 0x7000000
add byte [esi + 0x72], al
insd dword es:[edi], dx
dec ebp
popal
imul ebp, dword [esi], 0x10010d
into
les edi, [esi + edi*8 - 0x50492b29]
mov cl, pe_nt_image_headers32
mov bh, 0xdd
mov bl, 0xcc
sal dl, 1
add byte [ecx], bl
add dword [eax], eax
inc edx
add byte [edx], ah
add esp, dword [ebx]
xchg byte [0x746c0000], al
add byte [eax], al
jle 0x401a14
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 byte [eax], al
add byte [eax], al
push 0x16000005
add byte [ecx], al
add byte [eax], dl
adc byte [eax], al
add byte [eax], al
add byte [eax], al
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 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 + 0x30], al
and byte [eax], al
pushal
xor byte [eax], dh
add byte [eax + 0x38], dh
xor byte [eax], al
inc eax
inc eax
xor byte [eax], al
jo 0x401a9d
inc eax
add byte [eax + 0x50], dl
push eax
add byte [eax + 0x58], dh
push eax
add byte [eax + 0x60], dh
push eax
add byte [eax - 0x5fffefc8], ah
cmp byte [eax], dh
add byte [eax - 0x5fffcfc8], ah
inc eax
and byte [eax], al
mov al, 0x48
add byte [eax - 0x4fffdfc0], ah
dec eax
and byte [eax], al
mov al, byte [0xb0003040]
dec eax
xor byte [eax], al
mov al, 0x50
xor byte [eax], al
cmp byte [eax], 0x40
add byte [eax - 0x6fffbfc0], al
dec eax
inc eax
add byte [eax - 0x5fffafb8], dl
inc eax
inc eax
add byte [eax - 0x5fffbfb8], dh
push eax
push eax
add byte [eax - 0x4fffafb0], dh
pop eax
push eax
add byte [eax - 0x7fff9fa8], dh
push 0x78800060
pushal
push eax
add byte [eax - 0x4fffbfc0], ah
dec eax
inc eax
add byte [eax - 0x4fffafb0], ah
push eax
push eax
add byte [eax - 0x4fffafa8], dh
pop eax
pushal
add byte [eax - 0x7fff9f98], al
js 0x401b1e
add byte [eax - 0x3fff8f88], dl
push eax
inc eax
add al, al
pop eax
push eax
add al, al
pushal
push eax
add al, al
pushal
pushal
add al, al
push 0x60d00060
pushal
add al, dl
push 0x68d00060
jo 0x401ae3
sal byte [eax + 0x70], 1
add al, dl
js 0x401b5a
add al, ah
js 0x401b5e
add byte [eax - 0x2fff8f80], dl
js 0x401a76
add al, ah
js 0x401a7a
add al, ah
add byte [eax - 0x7f771000], 0
loopne 0x401a8d
nop
add al, dh
mov byte [eax - 0x6f6f2000], dl
add al, dh
nop
nop
add bh, bh
nop
nop
add al, ah
cwde
mov al, byte [0xa098ff00]
add al, al
mov eax, 0xa0f000b0
mov al, byte [0xa0a0ff00]
add al, dh
test al, 0xa0
add al, dh
test al, 0xb0
mov al, byte [0xb0a8f000]
add bh, bh
test al, 0xb0
add al, dh
mov al, 0xb0
add bh, bh
mov al, 0xb0
add al, dh
mov eax, 0xb8ff00b0
mov al, 0
invalid
add al, dl
rol al, 0
ror al, 1
rol byte [eax], 0xe0
enter 0xc0, 0xffffffffffffffff
rol al, 0
loopne 0x401b2d
add al, ah
rol al, 1
rol byte [eax], 0xf0
add al, dh
fcom st(0)
add al, dh
loopne 0x401b36
add al, dh
loopne 0x401b4a
add al, dh
call 0xf1301c51
invalid