Function at 0x100aacf0
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x10160e38
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov dl, byte [0x1018ca6c]
push ebx
push esi
inc dl
push edi
mov dword [esp + 0x10], ecx
mov byte [0x1018ca6c], dl
call fcn.100aa830
test al, al
jne 0x100aad38
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret
mov al, byte [0x101972e4]
mov word [esp + 0x1c], 0x71
test al, 1
mov word [esp + 0x1e], 4
mov word [esp + 0x20], 0x3f
mov word [esp + 0x22], 0xf
mov word [esp + 0x24], 0x19
mov word [esp + 0x26], 0xd
jne 0x100aad92
mov bl, al
lea eax, [esp + 0x1c]
or bl, 1
push eax
mov ecx, 0x101972e8
mov byte [0x101972e4], bl
call fcn.10015730
push 0x100877a0
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0xf]
mov edi, dword [0x101972e8]
xor ebx, ebx
mov byte [esp + 0x28], cl
push ebx
lea ecx, [esp + 0x2c]
call fcn.1000bc70
push edi
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x28]
push 1
push esi
call fcn.1000c010
test al, al
je 0x100aade2
mov edx, dword [esp + 0x2c]
push esi
push edi
push edx
call fcn.100017d0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], esi
add esp, 0xc
mov word [eax + esi*2], bx
lea ecx, [esp + 0x28]
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x74], ebx
call fcn.100303e0
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 2
call fcn.1000bc70
mov eax, 0x43
cdq
idiv dword [0x1018ca48]
mov eax, dword [0x1018ca44]
mov cl, byte [edx + eax]
add cl, 0x76
mov byte [0x1018ca6c], cl
mov ecx, dword [esp + 0x10]
call fcn.100aa830
test al, al
jne 0x100aae55
lea ecx, [esp + 0x14]
mov dword [esp + 0x6c], 0xffffffff
call fcn.10030510
pop edi
pop esi
xor al, al
pop ebx
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret
mov eax, 0x6c
mov ecx, 0x68
mov word [esp + 0x38], ax
mov word [esp + 0x4e], ax
mov word [esp + 0x54], ax
mov word [esp + 0x62], ax
mov al, byte [0x10196e3c]
mov word [esp + 0x40], cx
mov word [esp + 0x4a], cx
mov esi, 0x7c
mov edx, 0x56
mov ecx, 0x7d
test al, 1
mov word [esp + 0x3a], 0x73
mov word [esp + 0x3c], si
mov word [esp + 0x3e], 0x65
mov word [esp + 0x42], dx
mov word [esp + 0x44], si
mov word [esp + 0x46], 0x79
mov word [esp + 0x48], 0x6d
mov word [esp + 0x4c], cx
mov word [esp + 0x50], dx
mov word [esp + 0x52], 0x67
mov word [esp + 0x56], 0x71
mov word [esp + 0x58], cx
mov word [esp + 0x5a], dx
mov word [esp + 0x5c], cx
mov word [esp + 0x5e], 0x60
mov word [esp + 0x60], 0x64
jne 0x100aaf55
or al, 1
push 0x2e
mov byte [0x10196e3c], al
call fcn.1013c2df
add esp, 4
mov dword [0x10196e40], eax
xor esi, esi
mov di, word [esp + esi + 0x38]
push 9
mov edx, edi
mov ecx, 0x10196e40
and edx, 0xffff
push edx
call fcn.100a8ee0
mov ecx, dword [0x10196e40]
add eax, 9
xor eax, edi
mov word [esi + ecx], ax
add esi, 2
cmp esi, 0x2c
jb 0x100aaf0d
mov edx, dword [0x10196e40]
push 0x100ac470
mov word [edx + 0x2c], bx
call fcn.1013c36b
add esp, 4
mov esi, dword [0x10196e40]
mov al, byte [esp + 0xf]
push esi
mov byte [esp + 0x2c], al
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x28]
push eax
push esi
call fcn.1000bf40
mov esi, dword [0x10191a54]
push ebx
mov byte [esp + 0x70], 3
call fcn.1013c3ac
add esp, 4
add eax, 0x2a30
lea ecx, [esp + 0x28]
push eax
push ecx
mov ecx, esi
call fcn.10058e60
mov ecx, eax
call fcn.10067f30
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x6c], 2
cmp ecx, ebx
je 0x100aafdb
mov al, byte [ecx - 1]
cmp al, bl
je 0x100aafcf
cmp al, 0xff
je 0x100aafcf
dec al
mov byte [ecx - 1], al
jmp 0x100aafdb
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov edx, dword [esp + 0x10]
mov ecx, dword [0x10191a54]
push 0xffffffffffffffff
push edx
call fcn.10058e40
mov ecx, eax
call fcn.10055d20
mov al, byte [0x1018ca6c]
lea ecx, [esp + 0x14]
mov byte [0x1018ca6d], al
dec al
mov byte [0x1018ca6c], al
mov dword [esp + 0x6c], 0xffffffff
call fcn.10030510
mov ecx, dword [esp + 0x64]
pop edi
pop esi
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x64
ret