Function at 0x10026f2b
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005da4f
call fcn.1005c610
sub esp, 0x64
mov dword [ebp - 0x28], edx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10026fc3
cmp byte [ebp + 0xc], 0
je 0x10026f97
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x100272bc
push 0x19e3
push 0x1b31
push 0x5f23
push 0x262e
push 0x4456
push 0x7ec7
push 1
push 0x7f9d
push 1
push 0x1a3
mov edx, 0x1e2d
mov cl, 1
call fcn.10023eac
add esp, 0x28
jmp 0x100272bc
mov edx, dword [ebp + 0x28]
mov dword [edx], 0
cmp dword [edx], 1
jge 0x100272bc
mov esi, dword [ebp + 0x30]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0x46e0aee
inc dword [edx]
cmp dword [edx], 1
jl 0x10026fac
jmp 0x100272bc
mov dword [ebp - 0x14], 0x2955
xor esi, esi
cmp dword [ebp - 0x14], 0x29b4
jle 0x10027018
mov edi, esi
mov ebx, esi
mov ecx, ebx
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0x40]
cdq
push edx
push eax
call fcn.10001a8a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10026ff4
mov eax, dword [eax]
push eax
call fcn.10046da3
pop ecx
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.100045f1
inc ebx
cmp ebx, 0x7178
jl 0x10026fd9
inc edi
cmp edi, 0x7348
jl 0x10026fd7
cmp dword [ebp - 0x14], 0x274c
jge 0x1002702c
push str.mlvpqxowb_mlz_fydmfxj_akn_kfh
call fcn.10046da3
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x76d4
cmp dword [ebp - 0x24], 0x79a6
jle 0x100270bb
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ebx, esi
mov dword [ebp - 0x20], esi
mov eax, esi
mov dword [ebp - 0x1c], 0x44dd
mov dword [ebp - 0x18], eax
mov edi, eax
mov dword [ebp - 0x14], 0x3441
mov eax, edi
lea ecx, [ebp - 0x58]
xor eax, ebx
cdq
push edx
push eax
call fcn.10001a8a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002707e
mov eax, dword [eax]
push eax
call fcn.10046da3
pop ecx
push esi
push 1
lea ecx, [ebp - 0x58]
call fcn.100045f1
inc edi
dec dword [ebp - 0x14]
jne 0x10027065
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
add eax, edi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
jne 0x1002705c
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x8bd
jl 0x10027050
inc ebx
cmp ebx, 0x501f
jl 0x1002704d
cmp dword [ebp - 0x24], 0x7415
jge 0x100270cf
push str.iezb_ktlbxal_kvjrzc
call fcn.10046da3
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], 0x22ac
cmp dword [ebp - 0x18], 0x247b
jle 0x10027153
push esi
call dword [sym.imp.USER32.dll_RegisterClassA]
mov edi, esi
mov dword [ebp - 0x1c], esi
mov ebx, esi
mov dword [ebp - 0x20], esi
mov eax, edi
mov dword [ebp - 0x24], esi
mov ecx, ebx
shl eax, cl
mov dword [ebp - 0x14], eax
mov edi, eax
mov ebx, esi
mov esi, dword [ebp - 0x24]
mov eax, esi
mov ecx, 0x10078098
cdq
idiv ebx
xor edx, edi
mov eax, edx
cdq
push edx
push eax
call fcn.10003fb2
inc ebx
cmp ebx, 0x1e96
jl 0x10027107
inc esi
push 0
mov dword [ebp - 0x24], esi
cmp esi, 0x773
pop esi
jl 0x10027102
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
inc ebx
mov dword [ebp - 0x20], ebx
cmp ebx, 0xffd
jl 0x100270f4
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x1b5
jl 0x100270ef
mov dword [ebp - 4], 4
cmp dword [ebp - 0x18], 0x217a
jge 0x10027172
mov edx, str.uheilpbu_lmuzw_bcjdmzh
mov ecx, 0x10078098
call fcn.100065fc
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x3c], 0
je 0x1002724e
mov dword [ebp - 0x20], 0x7361
cmp dword [ebp - 0x20], 0x7713
jle 0x10027208
push esi
push 0x1730
push esi
call dword [sym.imp.GDI32.dll_GetMetaFileBitsEx]
mov edi, esi
mov ebx, esi
mov eax, esi
mov dword [ebp - 0x14], esi
mov ecx, esi
mov dword [ebp - 0x24], esi
add ecx, eax
lea eax, [ebx + edi]
shl eax, cl
lea ecx, [ebp - 0x70]
cdq
push edx
push eax
call fcn.10001a8a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100271c7
mov eax, dword [eax]
push eax
call fcn.10046da3
pop ecx
push esi
push 1
lea ecx, [ebp - 0x70]
call fcn.100045f1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xdc6
jl 0x100271ab
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x4800
jl 0x100271a6
inc ebx
cmp ebx, 0x186c
jl 0x100271a1
inc edi
cmp edi, 0x79b5
jl 0x1002719f
cmp dword [ebp - 0x20], 0x723e
jge 0x1002721c
push str.ravvpkz_naqnukkr_nencvx_mykafy_fmdzbxv_tkhlzxrmz_icfnwlhvs
call fcn.10046da3
pop ecx
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
jmp 0x100272bc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x38]
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [ebp + 0x1c]
inc dword [eax]
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov eax, dword [edx]
mov eax, dword [ebp + 0x20]
cmp dword [eax], esi
jne 0x10027274
mov eax, dword [edi]
cmp dword [eax], esi
je 0x10027277
xor esi, esi
inc esi
mov eax, dword [edx]
xor ecx, ecx
cmp esi, eax
setg cl
mov dword [edx], ecx
mov eax, dword [edx]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [ecx]
xor ecx, ecx
sub eax, 0x11b55e9
cmp eax, 0x48214d2f
mov eax, dword [ebp + 0x18]
setne cl
cmp ecx, 5
mov eax, dword [eax]
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, eax
mov eax, dword [edi]
setge cl
xor edx, edx
cmp ecx, 0x2657cf7a
setge dl
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret