Function at 0x40f3cb
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, dword [0x492590]
push edi
push 4
add esi, 2
pop edi
mov al, byte [esi]
mov cl, byte [esi - 2]
mov byte [ebp - 4], al
mov al, cl
shr al, 7
mov bl, byte [esi - 1]
mov dl, 0x1b
imul dl
mov byte [ebp - 0x1d], al
mov byte [ebp - 6], cl
add cl, cl
xor cl, al
mov al, cl
shr al, 7
imul dl
mov dl, cl
add dl, dl
xor al, dl
mov byte [ebp - 0x14], al
mov al, bl
shr al, 7
mov byte [ebp - 5], bl
add bl, bl
mov dl, 0x1b
imul dl
xor bl, al
mov byte [ebp - 0x18], al
mov al, bl
shr al, 7
imul dl
mov dl, byte [ebp - 4]
mov byte [ebp - 2], bl
add bl, bl
xor al, bl
mov byte [ebp - 0x10], al
mov al, dl
shr al, 7
mov bl, 0x1b
imul bl
mov byte [ebp - 0x1c], al
add dl, dl
xor dl, al
mov al, dl
shr al, 7
imul bl
mov bl, dl
add bl, bl
xor al, bl
mov byte [ebp - 0xc], al
mov al, byte [esi + 1]
shr al, 7
mov bl, 0x1b
imul bl
mov byte [ebp - 7], al
mov al, byte [esi + 1]
add al, al
xor al, byte [ebp - 7]
mov byte [ebp - 3], dl
mov byte [ebp - 1], al
shr al, 7
imul bl
mov bl, byte [ebp - 1]
add bl, bl
xor al, bl
mov bl, al
xor bl, byte [ebp - 0xc]
mov byte [ebp - 0x24], al
xor bl, dl
xor bl, byte [ebp - 0x10]
shr al, 7
xor bl, byte [ebp - 0x14]
mov dl, 0x1b
xor bl, cl
imul dl
xor bl, byte [ebp - 5]
xor bl, byte [ebp - 6]
add bl, bl
xor bl, al
mov al, byte [ebp - 0xc]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 3]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x10]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x14]
shr al, 7
imul dl
xor bl, al
mov al, cl
shr al, 7
imul dl
xor bl, al
xor bl, byte [ebp - 0x18]
mov al, cl
xor bl, byte [ebp - 0x1d]
shr al, 7
xor bl, byte [esi + 1]
imul dl
xor bl, byte [ebp - 4]
mov dl, al
xor bl, byte [ebp - 5]
mov al, cl
add al, al
xor dl, al
mov al, byte [ebp - 2]
mov byte [esi - 2], bl
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 2]
add bl, bl
xor al, bl
mov byte [ebp - 0x10], al
mov al, byte [ebp - 3]
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 3]
add bl, bl
xor al, bl
mov byte [ebp - 0x14], al
mov al, byte [ebp - 1]
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 1]
add bl, bl
xor al, bl
mov bl, al
xor bl, byte [ebp - 1]
mov byte [ebp - 0x24], al
xor bl, byte [ebp - 0x14]
shr al, 7
xor bl, byte [ebp - 0x10]
mov byte [ebp - 0xc], dl
xor bl, byte [ebp - 2]
xor bl, dl
xor bl, byte [ebp - 4]
mov dl, 0x1b
xor bl, byte [ebp - 5]
imul dl
add bl, bl
xor bl, al
mov al, byte [ebp - 1]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x14]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x10]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 2]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0xc]
shr al, 7
imul dl
xor bl, al
xor bl, byte [ebp - 0x1c]
mov al, cl
xor bl, byte [ebp - 0x18]
shr al, 7
xor bl, byte [esi + 1]
imul dl
xor bl, byte [ebp - 4]
mov dl, al
xor bl, byte [ebp - 6]
mov al, cl
add al, al
xor dl, al
mov al, byte [ebp - 2]
mov byte [esi - 1], bl
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 2]
add bl, bl
xor al, bl
mov byte [ebp - 0x14], al
mov al, byte [ebp - 3]
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 3]
add bl, bl
xor al, bl
mov byte [ebp - 0x18], al
mov al, byte [ebp - 1]
shr al, 7
mov bl, 0x1b
imul bl
mov bl, byte [ebp - 1]
add bl, bl
xor al, bl
mov bl, al
xor bl, byte [ebp - 0x18]
mov byte [ebp - 0x24], al
xor bl, byte [ebp - 3]
shr al, 7
xor bl, byte [ebp - 0x14]
mov byte [ebp - 0x10], dl
xor bl, dl
xor bl, cl
xor bl, byte [esi + 1]
mov dl, 0x1b
xor bl, byte [ebp - 4]
imul dl
add bl, bl
xor bl, al
mov al, byte [ebp - 0x18]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 3]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x14]
shr al, 7
imul dl
xor bl, al
mov al, byte [ebp - 0x10]
shr al, 7
imul dl
xor bl, al
mov al, cl
shr al, 7
imul dl
xor bl, al
xor bl, byte [ebp - 7]
xor bl, byte [ebp - 0x1c]
xor bl, byte [esi + 1]
mov al, cl
shr al, 7
imul dl
add cl, cl
mov dl, al
mov al, byte [ebp - 2]
xor dl, cl
xor bl, byte [ebp - 5]
shr al, 7
xor bl, byte [ebp - 6]
mov cl, 0x1b
imul cl
mov cl, byte [ebp - 2]
add cl, cl
xor al, cl
mov cl, byte [ebp - 3]
mov byte [ebp - 0x1c], al
mov al, cl
shr al, 7
add cl, cl
mov byte [esi], bl
mov bl, 0x1b
imul bl
mov bl, al
mov al, byte [ebp - 1]
xor bl, cl
shr al, 7
mov cl, 0x1b
imul cl
mov cl, byte [ebp - 1]
add cl, cl
xor al, cl
mov cl, al
xor cl, byte [ebp - 1]
mov byte [ebp - 0x24], al
xor cl, bl
xor cl, byte [ebp - 0x1c]
shr al, 7
xor cl, byte [ebp - 2]
mov byte [ebp - 0x18], bl
xor cl, dl
xor cl, byte [esi + 1]
mov bl, 0x1b
xor cl, byte [ebp - 6]
imul bl
add cl, cl
xor cl, al
mov al, byte [ebp - 1]
shr al, 7
imul bl
xor cl, al
mov al, byte [ebp - 0x18]
shr al, 7
imul bl
xor cl, al
mov al, byte [ebp - 0x1c]
shr al, 7
imul bl
xor cl, al
mov al, byte [ebp - 2]
shr al, 7
imul bl
xor cl, al
mov al, dl
shr al, 7
mov dl, bl
imul dl
xor cl, al
xor cl, byte [ebp - 7]
add esi, 4
xor cl, byte [ebp - 0x1d]
xor cl, byte [ebp - 4]
xor cl, byte [ebp - 5]
xor cl, byte [ebp - 6]
dec edi
mov byte [esi - 3], cl
jne 0x40f3e0
pop edi
pop esi
pop ebx
leave
ret