Function at 0x1003cdaa
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10062d13
call fcn.10061518
sub esp, 0x48
cmp byte [ebp + 0x18], 0
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x18], ebx
je 0x1003ce62
cmp byte [ebp + 0x2c], 0
je 0x1003ce31
mov dword [ebp + 0x18], 0x2c03342e
lea eax, [ebp + 0x18]
push 1
mov dword [ebp - 0x1c], 0x8e3bf118
lea edx, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 5
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x34], 1
push eax
mov dword [ebp - 0x38], 0xfffffff9
call fcn.1003d2c8
add esp, 0xc
lea eax, [ebp + 0x18]
lea edx, [ebp - 0x20]
push eax
sub esp, 0xc
lea eax, [ebp - 0x34]
push eax
push ecx
push ecx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x38]
call fcn.1003cffb
add esp, 0x20
jmp 0x1003cfea
mov eax, dword [ebp + 0x24]
push 0x1a
pop esi
mov ecx, dword [eax]
cmp ecx, esi
jge 0x1003ce47
mov eax, dword [ebp + 0x28]
movzx edx, word [eax]
add edx, ecx
jmp 0x1003ce54
mov eax, ecx
cdq
idiv esi
mov eax, dword [ebp + 8]
movzx eax, word [eax]
add edx, eax
mov ecx, dword [ebp + 0x10]
push edx
call fcn.1000bd2b
jmp 0x1003cfea
mov dword [ebp - 0x30], 0x5cb2
cmp dword [ebp - 0x30], 0x5fef
jle 0x1003cf02
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_SetBkColor]
xor esi, esi
mov dword [ebp - 0x2c], esi
mov ebx, esi
mov dword [ebp - 0x28], 0x26b1
mov dword [ebp - 0x24], ebx
xor edi, edi
xor esi, esi
mov dword [ebp - 0x3c], ebx
xor ebx, edi
mov eax, ebx
lea ecx, [ebp - 0x54]
or eax, esi
cdq
push edx
push eax
call fcn.1000260d
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003cebf
mov eax, dword [eax]
push eax
call fcn.1004ae5e
pop ecx
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.1000c17a
inc esi
cmp esi, 0x1ad7
jl 0x1003cea6
mov ebx, dword [ebp - 0x24]
inc edi
cmp edi, 0x30c
jl 0x1003ce9f
dec ebx
dec dword [ebp - 0x28]
mov dword [ebp - 0x24], ebx
jne 0x1003ce9d
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x2c9b
jl 0x1003ce91
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x30], 0x5b27
jge 0x1003cf16
push str.lfvsblc_hqeddt_rxqa_siizqn_xtewr_dkys_yvjtsgphd_rtkvwrxal_llgqr
call fcn.1004ae5e
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x14], 0
je 0x1003cfc0
mov dword [ebp - 0x2c], 0x567d
cmp dword [ebp - 0x2c], 0x56ec
jle 0x1003cf79
xor esi, esi
mov dword [ebp - 0x30], esi
xor edi, edi
mov eax, esi
xor ebx, ebx
cdq
idiv edi
mov esi, edx
mov eax, esi
mov ecx, 0x1007d858
xor eax, ebx
cdq
push edx
push eax
call fcn.1000bb8e
inc ebx
cmp ebx, 0x23e8
jl 0x1003cf44
mov esi, dword [ebp - 0x30]
inc edi
cmp edi, 0x4b58
jl 0x1003cf3b
inc esi
mov dword [ebp - 0x30], esi
cmp esi, 0x4380
jl 0x1003cf39
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x2c], 0x54db
jge 0x1003cfb7
mov edx, str.ncdy_uypcmwkn_jpd_kwgxjdq_zdofzndz_hln
mov ecx, 0x1007d858
call fcn.1000dfd7
jmp 0x1003cfb7
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
mov dword [ebx], eax
jmp 0x1003cfea
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov edi, dword [ecx]
mov ecx, dword [ecx]
mov eax, dword [ebp + 0x1c]
mov esi, dword [eax]
mov eax, dword [esi + ecx*4]
xor ecx, ecx
cmp eax, dword [esi + 8]
mov eax, dword [ebp + 0xc]
setl cl
xor edx, edx
cmp dword [esi + edi*4], ecx
setl dl
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret