Function at 0x10024841
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.1000f7a1
mov ecx, dword [esi]
or eax, 0x20
mov edx, eax
call fcn.1000f7c2
xor ebx, ebx
mov dword [ebp - 0x10], 0x13091f7d
mov cl, 0x7d
mov dword [ebp - 0xc], 0x12111e22
mov word [ebp - 8], 0x180e
mov eax, ebx
mov byte [ebp - 6], bl
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 9
jae 0x1002488a
mov cl, byte [ebp - 0x10]
jmp 0x1002487b
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 4], eax
add esp, 0x18
mov cl, 0x79
mov dword [ebp - 0x14], 0x170d1b79
mov dword [ebp - 0x10], 0xb180e26
mov eax, ebx
mov dword [ebp - 0xc], 0xb16100b
mov byte [ebp - 8], bl
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x100248d3
mov cl, byte [ebp - 0x14]
jmp 0x100248c4
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 8], eax
add esp, 0x18
mov cl, 0x4a
mov dword [ebp - 0x10], 0x243e284a
mov dword [ebp - 0xc], 0x2d253815
mov eax, ebx
mov word [ebp - 8], 0x2f3f
mov byte [ebp - 6], bl
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 9
jae 0x1002491b
mov cl, byte [ebp - 0x10]
jmp 0x1002490c
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 0xc], eax
add esp, 0x18
mov cl, 0x68
mov dword [ebp - 0x10], 0x61c0a68
mov dword [ebp - 0xc], 0xf090537
mov eax, ebx
mov word [ebp - 8], 0xd
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 8
jae 0x10024960
mov cl, byte [ebp - 0x10]
jmp 0x10024951
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 0x10], eax
add esp, 0x18
mov cl, 0x35
mov dword [ebp - 0x10], 0x5b415735
mov dword [ebp - 0xc], 0x5c47456a
mov eax, ebx
mov dword [ebp - 8], 0x414650
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 0xa
jae 0x100249a6
mov cl, byte [ebp - 0x10]
jmp 0x10024997
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
movaps xmm0, xmmword [0x10095c70]
add esp, 0x18
mov dword [esi + 0x14], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x444c48
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x12
jb 0x100249d8
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
movaps xmm0, xmmword [0x100957d0]
add esp, 0x18
mov dword [esi + 0x18], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x1e051f13
mov word [ebp - 8], 4
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x14
jb 0x10024a1d
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
movaps xmm0, xmmword [0x10095fb0]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x6c605c6f
mov dword [ebp - 8], 0x776d76
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x16
jb 0x10024a63
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
add esp, 0x18
mov dword [esi + 0x20], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret