Function at 0x1001a889
Capabilities:
Encode data using xor

Disassembly:
push 0x44
mov eax, 0x10051dd4
call fcn.100505ae
movaps xmm0, xmmword [0x1005a4b0]
xor ecx, ecx
push 0x4f
pop ebx
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0x495c4a56
mov byte [ebp - 0x28], bl
mov byte [ebp - 0x27], 0x7f
mov byte [ebp - 0x26], bl
mov dword [ebp - 0x25], 0x29334c51
mov dword [ebp - 0x21], 0x362a23
mov byte [ebp - 0x1d], 1
lea eax, [ecx + 0x27]
xor byte [ebp + ecx - 0x3c], al
inc ecx
cmp ecx, 0x1e
jb 0x1001a8c8
push 0x1c
mov byte [ebp - 0x1d], 0
xor edx, edx
pop ecx
mov al, byte [edx + str.Hdnz]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x18], al
and ecx, 0x800000ff
jns 0x1001a8fb
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 4
jl 0x1001a8de
mov byte [ebp - 0x14], 0
and dword [ebp - 4], 0
lea eax, [ebp - 0x3c]
push ecx
push eax
mov edx, 0x100d5878
lea ecx, [ebp - 0x18]
call fcn.1003451c
movaps xmm0, xmmword [0x1005a4c0]
pop ecx
movups xmmword [ebp - 0x44], xmm0
pop ecx
movaps xmm0, xmmword [0x10059f80]
xor ecx, ecx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0x4a0e2c29
mov dword [ebp - 0x20], 0x2a232d03
mov word [ebp - 0x1c], 0xb
mov byte [ebp - 0x1a], 1
lea eax, [ecx + 0x27]
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0x29
jb 0x1001a94d
push 5
mov byte [ebp - 0x1a], 0
xor ecx, ecx
pop esi
mov al, byte [ecx + 0x10054df4]
xor al, bl
inc ebx
mov byte [ebp + ecx - 0x18], al
and ebx, 0x800000ff
jns 0x1001a980
dec ebx
or ebx, 0xffffff00
inc ebx
inc ecx
cmp ecx, esi
jl 0x1001a963
xor ebx, ebx
mov byte [ebp - 0x13], bl
push ecx
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 1
push eax
mov edx, 0x100d5868
lea ecx, [ebp - 0x18]
call fcn.1003451c
movaps xmm0, xmmword [0x1005a530]
pop ecx
movups xmmword [ebp - 0x44], xmm0
pop ecx
movaps xmm0, xmmword [0x10059f90]
mov ecx, ebx
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0x2490f23
mov dword [ebp - 0x20], 0xa29222a
mov word [ebp - 0x1c], 0x100
lea eax, [ecx + 0x27]
xor byte [ebp + ecx - 0x44], al
inc ecx
cmp ecx, 0x28
jb 0x1001a9d1
push 0x7c
mov byte [ebp - 0x1b], bl
mov edx, ebx
pop ecx
mov al, byte [edx + 0x10054dfc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x18], al
and ecx, 0x800000ff
jns 0x1001aa03
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, esi
jl 0x1001a9e6
mov byte [ebp - 0x13], bl
push ecx
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 2
push eax
mov edx, 0x100d5870
lea ecx, [ebp - 0x18]
call fcn.1003451c
pop ecx
pop ecx
push 0x5e
pop ecx
push 3
mov edx, ebx
pop edi
mov al, byte [edx + 0x10054e04]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x50], al
and ecx, 0x800000ff
jns 0x1001aa4b
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, edi
jl 0x1001aa2e
mov byte [ebp - 0x4d], bl
push ecx
push 0xa6
push 0x1005f9d0
push 0x100343dd
mov edx, 0x1005f0c8
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x50]
call fcn.10034438
add esp, 0x10
mov ecx, 0xe6
mov edx, ebx
mov al, byte [edx + 0x10054e08]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x4c], al
and ecx, 0x800000ff
jns 0x1001aa9a
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 7
jl 0x1001aa7d
mov byte [ebp - 0x45], bl
push 4
pop ecx
push ecx
mov dword [ebp - 4], ecx
lea eax, [ebp - 0x50]
and dword [ebp - 0x18], 0
mov edx, ecx
mov dword [esp], 0x3f800000
lea ecx, [ebp - 0x4c]
push str._.3f
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x50], 0x3f800000
push eax
push 0x1005f0d0
call fcn.1002f4e8
add esp, 0x14
mov ecx, 0x94
mov edx, ebx
mov al, byte [edx + 0x10054e10]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x50], al
and ecx, 0x800000ff
jns 0x1001aaff
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, edi
jl 0x1001aae2
mov byte [ebp - 0x4d], bl
push ecx
push 0x168
mov edi, 0x1005f0c4
mov dword [ebp - 4], esi
push ebx
mov edx, edi
lea ecx, [ebp - 0x50]
call fcn.1002f872
add esp, 0xc
mov ecx, 0xe1
mov esi, ebx
mov al, byte [esi + 0x10054e14]
xor al, cl
inc ecx
mov byte [ebp + esi - 0x18], al
and ecx, 0x800000ff
jns 0x1001ab47
dec ecx
or ecx, 0xffffff00
inc ecx
inc esi
cmp esi, 4
jl 0x1001ab2a
mov byte [ebp - 0x14], bl
sub esp, 0xc
mov dword [ebp - 4], 6
mov edx, edi
lea ecx, [ebp - 0x18]
call fcn.10033e5e
add esp, 0xc
call fcn.1005056c
ret