Function at 0x1001916a
Capabilities:
Encode data using xor

Disassembly:
push 0x40
mov eax, 0x10078ea6
call fcn.10040a5d
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x4c], 0x13091f7d
mov cl, 0x7d
mov dword [ebp - 0x48], 0xe180f22
mov word [ebp - 0x44], 0x918
mov eax, ebx
mov byte [ebp - 0x42], bl
xor byte [ebp + eax - 0x4b], cl
inc eax
cmp eax, 9
jae 0x100191a4
mov cl, byte [ebp - 0x4c]
jmp 0x10019195
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x42], bl
push eax
lea ecx, [ebp - 0x28]
call fcn.10004181
sub esp, 0x18
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.10003baa
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 4], eax
add esp, 0x18
mov cl, 0x79
mov dword [ebp - 0x38], 0xa181b79
mov dword [ebp - 0x34], 0x1c0b261c
mov eax, ebx
mov dword [ebp - 0x30], 0xd1c0a
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x100191f9
mov cl, byte [ebp - 0x38]
jmp 0x100191ea
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
movaps xmm0, xmmword [0x10095990]
add esp, 0x18
mov dword [esi + 8], eax
mov ecx, ebx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xf
jb 0x10019227
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi + 8]
call fcn.1000f474
mov dword [esi + 0xc], eax
add esp, 0x18
mov cl, 0x68
mov dword [ebp - 0x38], 0x61c0a68
mov dword [ebp - 0x34], 0xd1a1837
mov eax, ebx
mov dword [ebp - 0x30], 0x1c0d1b
xor byte [ebp + eax - 0x37], cl
inc eax
cmp eax, 0xa
jae 0x1001927b
mov cl, byte [ebp - 0x38]
jmp 0x1001926c
sub esp, 0x18
mov byte [ebp - 0x2d], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi + 8]
call fcn.1000f474
movaps xmm0, xmmword [0x10095a20]
add esp, 0x18
mov dword [esi + 0x14], eax
mov ecx, ebx
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x2c], bl
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0xf
jb 0x100192aa
sub esp, 0x18
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi + 8]
call fcn.1000f474
mov ecx, dword [esi + 8]
add esp, 0x18
xor dl, dl
mov dword [esi + 0x10], eax
call fcn.1000f6a4
mov cl, 0x21
mov dword [ebp - 0x34], 0x4f554321
mov word [ebp - 0x30], 0x157e
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10019303
mov cl, byte [ebp - 0x34]
jmp 0x100192f4
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 0x18], eax
add esp, 0x18
mov cl, 0x70
mov dword [ebp - 0x34], 0x1e041270
mov word [ebp - 0x30], 0x452f
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10019344
mov cl, byte [ebp - 0x34]
jmp 0x10019335
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 0x1c], eax
add esp, 0x18
mov cl, 3
mov dword [ebp - 0x34], 0x6d776103
mov word [ebp - 0x30], 0x355c
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10019385
mov cl, byte [ebp - 0x34]
jmp 0x10019376
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
mov dword [esi + 0x20], eax
add esp, 0x18
mov cl, 0x5b
mov dword [ebp - 0x34], 0x352f395b
mov word [ebp - 0x30], 0x6c04
mov eax, ebx
mov byte [ebp - 0x2e], bl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x100193c6
mov cl, byte [ebp - 0x34]
jmp 0x100193b7
sub esp, 0x18
mov byte [ebp - 0x2e], bl
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10004181
mov ecx, dword [esi]
call fcn.1000f474
add esp, 0x18
mov dword [esi + 0x24], eax
lea ecx, [ebp - 0x28]
push ebx
push 1
call fcn.10004036
call fcn.10040a07
ret