Function at 0x10019cff
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10050660
call fcn.1004fab8
sub esp, 0x58
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], ecx
je 0x10019d38
push 1
push 0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SelectPalette]
jmp 0x1001a02d
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], 0x256915a
mov dword [ebp - 0x24], 0x5587
cmp dword [ebp - 0x24], 0x56a6
jle 0x10019d7e
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10067998
xor eax, esi
cdq
push edx
push eax
call fcn.100032d3
inc edi
cmp edi, 0x2322
jl 0x10019d5b
inc esi
cmp esi, 0x782d
jl 0x10019d59
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0x54de
jge 0x10019d99
mov edx, str.nvotpdesp_pne_dbrk_bzhlil_pxs_lxegh_ixosbtag
mov ecx, 0x10067998
call fcn.100056ca
or dword [ebp - 4], 0xffffffff
push 2
mov dword [ebp - 0x1c], ebx
pop edi
cmp dword [ebp - 0x1c], 3
jge 0x10019dd7
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x40], edi
inc dword [ebp - 0x1c]
jmp 0x10019da3
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], ebx
jl 0x10019df0
mov edx, 0x288d
xor cl, cl
call fcn.1001b401
dec dword [ebp - 0x1c]
jns 0x10019ddf
mov dword [ebp - 0x1c], ebx
jmp 0x10019e0f
push 0x7cfd
push ecx
lea eax, [ebp - 0x12]
mov byte [ebp - 0x12], bl
push eax
xor dl, dl
call fcn.1001a46f
add esp, 0xc
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x10019df5
mov eax, dword [ebp + 8]
mov edx, 0x44c
push ebx
push ebx
mov cl, 1
mov al, byte [eax]
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x11]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.1001a03e
mov dword [ebp - 0x18], 9
add esp, 0x10
mov dword [ebp - 0x24], 0x29b8
mov dword [ebp - 0x18], 0xffffffec
jmp 0x10019e7b
mov dword [ebp - 0x2c], 0x69ae
xor dl, dl
mov ecx, 0x2e44
call fcn.1001a3a2
push 0x4518
lea eax, [ebp - 0x18]
xor dl, dl
push eax
lea eax, [ebp - 0x2c]
xor cl, cl
push eax
call fcn.1001b53a
add esp, 0xc
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x10
jle 0x10019e4c
mov dword [ebp - 0x18], ebx
jmp 0x10019ec5
mov dword [ebp - 0x24], 0x76c51653
mov dword [ebp - 0x1c], ebx
jmp 0x10019ea0
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], 0xa7084bc9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10019e92
mov dword [ebp - 0x48], 1
cmp dword [ebp - 0x24], ebx
jne 0x10019ebb
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x24], 0xf928d9ba
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x1d
jle 0x10019e86
mov esi, dword [ebp - 0x28]
mov dl, 0x1a
mov cl, byte [esi]
call fcn.1002249d
mov byte [esi], al
mov dword [ebp - 0x24], 0x7c23
cmp dword [ebp - 0x24], 0x7f0b
jle 0x10019f26
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
mov ecx, 0x10067998
cdq
push edx
push eax
call fcn.100032d3
inc edi
cmp edi, 0x7ed
jl 0x10019eed
inc esi
cmp esi, 0x3e42
jl 0x10019eeb
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
push ebx
push ebx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
push 2
pop edi
mov dword [ebp - 0x30], 3
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x7ac4
jge 0x10019f48
mov edx, str.lsk_hniikq_vmnoymrrr_tml
mov ecx, 0x10067998
call fcn.100056ca
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x30], 0x1cb6
mov dword [ebp - 0x30], 0xccae
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x10019f99
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x20], ebx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 1
jl 0x10019f8f
mov dword [ebp - 0x1c], ebx
jmp 0x10019fb2
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x60], 0x45fe46c2
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x10019fa4
mov eax, dword [ebp - 0x20]
imul ecx, eax, 0xf390
mov eax, dword [ebp - 0x24]
dec dword [ebp - 0x24]
cmp eax, ecx
jne 0x10019fd0
xor eax, eax
inc eax
jmp 0x10019fd2
mov eax, ebx
mov ecx, dword [ebp - 0x30]
xor edx, edx
add ecx, eax
mov eax, dword [ebp - 0x20]
imul ecx, eax
mov eax, dword [ebp - 0x20]
cmp ecx, eax
sete dl
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
sub eax, edx
jne 0x10019ffe
cmp dword [ebp - 0x20], ebx
je 0x1001a001
xor ebx, ebx
inc ebx
mov eax, 0xffff
cmp eax, ebx
mov eax, dword [ebp - 0x20]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov edx, 0x39a2
setne cl
mov dword [ebp - 0x30], ecx
xor cl, cl
call fcn.1001ad34
mov eax, dword [ebp - 0x34]
mov cl, byte [ebp - 0x11]
mov byte [eax], cl
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret