Function at 0x4013ff
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10c
xor edx, ecx
mov eax, dword [esp + 0x110]
and ebx, ecx
sub dword [0x190e3d8], ebx
mov ecx, dword [esp + 0x120]
mov ebx, dword [0x190e409]
mov dword [esp], eax
add ebx, edx
mov dword [esp + 4], ecx
sub edx, dword [0x190e485]
inc edx
xor eax, eax
add dword [0x190e4e1], ebx
mov ebx, dword [0x190e49b]
push eax
inc ebx
push eax
xor ebx, ecx
add edx, dword [0x190e4ed]
mov byte [esp + eax + 0x10], al
mov dword [0x190e51e], edx
inc eax
mov edx, dword [0x190e453]
pop edx
sub edx, ecx
pop edx
imul edx, ebx, 0x5f
dec ebx
cmp ah, 1
jne 0x40143b
mov dword [0x190e469], edx
push edi
mov edx, dword [0x190e533]
mov edi, dword [esp + 0x11c]
imul ebx, ecx, 0x55
push ebp
add edx, edi
movzx ebx, cl
push esi
mov dword [0x190e391], ebx
mov ebx, esi
xor esi, esi
add ebx, dword [0x190e503]
add ebx, ecx
xor eax, eax
sub edx, edi
add dword [0x190e548], edx
xor ebp, ebp
mov esi, dword [0x190e39c]
push ebx
add esi, ecx
xor ebx, ebx
add esi, ecx
sub esi, ebx
mov cl, byte [esp + ebp + 0x18]
mov dword [0x190e5b6], esi
mov edx, dword [esp + 0x14]
sub esi, ecx
dec esi
movzx edx, byte [edx + eax]
and esi, ebx
sub dword [0x190e3d9], esi
mov esi, dword [0x190e59d]
add ebx, ecx
add esi, dword [0x190e3fe]
add edx, ebx
inc esi
movzx edx, dl
sub esi, eax
add dword [0x190e46f], esi
mov esi, edi
add esi, ebx
movzx esi, dx
sub esi, ebp
mov dword [0x190e46d], esi
inc eax
lea esi, [ecx + edx]
mov ebx, edx
dec esi
sub esi, edi
or esi, 6
mov dword [0x190e536], esi
mov esi, dword [0x190e3ef]
cmp eax, edi
jb 0x401526
add esi, ebp
xor eax, eax
inc esi
movsx esi, ax
mov dl, byte [esp + ebx + 0x18]
add dword [0x190e380], esi
inc ebp
dec esi
inc esi
inc ebp
add esi, edx
mov dword [0x190e496], esi
mov byte [esp + ebp + 0x16], dl
mov esi, edi
dec ebp
inc esi
inc esi
mov byte [esp + ebx + 0x18], cl
add esi, eax
mov dword [0x190e51e], esi
cmp ebp, 0x100
jb 0x4014b7
xor ebp, ebp
movsx esi, ax
dec esi
imul esi, edx, 0x40
mov dword [0x190e53c], esi
mov esi, ecx
inc esi
add esi, eax
add esi, dword [0x190e554]
mov dword [0x190e5c1], esi
mov esi, eax
xor edi, edi
sub esi, dword [0x190e384]
sub esi, dword [0x190e550]
xor eax, eax
xor esi, 0xffffffb0
pop ebx
add dword [0x190e560], esi
mov esi, ebp
test ebp, ebp
jbe 0x401644
add esi, ebp
and ebx, ecx
sub esi, dword [0x190e4dd]
mov dword [0x190e38a], esi
mov ebx, dword [0x190e396]
push eax
inc esi
inc dword [esp]
dec ebx
sub esi, ebp
pop eax
mov dword [0x190e543], ebx
add ebx, esi
and ebx, edx
push ebx
movzx ebx, al
mov dword [0x190e3dc], esi
mov esi, ebp
and eax, 0xff
movzx ebx, cl
movzx ebx, al
mov cl, byte [esp + eax + 0x18]
sub ebx, ebp
mov dword [0x190e528], ebx
movzx edx, cl
lea ebx, [edx + eax]
add edx, edi
or ebx, 0x2b
sub esi, ecx
and edx, 0xff
movsx ebx, al
mov dword [0x190e57f], esi
mov edi, edx
mov ebx, dword [0x190e4a3]
mov dl, byte [esp + edi + 0x18]
sub ebx, edi
mov byte [esp + eax + 0x18], dl
inc ebx
add esi, dword [0x190e416]
pop ebx
jmp 0x40162d
add dword [0x190e3c0], ebx
dec ebp
mov esi, edi
mov byte [esp + edi + 0x14], cl
sub esi, ecx
inc ebx
nop
jne 0x4015b6
add ebx, ecx
mov ebp, dword [esp + 0x128]
sub dword [0x190e578], ebx
add ebx, edx
add ebx, esi
or esi, 0xffffff94
add dword [0x190e3eb], esi
mov esi, dword [0x190e44c]
add ebx, edx
mov esi, edi
movsx ebx, dl
add ebx, ebp
mov dword [0x190e519], ebx
mov ebx, dword [0x190e4c7]
xor ebx, 0xffffffd2
add ebx, edi
add ebx, eax
mov edi, dword [esp + 0xc]
mov dword [0x190e48b], ebx
mov ebx, dword [0x190e5ae]
test ebp, ebp
jbe 0x401771
add ebx, edi
movsx ebx, ax
xor ebx, 0xffffffa9
mov dword [0x190e54f], ebx
mov ebx, eax
lea eax, [eax + 1]
add ebx, ebp
imul ebx, ebp, 0x6f
and ebx, ecx
add dword [0x190e38b], ebx
mov ebx, dword [0x190e5c5]
push ax
inc ebx
xor eax, eax
inc ebx
add ebx, esi
pop ax
mov dword [0x190e44d], ebx
mov bh, 0x29
xor ah, ah
movsx ebx, dx
xor ebx, edx
mov cl, byte [esp + eax + 0x14]
and ebx, edx
add dword [0x190e434], ebx
movzx edx, cl
lea ebx, [edx + 0x4d]
add edx, esi
inc ebx
add ebx, dword [0x190e4ab]
and edx, 0xff
imul ebx, ecx, 0x6f
mov esi, edx
sub dword [0x190e585], ebx
mov ebx, ebp
movzx edx, byte [esp + esi + 0x14]
add ebx, dword [0x190e3e8]
dec ebx
mov byte [esp + eax + 0x14], dl
add ebx, ecx
mov dword [0x190e5b8], ebx
mov byte [esp + esi + 0x14], cl
mov bh, 0x67
movzx edx, byte [esp + eax + 0x14]
add ebx, eax
add ebx, dword [0x190e3d6]
add edx, ecx
movzx ebx, cx
and edx, 0xff
mov dword [0x190e3e4], ebx
mov bh, 0x33
movzx ecx, byte [esp + edx + 0x14]
add ebx, ecx
dec ebx
xor byte [edi], cl
dec ebx
sub dword [0x190e41b], ebx
inc edi
mov ebx, dword [0x190e54f]
dec ebx
add ebx, edi
dec ebx
sub dword [0x190e55f], ebx
mov ebx, ebp
dec ebp
jne 0x4016a8
sub ebx, edi
mov ecx, dword [esp + 0x114]
sub ebx, esi
dec ebx
sub dword [0x190e429], ebx
mov ebx, dword [0x190e3fa]
pop esi
add ebx, edx
pop ebp
sub ebx, esi
inc ebx
pop edi
mov dword [0x190e489], ebx
lea ebx, [edx + 0x44]
dec ebx
add ebx, esi
and ebx, eax
mov dword [0x190e585], ebx
mov ebx, edx
add ebx, dword [0x190e388]
add esp, 0x10c
ret