Function at 0x10026a10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [0x10188068]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
push 0xd2
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xd6]
push 0
push eax
mov dword [ebp - 0xf0], esi
call fcn.1002ae80
add esp, 0xc
mov dword [ebp - 0xdc], 0
cmp dword [ebp - 0xec], 0
jne 0x10026a80
push 0
push 0
push 0
push 0
push 0xffffff37
call sym.NBUidai.dll_NBErrorsSetLastA
mov esi, eax
jmp 0x10026c6d
test edi, edi
je 0x10026a67
test esi, esi
je 0x10026a67
test ebx, ebx
je 0x10026a67
push 8
lea eax, [ebp - 0x95]
push eax
call fcn.1001a390
mov esi, eax
test esi, esi
jne 0x10026c6d
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
push eax
push edi
call fcn.1000b970
mov esi, eax
test esi, esi
jne 0x10026c6d
xor edx, edx
cmp dword [ebp - 0xe4], edx
jbe 0x10026af0
nop dword [eax]
mov ecx, dword [ebp - 0xdc]
mov eax, edx
and eax, 7
mov al, byte [ebp + eax - 0x95]
not al
xor byte [ecx + edx], al
inc edx
cmp edx, dword [ebp - 0xe4]
jb 0x10026ad0
lea eax, [ebp - 0xe0]
push eax
push ebx
call fcn.1000cbf0
mov esi, eax
test esi, esi
jne 0x10026c6d
push 8
lea eax, [ebp - 0xc]
push eax
call fcn.1001a390
mov esi, eax
test esi, esi
jne 0x10026c6d
mov edi, dword [ebp - 0xf0]
lea eax, [ebp - 0xe8]
push eax
push edi
call fcn.1000cbf0
mov esi, eax
test esi, esi
jne 0x10026c6d
mov eax, dword [ebp - 0xe0]
cmp eax, 0xff
jbe 0x10026b5c
push 0
push 0
push 0
push 0
push 0xffffffffffffff9c
call sym.NBUidai.dll_NBErrorsSetLastA
mov esi, eax
jmp 0x10026c6d
cmp eax, 0x80
ja 0x10026b46
push eax
push 0
push 0x80
lea eax, [ebp - 0x8c]
push eax
push 0
push ebx
call fcn.1000c2d0
mov esi, eax
test esi, esi
jne 0x10026c6d
mov esi, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe0]
mov byte [ebp - 0x8d], dl
cmp esi, 0xff
jbe 0x10026bb4
push eax
push eax
push eax
push 0x10110b98
push 0xffffffffffffff9c
call sym.NBUidai.dll_NBErrorsSetLastA
mov esi, eax
jmp 0x10026c6d
cmp esi, 0x40
jbe 0x10026bd2
push 0
push 0
push 0
push str.Insufficient_size_for_device_code_storage
push 0xffffffffffffff9c
call sym.NBUidai.dll_NBErrorsSetLastA
mov esi, eax
jmp 0x10026c6d
xor ecx, ecx
test edx, edx
je 0x10026bf7
nop dword [eax + eax]
mov eax, ecx
and eax, 7
mov al, byte [ebp + eax - 0xc]
not al
xor byte [ebp + ecx - 0x8c], al
inc ecx
cmp ecx, edx
jb 0x10026be0
push esi
push 0
push 0x40
lea eax, [ebp - 0xd5]
push eax
push 0
push edi
call fcn.1000c2d0
mov esi, eax
test esi, esi
jne 0x10026c6d
mov al, byte [ebp - 0xe8]
xor ecx, ecx
mov esi, dword [ebp - 0xe0]
mov byte [ebp - 0xd6], al
test esi, esi
je 0x10026c4c
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe4]
mov eax, ecx
xor edx, edx
div ebx
mov al, byte [edx + edi]
not al
xor byte [ebp + ecx - 0x8c], al
inc ecx
cmp ecx, esi
jb 0x10026c35
push 0xd2
lea eax, [ebp - 0xd6]
push eax
mov eax, dword [ebp - 0xec]
push dword [eax + 0x60]
call fcn.1004ea30
xor esi, esi
test eax, eax
cmovne esi, eax
push dword [ebp - 0xdc]
call fcn.10009af0
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10029ae5
mov esp, ebp
pop ebp
ret 0x10