Function at 0x1000a540
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x101991a8]
sub esp, 0x14
test eax, eax
je 0x1000a636
mov ecx, dword [0x101991a4]
test ecx, ecx
je 0x1000a636
mov edx, dword [0x101991a0]
test edx, edx
je 0x1000a636
push esi
mov esi, dword [0x1019919c]
test esi, esi
je 0x1000a635
cmp byte [0x1018ea42], 0
je 0x1000a5e1
cmp byte [0x1018e4ff], 0
je 0x1000a635
mov eax, dword [eax + 0x1c]
mov byte [0x1018e4ff], 0
mov dword [eax + 0x2c], 0x459c4000
mov dword [eax + 0x30], 0x1388
mov eax, dword [ecx + 0x1c]
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov eax, dword [edx + 0x1c]
mov dword [eax + 0x2c], 0x42700000
mov dword [eax + 0x30], 0x3c
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x2c], 0x42c80000
mov dword [eax + 0x30], 0x64
jmp 0x1000a635
cmp byte [0x1018e4ff], 0
jne 0x1000a635
mov eax, dword [eax + 0x1c]
mov byte [0x1018e4ff], 1
mov dword [eax + 0x2c], 0x44bb8000
mov dword [eax + 0x30], 0x5dc
mov eax, dword [ecx + 0x1c]
mov dword [eax + 0x2c], 0x40e00000
mov dword [eax + 0x30], 7
mov eax, dword [edx + 0x1c]
mov dword [eax + 0x2c], 0x41700000
mov dword [eax + 0x30], 0xf
mov eax, dword [esi + 0x1c]
mov dword [eax + 0x2c], 0x41a00000
mov dword [eax + 0x30], 0x14
pop esi
mov eax, dword [0x10199198]
test eax, eax
je 0x1000a68c
cmp dword [0x1018ea44], 1
jne 0x1000a66b
cmp byte [0x1018e4fe], 0
je 0x1000a68c
mov eax, dword [eax + 0x1c]
mov byte [0x1018e4fe], 0
mov dword [eax + 0x2c], 0x4479c000
mov dword [eax + 0x30], 0x3e7
jmp 0x1000a68c
cmp byte [0x1018e4fe], 0
jne 0x1000a68c
mov eax, dword [eax + 0x1c]
mov byte [0x1018e4fe], 1
mov dword [eax + 0x2c], 0x41a00000
mov dword [eax + 0x30], 0x14
cmp dword [0x10199194], 0
je 0x1000a8cd
cmp dword [0x1018ea38], 0
je 0x1000a8cd
push ecx
mov ecx, dword [0x1018e834]
mov dl, 1
call fcn.10059dd0
add esp, 4
test al, al
je 0x1000a6cc
cmp byte [0x1018e885], 0
sete al
mov byte [0x1018e885], al
jmp 0x1000a6d1
mov al, byte [0x1018e885]
mov ecx, dword [0x1018ea38]
cmp ecx, 1
jne 0x1000a740
test al, al
je 0x1000a718
cmp byte [0x1018e886], 0
je 0x1000a718
cmp byte [0x1018e4fd], 0
je 0x1000a8b6
mov eax, dword [0x10199194]
mov byte [0x1018e4fd], 0
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
jmp 0x1000a8b6
cmp byte [0x1018e4fd], 0
jne 0x1000a8b6
mov eax, dword [0x10199194]
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x2c], 0x3f800000
mov dword [eax + 0x30], 1
jmp 0x1000a8af
cmp ecx, 2
jne 0x1000a889
cmp byte [0x1018e4fc], 0
je 0x1000a858
mov eax, dword [0x1019917c]
xor edx, edx
movaps xmm0, xmmword [0x10183360]
mov ecx, dword [eax + 4]
movups xmmword [ebp - 0x14], xmm0
mov byte [ebp - 4], 0
nop
mov al, byte [ebp - 0x14]
xor byte [ebp + edx - 0x13], al
inc edx
cmp edx, 0xe
jb 0x1000a770
mov word [ebp - 5], 0x100
lea edx, [ebp - 0x13]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x19c]
call eax
mov eax, dword [0x1019917c]
xor edx, edx
movaps xmm0, xmmword [0x10183340]
mov ecx, dword [eax + 4]
movups xmmword [ebp - 0x14], xmm0
mov byte [ebp - 4], 0
nop word [eax + eax]
mov al, byte [ebp - 0x14]
xor byte [ebp + edx - 0x13], al
inc edx
cmp edx, 0xe
jb 0x1000a7b0
mov word [ebp - 5], 0x100
lea edx, [ebp - 0x13]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x19c]
call eax
mov eax, dword [0x1019917c]
xor edx, edx
movaps xmm0, xmmword [0x101832e0]
mov ecx, dword [eax + 4]
movups xmmword [ebp - 0x14], xmm0
mov byte [ebp - 4], 0
nop word [eax + eax]
mov al, byte [ebp - 0x14]
xor byte [ebp + edx - 0x13], al
inc edx
cmp edx, 0xe
jb 0x1000a7f0
mov word [ebp - 5], 0x100
lea edx, [ebp - 0x13]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x19c]
call eax
mov eax, dword [0x1019917c]
xor edx, edx
movaps xmm0, xmmword [0x10183330]
mov ecx, dword [eax + 4]
movups xmmword [ebp - 0x14], xmm0
mov byte [ebp - 4], 0
nop word [eax + eax]
mov al, byte [ebp - 0x14]
xor byte [ebp + edx - 0x13], al
inc edx
cmp edx, 0xe
jb 0x1000a830
mov word [ebp - 5], 0x100
lea edx, [ebp - 0x13]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x19c]
call eax
mov byte [0x1018e4fc], 0
cmp byte [0x1018e4fd], 0
jne 0x1000a8cd
mov eax, dword [0x10199194]
mov byte [0x1018e4fd], 1
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x2c], 0x3f800000
mov dword [eax + 0x30], 1
mov byte [0x1018e885], 0
mov esp, ebp
pop ebp
ret
cmp byte [0x1018e4fd], 0
jne 0x1000a8b6
mov eax, dword [0x10199194]
mov eax, dword [eax + 0x1c]
mov dword [eax + 0x2c], 0x3f800000
mov dword [eax + 0x30], 1
mov byte [0x1018e885], 0
mov byte [0x1018e4fd], 1
cmp byte [0x1018e4fc], 0
jne 0x1000a8cd
mov byte [0x1018e4fc], 1
mov byte [0x1018e885], 0
mov esp, ebp
pop ebp
ret