Function at 0x100299c0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x1003f00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1003f8dc]
push esi
mov dword [ebp - 0x24], 0xf1f0508
mov dword [ebp - 0x20], 0x6c081e03
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10112a40]
mov word [ebp - 0x1c], 0x805
mov byte [ebp - 0x5a], 0x4c
cmp eax, dword [esi + 4]
jle 0x10029a67
push 0x10112a40
call fcn.10031abc
add esp, 4
cmp dword [0x10112a40], 0xffffffff
jne 0x10029a67
mov ax, word [ebp - 0x1c]
movq xmm0, qword [ebp - 0x24]
mov word [0x10113574], ax
mov al, byte [ebp - 0x5a]
push 0x10034780
movq qword [0x1011356c], xmm0
mov byte [0x10113576], al
call fcn.10031ee1
add esp, 4
push 0x10112a40
call fcn.10031a72
add esp, 4
cmp byte [0x10113576], 0
je 0x10029a7f
xor eax, eax
xor byte [eax + 0x1011356c], 0x4c
inc eax
cmp eax, 0xb
jb 0x10029a72
push 0x1011356c
call fcn.10010b70
add esp, 4
call fcn.10017420
movss xmm0, dword [0x1003b55c]
call fcn.10010510
mov eax, dword [0x10112f0c]
mov word [ebp - 0x20], 0x805
mov byte [ebp - 0x5a], 0x4c
cmp eax, dword [esi + 4]
jle 0x10029b05
push 0x10112f0c
call fcn.10031abc
add esp, 4
cmp dword [0x10112f0c], 0xffffffff
jne 0x10029b05
mov ax, word [ebp - 0x20]
movaps xmm0, xmmword [0x1003b930]
mov word [0x10112614], ax
mov al, byte [ebp - 0x5a]
push 0x10034760
movups xmmword [0x10112604], xmm0
mov byte [0x10112616], al
call fcn.10031ee1
add esp, 4
push 0x10112f0c
call fcn.10031a72
add esp, 4
cmp byte [0x10112616], 0
je 0x10029b3d
movups xmm0, xmmword [0x10112604]
mov eax, 0x10
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
movups xmmword [0x10112604], xmm1
nop dword [eax]
xor byte [eax + 0x10112604], 0x4c
inc eax
cmp eax, 0x13
jb 0x10029b30
sub esp, 8
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
mov edx, 0x10041358
mov ecx, 0x10112604
push 0
push eax
push 4
call fcn.100148e0
movaps xmm0, xmmword [0x1003bfc0]
add esp, 0x14
mov eax, dword [0x10113584]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x20], 0x43b68000
movaps xmm0, xmmword [0x1003c080]
mov dword [ebp - 0x1c], 0x41c80000
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0xfaf4acdb
mov dword [ebp - 0x34], 0x4ccdf4ac
cmp eax, dword [esi + 4]
jle 0x10029bea
push 0x10113584
call fcn.10031abc
add esp, 4
cmp dword [0x10113584], 0xffffffff
jne 0x10029bea
push 0x28
lea eax, [ebp - 0x58]
push eax
push 0x10113344
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10034740
call fcn.10031ee1
add esp, 4
push 0x10113584
call fcn.10031a72
add esp, 4
cmp byte [0x1011336b], 0
je 0x10029c2d
movaps xmm1, xmmword [0x1003be00]
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + 0x10113344]
pxor xmm0, xmm1
movups xmmword [eax + 0x10113344], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x10029c00
cmp eax, 0x28
jae 0x10029c2d
nop
xor byte [eax + 0x10113344], 0x4c
inc eax
cmp eax, 0x28
jb 0x10029c20
push ecx
lea edx, [ebp - 0x20]
mov ecx, 0x10113344
call fcn.100113d0
movaps xmm0, xmmword [0x1003b6f0]
add esp, 4
mov eax, dword [0x101132ec]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0x5181c0d
mov word [ebp - 0x1c], 0x203
mov byte [ebp - 0x1a], 0x4c
cmp eax, dword [esi + 4]
jle 0x10029caa
push 0x101132ec
call fcn.10031abc
add esp, 4
cmp dword [0x101132ec], 0xffffffff
jne 0x10029caa
push 0x17
lea eax, [ebp - 0x30]
push eax
push 0x10112a98
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x10034710
call fcn.10031ee1
add esp, 4
push 0x101132ec
call fcn.10031a72
add esp, 4
cmp byte [0x10112aae], 0
je 0x10029cde
movups xmm0, xmmword [0x10112a98]
mov eax, 0x10
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
movups xmmword [0x10112a98], xmm1
xor byte [eax + 0x10112a98], 0x4c
inc eax
cmp eax, 0x17
jb 0x10029cd1
push 0x10112a98
call fcn.10010b70
add esp, 4
call fcn.10017420
movss xmm0, dword [0x1003b55c]
call fcn.10010510
mov eax, dword [0x10112cb4]
mov dword [ebp - 0x20], 0x383c2d0f
mov dword [ebp - 0x1c], 0x4c222325
cmp eax, dword [esi + 4]
jle 0x10029d63
push 0x10112cb4
call fcn.10031abc
add esp, 4
cmp dword [0x10112cb4], 0xffffffff
jne 0x10029d63
movaps xmm0, xmmword [0x1003b930]
movups xmmword [0x10112664], xmm0
push 0x100346f0
movq xmm0, qword [ebp - 0x20]
movq qword [0x10112674], xmm0
call fcn.10031ee1
add esp, 4
push 0x10112cb4
call fcn.10031a72
add esp, 4
cmp byte [0x1011267b], 0
je 0x10029d9d
movups xmm0, xmmword [0x10112664]
mov eax, 0x10
movaps xmm1, xmmword [0x1003be00]
pxor xmm1, xmm0
movups xmmword [0x10112664], xmm1
nop word [eax + eax]
xor byte [eax + 0x10112664], 0x4c
inc eax
cmp eax, 0x18
jb 0x10029d90
sub esp, 8
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 0
mov edx, 0x100412d8
mov ecx, 0x10112664
push 0
push eax
push 4
call fcn.100148e0
movaps xmm0, xmmword [0x1003bfc0]
add esp, 0x14
mov eax, dword [0x10113140]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x20], 0x43b68000
movaps xmm0, xmmword [0x1003c080]
mov dword [ebp - 0x1c], 0x41c80000
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0xfaf4acdb
mov dword [ebp - 0x34], 0x4ccdf4ac
cmp eax, dword [esi + 4]
jle 0x10029e4a
push 0x10113140
call fcn.10031abc
add esp, 4
cmp dword [0x10113140], 0xffffffff
jne 0x10029e4a
push 0x28
lea eax, [ebp - 0x58]
push eax
push 0x1011322c
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0x100346d0
call fcn.10031ee1
add esp, 4
push 0x10113140
call fcn.10031a72
add esp, 4
cmp byte [0x10113253], 0
je 0x10029e8d
movaps xmm1, xmmword [0x1003be00]
xor eax, eax
nop dword [eax]
movups xmm0, xmmword [eax + 0x1011322c]
pxor xmm0, xmm1
movups xmmword [eax + 0x1011322c], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x10029e60
cmp eax, 0x28
jae 0x10029e8d
nop
xor byte [eax + 0x1011322c], 0x4c
inc eax
cmp eax, 0x28
jb 0x10029e80
push ecx
lea edx, [ebp - 0x20]
mov ecx, 0x1011322c
call fcn.100113d0
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop esi
call fcn.10031912
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret