Function at 0x1001db00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi]
call fcn.1000976e
mov ecx, dword [esi]
or eax, 0x20
mov edx, eax
call fcn.1000978f
xor ebx, ebx
mov dword [ebp - 0x10], 0x273d2b49
mov cl, 0x49
mov dword [ebp - 0xc], 0x26252a16
mov word [ebp - 8], 0x2c3a
mov edx, ebx
mov byte [ebp - 6], bl
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 9
jae 0x1001db4d
mov cl, byte [ebp - 0x10]
jmp 0x1001db3a
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
add esp, 0x18
mov dword [esi + 4], eax
mov cl, 0x78
mov dword [ebp - 0x14], 0x160c1a78
mov dword [ebp - 0x10], 0xa190f27
mov edx, ebx
mov dword [ebp - 0xc], 0xa17110a
mov byte [ebp - 8], bl
xor cl, byte [ebp + edx - 0x13]
mov byte [ebp + edx - 0x13], cl
inc edx
cmp edx, 0xb
jae 0x1001db9a
mov cl, byte [ebp - 0x14]
jmp 0x1001db87
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
add esp, 0x18
mov dword [esi + 8], eax
mov cl, 0x67
mov dword [ebp - 0x10], 0x9130567
mov dword [ebp - 0xc], 0x81538
mov edx, ebx
mov word [ebp - 8], 0x212
mov byte [ebp - 6], bl
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 9
jae 0x1001dbe6
mov cl, byte [ebp - 0x10]
jmp 0x1001dbd3
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
add esp, 0x18
mov dword [esi + 0xc], eax
mov cl, 0x1b
mov dword [ebp - 0x10], 0x756f791b
mov dword [ebp - 0xc], 0x7c7a7644
mov edx, ebx
mov word [ebp - 8], 0x7e
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 8
jae 0x1001dc2f
mov cl, byte [ebp - 0x10]
jmp 0x1001dc1c
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
add esp, 0x18
mov dword [esi + 0x10], eax
mov dl, 0x53
mov dword [ebp - 0x10], 0x3d273153
mov dword [ebp - 0xc], 0x3a21230c
mov ecx, ebx
mov dword [ebp - 8], 0x272036
xor dl, byte [ebp + ecx - 0xf]
mov byte [ebp + ecx - 0xf], dl
inc ecx
cmp ecx, 0xa
jae 0x1001dc79
mov dl, byte [ebp - 0x10]
jmp 0x1001dc66
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
movaps xmm0, xmmword [0x1003f8b0]
add esp, 0x18
mov dword [esi + 0x14], eax
mov edx, ebx
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x454d49
mov cl, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], cl
inc edx
cmp edx, 0x12
jb 0x1001dcab
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
movaps xmm0, xmmword [0x1003f780]
add esp, 0x18
mov dword [esi + 0x18], eax
mov edx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x746f7579
mov word [ebp - 8], 0x6e
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x14
jb 0x1001dcf0
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
movaps xmm0, xmmword [0x1003f510]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x2c201c2f
mov dword [ebp - 8], 0x372d36
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x16
jb 0x1001dd36
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.10002845
mov ecx, dword [esi]
call fcn.10009441
add esp, 0x18
mov dword [esi + 0x20], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret