Function at 0x10011389
Capabilities:
Encode data using xor

Disassembly:
push 0x5c
mov eax, 0x100357e9
call fcn.10034586
mov ebx, ecx
xor edx, edx
mov esi, 0xe10
cmp byte [ebx + 0x20], dl
je 0x1001154c
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jle 0x100113b4
dec ecx
mov dword [ebx + 0x24], ecx
test ecx, ecx
js 0x1001153d
mov eax, ecx
lea edi, [ebp - 0x28]
cdq
idiv esi
push 0x3c
mov eax, edx
cdq
pop esi
idiv esi
push 0x3c
mov esi, eax
mov eax, ecx
cdq
pop ecx
idiv ecx
xor eax, eax
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 0x1001144f
cmp edx, 0xa
jae 0x10011429
mov cl, 0x62
mov dword [ebp - 0x34], 0x6475262
mov dword [ebp - 0x30], 0x6475258
mov byte [ebp - 0x2c], al
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x1001141a
mov cl, byte [ebp - 0x34]
jmp 0x1001140b
xor edx, edx
mov byte [ebp - 0x2c], dl
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
jmp 0x1001149b
mov cl, 0x79
mov dword [ebp - 0x34], 0x1d5c4979
mov dword [ebp - 0x30], 0x1d5c43
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011448
mov cl, byte [ebp - 0x34]
jmp 0x10011439
xor edx, edx
mov byte [ebp - 0x2d], dl
jmp 0x1001141f
cmp edx, 0xa
jae 0x1001147c
push 0x3c
pop edx
mov cl, 6
mov word [ebp - 0x34], 0x2306
mov byte [ebp - 0x32], 0x62
mov byte [ebp - 0x31], dl
mov dword [ebp - 0x30], 0x622336
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x10011448
mov cl, byte [ebp - 0x34]
jmp 0x1001146d
sub esp, 0x18
mov dword [ebp - 0x34], 0x326c2d08
lea ecx, [ebp - 0x34]
mov word [ebp - 0x30], 0x6c2d
mov byte [ebp - 0x2e], al
mov esi, esp
call fcn.10005169
mov ecx, esi
push eax
call fcn.10002604
lea eax, [ebp - 0x50]
push eax
call fcn.10004864
add esp, 0x24
lea ecx, [ebp - 0x28]
push eax
call fcn.1000539f
lea ecx, [ebp - 0x50]
call fcn.10002410
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
movaps xmm0, xmmword [0x1003e3d0]
cmova eax, dword [ebp - 0x28]
xor edx, edx
push eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x436d3b45
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 0x100114e3
sub esp, 0x18
mov byte [ebp - 0x3c], dl
lea eax, [ebp - 0x4f]
mov ecx, esp
push eax
call fcn.10002604
lea eax, [ebp - 0x68]
push eax
call fcn.10004864
add esp, 0x20
mov byte [ebp - 4], 1
mov edx, eax
mov ecx, dword [ebx + 8]
call fcn.10009e29
lea ecx, [ebp - 0x68]
call fcn.10002410
or dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x14]
cmp edx, 0xf
jbe 0x10011538
mov ecx, dword [ebp - 0x28]
inc edx
call fcn.100023e3
mov esi, 0xe10
xor ecx, ecx
xor edx, edx
cmp dword [ebx + 0x24], ecx
jg 0x1001154c
mov byte [ebx + 0x20], cl
mov dword [ebx + 0x24], ecx
cmp byte [ebx + 0x21], 0
je 0x10011718
movzx eax, word [ebx + 0x28]
mov ecx, eax
test ax, ax
jle 0x10011569
dec eax
mov word [ebx + 0x28], ax
movzx ecx, ax
test cx, cx
js 0x10011709
movsx ecx, cx
lea edi, [ebp - 0x28]
mov eax, ecx
cdq
idiv esi
push 0x3c
mov eax, edx
cdq
pop esi
idiv esi
push 0x3c
movzx esi, ax
mov eax, ecx
cdq
pop ecx
idiv ecx
xor eax, eax
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 0x100115eb
cmp cx, di
jae 0x100115eb
push ecx
push esi
push 8
pop ecx
mov byte [ebp - 0x34], cl
mov eax, edx
mov dword [ebp - 0x33], 0x326c2d38
mov dword [ebp - 0x2f], 0x6c2d38
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 7
jae 0x100115e3
mov cl, byte [ebp - 0x34]
jmp 0x100115d4
mov byte [ebp - 0x2c], dl
jmp 0x1001166c
mov eax, ecx
mov edx, esi
push eax
push edx
xor edx, edx
mov eax, edx
cmp si, di
jae 0x10011624
push 0x32
pop ecx
mov byte [ebp - 0x34], cl
mov dword [ebp - 0x33], 0x8561702
mov word [ebp - 0x2f], 0x5617
mov byte [ebp - 0x2d], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x1001161f
mov cl, byte [ebp - 0x34]
jmp 0x10011610
mov byte [ebp - 0x2d], dl
jmp 0x1001166c
cmp cx, di
jae 0x10011648
mov cl, 0xd
mov dword [ebp - 0x34], 0x3769280d
mov dword [ebp - 0x30], 0x69283d
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 6
jae 0x1001161f
mov cl, byte [ebp - 0x34]
jmp 0x10011639
mov cl, 0x7b
mov dword [ebp - 0x34], 0x411f5e7b
mov word [ebp - 0x30], 0x1f5e
mov byte [ebp - 0x2e], dl
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 5
jae 0x10011669
mov cl, byte [ebp - 0x34]
jmp 0x1001165a
mov byte [ebp - 0x2e], dl
sub esp, 0x18
lea eax, [ebp - 0x33]
mov ecx, esp
push eax
call fcn.10002604
lea eax, [ebp - 0x68]
push eax
call fcn.10004864
add esp, 0x24
lea ecx, [ebp - 0x28]
push eax
call fcn.1000539f
lea ecx, [ebp - 0x68]
call fcn.10002410
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
movaps xmm0, xmmword [0x1003e940]
cmova eax, dword [ebp - 0x28]
xor edx, edx
push eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x40], 0x25730d76
mov ecx, edx
mov word [ebp - 0x3c], 0xb
mov al, byte [ebp - 0x50]
xor byte [ebp + ecx - 0x4f], al
inc ecx
cmp ecx, 0x14
jb 0x100116bf
sub esp, 0x18
mov byte [ebp - 0x3b], dl
lea eax, [ebp - 0x4f]
mov ecx, esp
push eax
call fcn.10002604
lea eax, [ebp - 0x68]
push eax
call fcn.10004864
add esp, 0x20
mov byte [ebp - 4], 3
mov edx, eax
mov ecx, dword [ebx + 0xc]
call fcn.10009e29
lea ecx, [ebp - 0x68]
call fcn.10002410
lea ecx, [ebp - 0x28]
call fcn.10002410
xor edx, edx
cmp word [ebx + 0x28], dx
jg 0x10011718
xor eax, eax
mov byte [ebx + 0x21], dl
mov word [ebx + 0x28], ax
call fcn.10034544
ret