Function at 0x10010790
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10062b23
call fcn.10062610
sub esp, 0x48
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x1c], 0xfffffffb
inc esi
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], 0x73f7
cmp dword [ebp - 0x28], 0x7585
push edi
mov dword [ebp - 0x10], esp
jle 0x1001082c
xor edi, edi
mov dword [ebp - 0x18], edi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
xor ecx, ecx
cdq
idiv ebx
mov dword [ebp - 0x24], ecx
mov ebx, edx
mov eax, ebx
xor esi, esi
cdq
idiv ecx
mov edi, edx
mov eax, edi
mov ecx, 0x1060c478
xor eax, esi
cdq
push edx
push eax
call fcn.10011c95
inc esi
cmp esi, 0x8ce
jl 0x100107e2
mov ecx, dword [ebp - 0x24]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xf6
jl 0x100107d9
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x7c8f
jl 0x100107cd
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x5cd8
jl 0x100107c8
xor esi, esi
inc esi
push 2
pop edi
mov dword [ebp - 0x2c], edi
and dword [ebp - 4], 0
cmp dword [ebp - 0x28], 0x707d
jge 0x1001084e
mov edx, 0x10007920
mov ecx, 0x1060c478
call fcn.100147fa
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], 0x83d96456
mov dword [ebp - 0x1c], 0
jmp 0x10010974
push edi
lea ecx, [ebp - 0x48]
call fcn.10011fea
mov dword [ebp - 4], edi
lea edx, [ebp - 0x48]
mov dword [ebp - 0x24], 0x5f514fc6
lea ecx, [ebp - 0x3c]
call fcn.100105ff
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], 0
jl 0x10010965
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x30], 0x4763c6da
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 0
jl 0x10010916
mov dword [ebp - 0x34], esi
lea ecx, [ebp - 0x11]
mov byte [ebp - 0x11], 0
call fcn.1001061e
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0x48]
call fcn.100106d0
add esp, 0xc
dec dword [ebp - 0x18]
jns 0x100108e8
mov dword [ebp - 0x18], esi
cmp dword [ebp - 0x18], 0
jl 0x1001095c
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov dword [eax + ecx*4], 0xe745
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x24], edi
sbb eax, eax
inc eax
sub eax, dword [ebp - 0x24]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x18]
jns 0x1001091f
dec dword [ebp - 0x20]
jns 0x100108d1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.10012046
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xb
jge 0x10010892
lea eax, [ebp - 0x54]
push eax
call fcn.1000d847
mov esi, eax
lea edi, [ebp - 0x48]
pop ecx
mov ecx, dword [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.100105f0
mov ecx, eax
mov eax, dword [ebp - 0x40]
pop edi
pop esi
pop ebx
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret