Function at 0x401258
Capabilities:
Encode data using xor

Disassembly:
push 0x404df4
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
cmp byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmpsb byte [esi], byte es:[edi]
inc ebx
arpl word [0x4d15c7fa], bp
test ch, dl
mov ah, 0xc8
fisub dword [0x1f39]
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc eax
mov ah, 0x64
add byte [eax], al
or bh, 0xf0
out dx, al
in eax, 0xea
xor dword [eax], eax
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
pop es
push 0x33914d61
jno 0x401273
add byte [esi - 0x5d29cbd], ah
invalid
inc esp
xchg esp, eax
sbb eax, 0x3c1a970e
push edi
sahf
pop ebx
xor eax, eax
xlatb
push es
pushfd
dec ecx
xchg esp, eax
inc esp
push ds
xchg edx, eax
imul esi, dword [edi - 0x52b0c567], 0xcf669933
adc dword [edi + 0xaa000c], esi
pushal
rcl dword [ebx], cl
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
jae 0x401335
add byte [eax], al
xor eax, 0xf
or byte [eax], al
push ebx
push edi
pop edi
xor dword [eax], esi
xor eax, 0xd003334
add dword [0xeef0cf00], edx
loop 0x401304
jmp 0x401306
add byte [eax], al
mov esi, 0xe
add byte [ecx], al
add byte [ecx], al
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x1600000e], ch
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add dword [eax], eax
or 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
jg 0x4013b4
push ebx
add byte [ebp + 0x43], bh
pop esp
add byte [ebp + 0x44], bh
pop ebp
add byte [ebp + 0x45], bh
pushal
add byte [ebx + 0x49], bh
bound eax, qword [eax]
jl 0x4013d8
bound eax, qword [eax]
js 0x4013f0
ja 0x401395
xchg dword [esi], ecx
add byte es:[ecx - 0x79ffd6f3], cl
adc byte [ecx], ch
add byte [esi - 0x77ffd1ec], al
adc dword [ecx], ebp
add byte [eax - 0x75ffd4ec], cl
adc ch, byte [0x2d148900]
add byte [esi - 0x79ffcee8], al
sbb al, 0x34
add byte [ebx - 0x74ffcce3], cl
sbb eax, 0x218e0034
add byte ss:[edx + 0x258d0038], cl
cmp eax, dword [eax]
mov gs, word [eax]
cmp al, byte [eax]
invalid
add byte [eax - 0x5cffc0d7], dl
push edx
xor eax, 0x3857a700
add byte [ecx - 0x56ffc7a9], ch
push edi
cmp byte [eax], al
test eax, 0xa9003857
pop edx
cmp byte [eax], al
sub dword [ecx], 0x43
add byte [ebx - 0x7bffbbd7], al
sub eax, dword [eax + eax - 0x6f]
sub eax, dword [eax]
xchg ecx, eax
inc ecx
add byte [edx - 0x6cffb5d0], al
xor al, 0x46
add byte [ebx - 0x6bffb7ca], dl
xor eax, 0x3f990048
dec edi
add byte [ecx - 0x66ffaebe], bl
inc edi
push edx
add byte [ebx - 0x65ffabbb], bl
dec ecx
push esp
add byte [esi - 0x5effa2b2], bl
push esp
bound eax, qword [eax]
test eax, 0xac00675b
arpl word [esi], bp
test eax, 0xac006f65
jo 0x40143d
scasb al, byte es:[edi]
push 0x6bad0072
jne 0x401445
mov al, 0x6a
jne 0x401449
mov bl, 0x71
jp 0x40144d
mov eax, 0x7d74
add byte [eax - 0x7f884800], al
add byte [ebp - 0x47ff7e87], dh
jns 0x4013e2
add byte [ecx - 0x5f], ah
aam 0
pop esp
mov ah, 0xed
add byte [esi + esi*4 - 0xf], bl
add byte [ebp - 0x47], bl
int1
add byte [ebx - 0x45], bl
test dword [eax], 0xf9bd5a
pop edx
mov esi, 0x82be00fd
mov eax, dword [eax]
mov esi, 0xc0008b84
test dword [ebp - 0x716c3f00], ecx
add al, al
mov dword [eax - 0x68703c00], edx
add bl, al
nop
xchg edi, eax
add ah, al
xchg ecx, eax
cwde
add cl, cl
xchg edi, eax
lahf
add cl, cl
lcall 0xa7, 0xa0ce00a0
iretd