Function at 0x1000f899
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10062062
call fcn.100615d8
sub esp, 0x14
push ebx
push esi
xor ebx, ebx
mov byte [ebp - 0x14], dl
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], ecx
cmp byte [ebp + 0x10], bl
je 0x1000f98e
mov dword [ebp - 0x18], 0x1c56
cmp dword [ebp - 0x18], 0x1c60
jle 0x1000f920
mov esi, ebx
mov edi, esi
mov ebx, 0x4cee
mov eax, edi
mov ecx, 0x1007dbf8
cdq
push edx
push eax
call fcn.100036f4
dec edi
dec ebx
jne 0x1000f8d6
inc esi
cmp esi, 0x4ba3
jl 0x1000f8cf
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x120f
push 0xd13
push 0xf35
push 0x1ea6
call esi
mov edi, dword [sym.imp.USER32.dll_GetDC]
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
jmp 0x1000f92c
mov edi, dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp byte [ebp + 8], 0
je 0x1000f948
mov byte [ebp + 0x13], bl
cmp byte [ebp + 0x13], 0
je 0x1000f954
sub esp, 0x10
call fcn.10010e88
add esp, 0x10
jmp 0x1000f954
call esi
push eax
call edi
push eax
call dword [sym.imp.GDI32.dll_RealizePalette]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x18], 0x1c1f
jge 0x1000f96f
mov edx, str.bfts_lxesne_panxmrjvv_vuzxiped
mov ecx, 0x1007dbf8
call fcn.10007689
jmp 0x1000fb0a
mov dword [ebp - 0x1c], 0x6c0c
cmp dword [ebp - 0x1c], 0x6c33
jle 0x1000f9e3
mov esi, ebx
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x18], 0x7c4f
mov edi, ebx
mov ebx, dword [ebp + 0x10]
mov eax, ebx
mov ecx, 0x1007dbf8
xor eax, edi
cdq
push edx
push eax
call fcn.100036f4
inc edi
cmp edi, 0x6187
jl 0x1000f9af
dec ebx
dec dword [ebp - 0x18]
push 0
mov dword [ebp + 0x10], ebx
pop ebx
jne 0x1000f9aa
inc esi
cmp esi, 0x3b4b
jl 0x1000f9a0
call fcn.10044487
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x6a33
jge 0x1000fa20
mov edx, str.lyc_rkiri_qmygbql_urgvgk_fmti_zxvpsz_uwchtk_ozyhu
mov ecx, 0x1007dbf8
call fcn.10007689
jmp 0x1000fa20
cmp byte [ebp - 0x14], 0
je 0x1000fa4a
push ebx
push 0x2119
push 0x2439
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetCharWidth32A]
jmp 0x1000fb0a
mov esi, dword [ebp + 0x14]
cmp dword [esi], ebx
je 0x1000fa57
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov edx, dword [ebp + 0x20]
push 0xfffffffffffffff8
mov dword [edx], eax
mov ecx, dword [edx]
mov eax, dword [ebp + 0x18]
inc ecx
mov eax, dword [eax]
mov dword [eax + 0xc], ecx
pop eax
cmp eax, ecx
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xf4d4e2
mov eax, dword [ebp + 0x1c]
setge cl
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [edx]
test eax, eax
mov eax, dword [esi]
setne cl
sub ecx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
cmp dword [eax], ebx
je 0x1000faa5
xor ebx, ebx
inc ebx
mov ecx, dword [esi]
xor edx, edx
mov eax, dword [esi]
imul ecx, ebx
cmp ecx, eax
mov ecx, dword [esi]
mov eax, dword [esi]
setge dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esi]
mov ecx, dword [esi]
setne dl
sub eax, edx
xor edx, edx
cmp eax, 0x1ddb
mov eax, dword [esi]
setne dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [esi]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esi]
setne cl
xor edx, edx
cmp edx, eax
mov eax, dword [esi]
sbb edx, edx
inc edx
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
mov eax, dword [esi]
setl cl
imul eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret