Function at 0x1001119a
Capabilities:
Encode data using xor

Disassembly:
push 0x5c
mov eax, 0x10035549
call fcn.10034356
mov ebx, ecx
xor edx, edx
mov esi, 0xe10
push 0x3c
pop edi
cmp byte [ebx + 0x20], dl
je 0x10011354
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jle 0x100111c8
dec ecx
mov dword [ebx + 0x24], ecx
test ecx, ecx
js 0x10011345
mov eax, ecx
cdq
idiv esi
mov eax, edx
cdq
idiv edi
mov esi, eax
mov eax, ecx
cdq
idiv edi
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], al
mov dword [ebp - 4], eax
push edx
push esi
cmp esi, 0xa
jae 0x1001125d
cmp edx, 0xa
jae 0x10011237
mov cl, 0x7e
mov dword [ebp - 0x34], 0x1a5b4e7e
mov dword [ebp - 0x30], 0x1a5b4e44
mov byte [ebp - 0x2c], al
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x10011228
mov cl, byte [ebp - 0x34]
jmp 0x10011219
xor edx, edx
mov byte [ebp - 0x2c], dl
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
jmp 0x100112a0
mov cl, 1
mov dword [ebp - 0x34], 0x65243101
mov dword [ebp - 0x30], 0x65243b
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011256
mov cl, byte [ebp - 0x34]
jmp 0x10011247
xor edx, edx
mov byte [ebp - 0x2d], dl
jmp 0x1001122d
cmp edx, 0xa
jae 0x10011281
mov cl, 0x15
mov dword [ebp - 0x34], 0x2f713015
mov dword [ebp - 0x30], 0x713025
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011256
mov cl, byte [ebp - 0x34]
jmp 0x10011272
sub esp, 0x18
mov dword [ebp - 0x34], 0x3f612005
lea ecx, [ebp - 0x34]
mov word [ebp - 0x30], 0x6120
mov byte [ebp - 0x2e], al
mov esi, esp
call fcn.1000515e
mov ecx, esi
push eax
call fcn.10002607
lea eax, [ebp - 0x50]
push eax
call fcn.1000485f
add esp, 0x24
lea ecx, [ebp - 0x28]
push eax
call fcn.10005394
lea ecx, [ebp - 0x50]
call fcn.10002413
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
movaps xmm0, xmmword [0x1003ea20]
cmova eax, dword [ebp - 0x28]
xor edx, edx
push eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x113f6917
mov ecx, edx
mov byte [ebp - 0x3c], dl
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x13
jb 0x100112e8
sub esp, 0x18
mov byte [ebp - 0x3c], dl
lea eax, [ebp - 0x4f]
mov ecx, esp
push eax
call fcn.10002607
lea eax, [ebp - 0x68]
push eax
call fcn.1000485f
add esp, 0x20
mov byte [ebp - 4], 1
mov edx, eax
mov ecx, dword [ebx + 8]
call fcn.10009be1
lea ecx, [ebp - 0x68]
call fcn.10002413
or dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x1001133d
mov ecx, dword [ebp - 0x28]
inc edx
call fcn.100023e6
push 0x3c
mov esi, 0xe10
pop edi
xor ecx, ecx
xor edx, edx
cmp dword [ebx + 0x24], ecx
jg 0x10011354
mov byte [ebx + 0x20], cl
mov dword [ebx + 0x24], ecx
cmp byte [ebx + 0x21], 0
je 0x10011510
movzx eax, word [ebx + 0x28]
mov ecx, eax
test ax, ax
jle 0x10011371
dec eax
mov word [ebx + 0x28], ax
movzx ecx, ax
test cx, cx
js 0x10011501
movsx ecx, cx
mov eax, ecx
cdq
idiv esi
mov eax, edx
cdq
idiv edi
movzx esi, ax
mov eax, ecx
cdq
idiv edi
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
movzx ecx, dx
xor edx, edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], dl
push 0xa
pop edi
mov dword [ebp - 4], 2
cmp si, di
jae 0x100113e9
cmp cx, di
jae 0x100113e9
push ecx
push esi
mov cl, 0x6a
mov dword [ebp - 0x34], 0xe4f5a6a
mov dword [ebp - 0x30], 0xe4f5a50
mov eax, edx
mov byte [ebp - 0x2c], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x100113e4
mov cl, byte [ebp - 0x34]
jmp 0x100113d5
mov byte [ebp - 0x2c], dl
jmp 0x10011464
mov eax, ecx
mov edx, esi
push eax
push edx
xor edx, edx
mov eax, edx
cmp si, di
jae 0x1001141c
mov cl, 0x14
mov dword [ebp - 0x34], 0x70312414
mov dword [ebp - 0x30], 0x70312e
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011417
mov cl, byte [ebp - 0x34]
jmp 0x10011408
mov byte [ebp - 0x2d], dl
jmp 0x10011464
cmp cx, di
jae 0x10011440
mov cl, 0x4c
mov dword [ebp - 0x34], 0x7628694c
mov dword [ebp - 0x30], 0x28697c
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011417
mov cl, byte [ebp - 0x34]
jmp 0x10011431
mov cl, 0x70
mov dword [ebp - 0x34], 0x4a145570
mov word [ebp - 0x30], 0x1455
mov byte [ebp - 0x2e], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10011461
mov cl, byte [ebp - 0x34]
jmp 0x10011452
mov byte [ebp - 0x2e], dl
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10002607
lea eax, [ebp - 0x68]
push eax
call fcn.1000485f
add esp, 0x24
lea ecx, [ebp - 0x28]
push eax
call fcn.10005394
lea ecx, [ebp - 0x68]
call fcn.10002413
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
movaps xmm0, xmmword [0x1003e3e0]
cmova eax, dword [ebp - 0x28]
xor edx, edx
push eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x7f29572c
mov ecx, edx
mov word [ebp - 0x3c], 0x51
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x14
jb 0x100114b7
sub esp, 0x18
mov byte [ebp - 0x3b], dl
lea eax, [ebp - 0x4f]
mov ecx, esp
push eax
call fcn.10002607
lea eax, [ebp - 0x68]
push eax
call fcn.1000485f
add esp, 0x20
mov byte [ebp - 4], 3
mov edx, eax
mov ecx, dword [ebx + 0xc]
call fcn.10009be1
lea ecx, [ebp - 0x68]
call fcn.10002413
lea ecx, [ebp - 0x28]
call fcn.10002413
xor edx, edx
cmp word [ebx + 0x28], dx
jg 0x10011510
xor eax, eax
mov byte [ebx + 0x21], dl
mov word [ebx + 0x28], ax
call fcn.10034314
ret