Function at 0x10008e68
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10060997
call fcn.10060138
sub esp, 0xb8
cmp byte [ebp + 0x2c], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x34], ecx
je 0x10009252
xor ebx, ebx
cmp byte [ebp + 0x18], bl
je 0x10009232
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 4], ebx
cmp dword [eax + 0x10], ebx
je 0x1000920d
push 0x2e
pop eax
push 2
mov ecx, ebx
mov dword [ebp - 0x24], 0x8c04f800
mov word [ebp - 0x20], 0xc48c
mov byte [ebp - 0x1e], 0xec
mov word [ebp + 0x2c], ax
pop esi
mov dword [ebp - 0x30], ecx
cmp esi, 2
jne 0x10008f53
mov dword [ebp - 0x30], 5
push 5
mov dword [ebp - 0x14], 0x662b
cmp dword [ebp - 0x14], 0x67b1
pop esi
mov dword [ebp - 0x34], esi
jle 0x10008fa5
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], 0x4676
mov esi, ebx
mov ebx, dword [ebp - 0x48]
mov ecx, esi
mov eax, ebx
shl eax, cl
mov ecx, 0x1007cb98
cdq
push edx
push eax
call fcn.10004616
inc esi
cmp esi, 0x37c1
jl 0x10008f0d
add ebx, edi
dec dword [ebp - 0x44]
push 0
mov dword [ebp - 0x48], ebx
pop ebx
jne 0x10008f08
mov esi, dword [ebp - 0x14]
dec edi
cmp edi, 0xffffa10a
jg 0x10008efe
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x2647
jl 0x10008efc
mov esi, dword [ebp - 0x34]
jmp 0x10008fa5
movzx edx, byte [ebp + esi - 0x23]
mov eax, esi
sub eax, ecx
push 0x3a66
push 1
movzx eax, byte [ebp + eax - 0x26]
movzx ecx, word [ebp + eax*2 + 0x2c]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [ebp + esi - 0x24]
add ecx, edx
mov edx, 0x2a7f
mov word [ebp + eax*2 + 0x2c], cx
lea eax, [ebp - 0x30]
push eax
push 0xd66
push 0x5542
push 0x2c2b
push 1
mov cl, 1
call fcn.10008c4a
add esp, 0x1c
add esi, 2
cmp esi, 7
jae 0x10008fb5
mov ecx, dword [ebp - 0x30]
jmp 0x10008ed1
xor eax, eax
mov dword [ebp - 0x74], 7
mov word [ebp + 0x2e], ax
lea ecx, [ebp - 0x88]
mov word [ebp - 0x88], ax
lea eax, [ebp + 0x2c]
push eax
mov dword [ebp - 0x78], ebx
call fcn.10004d4e
mov edx, dword [ebp + 0x20]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.10007b8f
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 5
call fcn.10004dd6
mov edi, dword [ebp - 0x3c]
mov eax, edi
mov esi, dword [ebp - 0x40]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
mov dword [ebp + 0x2c], ebx
test eax, eax
jne 0x100091fe
mov dword [ebp - 0x14], 0x94
cmp dword [ebp - 0x14], 0x250
jle 0x10009056
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007cb98
xor eax, esi
cdq
push edx
push eax
call fcn.10004616
inc edi
cmp edi, 0x330e
jl 0x10009033
inc esi
cmp esi, 0x5610
jl 0x10009031
mov byte [ebp - 4], 6
cmp dword [ebp - 0x14], 0xfffffcbc
mov byte [ebp - 0x1c], bl
mov dword [ebp - 0x1b], 0xab7102ef
jge 0x1000909a
mov edx, str.lcclpmld_rgknwdo_vbq_beb_qoac_swsxsc_pxbwmcyhr_vdngi_oygpyf_lmlwxwp_pxps_qevmwj_tljmghga_cnde
mov ecx, 0x1007cb98
call fcn.10006a66
jmp 0x1000909a
push 0x2d
pop eax
mov dword [ebp - 4], 5
mov ecx, ebx
mov bl, byte [ebp - 0x1a]
push 2
mov word [ebp - 0x28], ax
pop esi
mov dword [ebp - 0x2c], ecx
cmp esi, 2
jne 0x100090c6
movzx eax, bl
lea ecx, [eax + 1]
mov dword [ebp - 0x2c], ecx
lea esi, [eax + 1]
jmp 0x1000910e
movzx edx, byte [ebp + esi - 0x1b]
mov eax, esi
sub eax, ecx
push 1
push 0x271
sub esp, 0xc
movzx eax, byte [ebp + eax - 0x1e]
movzx eax, word [ebp + eax*2 - 0x28]
mov ecx, eax
and eax, edx
or ecx, edx
mov edx, 0x1f40
sub ecx, eax
movzx eax, byte [ebp + esi - 0x1c]
mov word [ebp + eax*2 - 0x28], cx
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x3bf
call fcn.10008cdf
mov ecx, dword [ebp - 0x2c]
add esp, 0x18
add esi, 2
cmp esi, 5
jb 0x100090b3
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x26], ax
lea ecx, [ebp - 0x70]
mov word [ebp - 0x70], ax
xor ebx, ebx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x60], ebx
push eax
call fcn.10004d4e
mov edx, dword [ebp + 0x20]
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 8
call fcn.10007b8f
pop ecx
mov esi, eax
lea eax, [ebp - 0x40]
cmp eax, esi
je 0x10009178
mov ecx, eax
call fcn.1000c7e5
mov ecx, dword [esi]
mov dword [ebp - 0x40], ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x38], eax
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
lea ecx, [ebp - 0x94]
call fcn.1000c7e5
push ebx
push 1
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 5
call fcn.10004dd6
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x40]
jmp 0x100091fe
push esi
lea ecx, [ebp - 0xac]
call fcn.10007640
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 0xa
push eax
push 0x939
push ebx
push 0x79df
push 0x472b
push 0x7271
push 1
push 0x2695
push 1
push 0x2315
push 0x60e4
lea edx, [ebp - 0x58]
mov ecx, 0xbfc
call fcn.1000b9ed
add esp, 0x2c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xac]
push ebx
push 1
call fcn.10004dd6
add esi, 0x18
cmp esi, edi
jne 0x1000919a
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], bl
call fcn.1000c7e5
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x58]
push eax
call fcn.1000c3fb
lea ecx, [ebp - 0x58]
call fcn.1000c8be
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x1c]
mov dword [edx], ebx
cmp dword [edx], ebx
jl 0x10009221
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esi]
mov eax, dword [edi]
cmp dword [eax + ecx*4], ebx
jne 0x10009221
dec dword [edx]
cmp dword [edx], ebx
jge 0x10009241
jmp 0x10009221
mov dword [ebp - 0x14], 0x573a
cmp dword [ebp - 0x14], 0x5786
jle 0x1000929a
push 0x4f6
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
xor ebx, ebx
mov esi, ebx
mov edi, ebx
lea eax, [edi + esi]
mov ecx, 0x1007cb98
cdq
push edx
push eax
call fcn.10004616
inc edi
cmp edi, 0x3621
jl 0x10009273
inc esi
cmp esi, 0x48a5
jl 0x10009271
mov ecx, dword [ebp - 0x34]
jmp 0x1000929c
xor ebx, ebx
cmp byte [ebp + 8], 0
je 0x100092d5
mov eax, dword [ebp + 0x24]
push 0xffffffffffffffff
push dword [eax]
lea eax, [ebp - 0xc4]
push eax
call fcn.1000c0a8
mov ecx, dword [ebp + 0x10]
push eax
mov dword [ebp - 4], 0xb
call fcn.1000c156
push ebx
push 1
lea ecx, [ebp - 0xc4]
call fcn.10004dd6
jmp 0x100092e5
mov eax, dword [ebp + 0x28]
cmp byte [eax], 0
je 0x100092e5
push ebx
push ebx
call dword [sym.imp.USER32.dll_CharUpperBuffW]
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x14], 0x570d
jge 0x10009221
mov edx, str.afmul_ozkubmpim_gzcqatyvs_qlekbllwl
mov ecx, 0x1007cb98
call fcn.10006a66
jmp 0x10009221