Function at 0x1000e2e2
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10062020
call fcn.100615d8
sub esp, 0x20
cmp byte [ebp + 0x20], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], ecx
je 0x1000e3c9
cmp byte [ebp + 0x48], 0
je 0x1000e326
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x40]
add dword [eax], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x54]
xor ecx, ecx
mov edi, dword [ebp + 0x4c]
mov dword [eax], 0xffffffff
mov eax, dword [edi]
cmp eax, 0xffffffff
mov eax, dword [ebp + 0x24]
setle cl
xor esi, esi
cmp dword [eax], ecx
jl 0x1000e34d
cmp dword [edi], esi
jne 0x1000e34d
mov eax, esi
jmp 0x1000e350
xor eax, eax
inc eax
mov ecx, dword [edi]
add eax, 3
mov ebx, dword [ebp + 0x10]
xor edx, edx
cmp eax, ecx
setge dl
mov ecx, dword [ebx]
mov eax, dword [ebx]
add eax, edx
xor edx, edx
add ecx, eax
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
cmp ecx, eax
mov eax, dword [edi]
sete dl
xor ecx, ecx
cmp eax, edx
setne cl
cmp ecx, 0x2eeda7d
jl 0x1000e388
cmp dword [edi], esi
je 0x1000e38b
xor esi, esi
inc esi
mov dword [edi], esi
xor ecx, ecx
mov eax, dword [ebx]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
mov eax, dword [ebx]
mov eax, dword [ebp + 0x34]
mov ebx, dword [ebp + 0x50]
mov edi, dword [eax]
mov eax, dword [ebp + 0x28]
mov esi, dword [eax]
mov eax, dword [esi + 0xc]
mov dword [esi + edi*4], eax
mov eax, dword [ebx]
cmp eax, 1
mov eax, dword [ebp + 0x10]
setne cl
xor edx, edx
cmp dword [esi + edi*4], ecx
mov eax, dword [eax]
setge dl
sub edx, eax
mov dword [ebx], edx
jmp 0x1000e315
mov dword [ebp - 0x1c], 0x75c2
xor esi, esi
cmp dword [ebp - 0x1c], 0x7999
jle 0x1000e444
mov dword [ebp - 0x18], esi
mov dword [ebp + 0x20], esi
mov dword [ebp - 0x14], 0x7dec
mov edi, dword [ebp + 0x20]
mov ebx, esi
mov ecx, ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], esi
sar edi, cl
mov eax, edi
mov ecx, 0x1007dbf8
xor eax, esi
cdq
push edx
push eax
call fcn.100036f4
inc esi
cmp esi, 0x1fd1
jl 0x1000e3f7
mov edi, dword [ebp + 0x20]
inc ebx
push 0
pop esi
cmp ebx, 0x597a
jl 0x1000e3ed
mov edi, dword [ebp - 0x18]
add dword [ebp + 0x20], edi
dec dword [ebp - 0x14]
jne 0x1000e3e8
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x8fa
jl 0x1000e3de
push esi
call dword [sym.imp.GDI32.dll_GetObjectType]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
cmp byte [ebp + 0x18], 0
je 0x1000e46e
mov eax, dword [ebp + 0x14]
push dword [eax]
movzx eax, byte [ecx]
push dword [edx]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x44]
push eax
mov eax, dword [ebp + 0xc]
mov edx, dword [edx]
mov ecx, dword [ecx]
push dword [eax]
call fcn.1000cc33
add esp, 0x10
jmp 0x1000e48d
mov edx, dword [ebp + 0x1c]
mov dword [edx], esi
cmp dword [edx], 4
jge 0x1000e48d
mov edi, dword [ebp + 0x38]
mov ecx, dword [edx]
mov eax, dword [edi]
mov dword [eax + ecx*4], 0xfffffff6
inc dword [edx]
cmp dword [edx], 4
jl 0x1000e47b
mov dword [ebp - 4], esi
cmp dword [ebp - 0x1c], 0x759f
jge 0x1000e315
mov edx, str.cvvntjqds_rgeavftqd_fokvi_bayl
mov ecx, 0x1007dbf8
call fcn.10007689
jmp 0x1000e315