Function at 0x1001635e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
xor ebx, ebx
mov dword [ebp - 0x14], fcn.10020163
push esi
mov esi, ecx
mov dword [ebp - 0x10], 0xf003c06
mov dl, 0x63
mov word [ebp - 0xc], 0xd02
mov byte [ebp - 0xa], bl
mov ecx, ebx
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x10016394
mov dl, byte [ebp - 0x14]
jmp 0x10016385
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi + 0x34]
call fcn.1000ae52
movaps xmm0, xmmword [0x10048270]
add esp, 0x18
mov dword [esi], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], bl
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x100163c2
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10047c70]
add esp, 0x18
mov dword [esi + 4], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], bl
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10016401
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [str.L_8_]
add esp, 0x18
mov dword [esi + 8], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x7d
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10016443
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10047da0]
add esp, 0x18
mov dword [esi + 0xc], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x29
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10016485
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10047690]
add esp, 0x18
mov dword [esi + 0x10], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], bl
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x100164c4
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
movaps xmm0, xmmword [0x10048160]
add esp, 0x18
mov dword [esi + 0x14], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], bl
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10016503
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x18], eax
mov dl, 0x4e
mov dword [ebp - 0x14], 0x2923274e
mov dword [ebp - 0x10], 0x382a2f11
mov ecx, ebx
mov word [ebp - 0xc], 0x7f11
mov byte [ebp - 0xa], bl
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x1001655c
mov dl, byte [ebp - 0x14]
jmp 0x1001654d
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x1c], eax
mov dl, 0x61
mov dword [ebp - 0x14], 0x60c0861
mov word [ebp - 0xf], 0x500
xor ecx, ecx
mov byte [ebp - 0xd], 0x17
push 0x3e
pop ebx
mov byte [ebp - 0x10], bl
mov byte [ebp - 0xc], bl
mov word [ebp - 0xb], 0x53
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x100165ad
mov dl, byte [ebp - 0x14]
jmp 0x1001659e
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x20], eax
mov dl, 0x42
mov dword [ebp - 0x14], 0x31232042
mov dword [ebp - 0x10], 0x2b361d27
xor ecx, ecx
mov word [ebp - 0xc], 0x272f
mov byte [ebp - 0xa], 0
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x100165f7
mov dl, byte [ebp - 0x14]
jmp 0x100165e8
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x24], eax
mov byte [ebp - 0x10], bl
xor eax, eax
mov dword [ebp - 0xf], 0x614c4a4d
mov dword [ebp - 0xb], 0x5b53574a
mov byte [ebp - 7], 0
xor byte [ebp + eax - 0xf], bl
inc eax
cmp eax, 8
jae 0x1001663c
mov bl, byte [ebp - 0x10]
jmp 0x1001662d
sub esp, 0x18
mov byte [ebp - 7], 0
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi + 0x24]
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x28], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret