Function at 0x9afcf2
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa93cd1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x198
push esi
mov esi, ecx
mov byte [ebp - 0x16], dl
mov dword [ebp - 0x20], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 0
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], 0x1004532
lea eax, [ecx + 0x6e]
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 2
jb 0x9afd32
lea ecx, [ebp - 0x14]
mov byte [ebp - 0x11], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9afd50
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebx + 0x1c]
sub eax, edx
cmp eax, ecx
jb 0x9b00c2
cmp dword [ebx + 0x20], 0x10
lea eax, [ebx + 0xc]
push ecx
cmovae eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x14]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x50]
call fcn.009fca20
cmp dword [ebp - 0x3c], 0x10
lea ecx, [ebp - 0x1a8]
lea eax, [ebp - 0x50]
mov dword [ebp - 0x1c], 3
cmovae eax, dword [ebp - 0x50]
push ecx
push eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x3c]
mov edi, eax
cmp edi, 0xffffffff
sete al
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x9afdeb
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9afdde
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9b00c7
push ecx
push edx
call fcn.00a6c232
mov al, byte [ebp - 0x15]
add esp, 8
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
test al, al
je 0x9afe50
mov ecx, dword [ebx + 0x20]
cmp ecx, 0x10
jb 0x9afe35
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9afe2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9b00bd
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp byte [ebp - 0x16], 0
jne 0x9afe65
test byte [ebp - 0x1a8], 0x10
jne 0x9b005f
jmp 0x9afe72
test byte [ebp - 0x1a8], 0x10
je 0x9b005f
lea eax, [ebp - 0x17c]
lea edx, [eax + 1]
nop dword [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x9afe80
mov cl, byte [ebp - 0x17c]
sub eax, edx
cmp eax, 1
jne 0x9afe9d
cmp cl, 0x2e
je 0x9b005f
cmp eax, 2
jne 0x9afeb3
cmp cl, 0x2e
jne 0x9afeb3
cmp byte [ebp - 0x17b], cl
je 0x9b005f
cmp byte [ebx + 8], 0
je 0x9affcb
lea ecx, [ebp - 0x13]
mov word [ebp - 0x13], 0x5c
mov byte [ebp - 0x11], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9afed0
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebx + 0x1c]
sub eax, edx
cmp eax, ecx
jb 0x9b00c2
cmp dword [ebx + 0x20], 0x10
lea eax, [ebx + 0xc]
push ecx
cmovae eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x13]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x68]
call fcn.009fca20
or dword [ebp - 0x1c], 4
lea eax, [ebp - 0x17c]
mov dword [ebp - 4], 2
push eax
lea ecx, [ebp - 0x68]
call fcn.009f4e20
or dword [ebp - 0x1c], 8
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x38], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x28], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 3
push eax
mov ecx, esi
call fcn.009f3db0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x9aff90
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9aff86
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9b00c7
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x54]
cmp ecx, 0x10
jb 0x9b005f
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9b0055
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9b00c7
jmp 0x9b0055
push eax
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push eax
lea ecx, [ebp - 0x38]
movups xmmword [ebp - 0x38], xmm0
call fcn.00992810
mov dword [ebp - 4], 4
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
je 0x9b001f
movups xmm0, xmmword [ebp - 0x38]
mov ecx, 0xf
mov byte [ebp - 0x38], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x28]
movq qword [eax + 0x10], xmm0
add dword [esi + 4], 0x18
jmp 0x9b002e
lea ecx, [ebp - 0x38]
push ecx
push eax
mov ecx, esi
call fcn.00a01bd0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 1
cmp ecx, 0x10
jb 0x9b005f
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9b0055
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9b00bd
push ecx
push edx
call fcn.00a6c232
add esp, 8
lea eax, [ebp - 0x1a8]
push eax
push edi
nop
nop
nop
nop
nop
nop
test eax, eax
jne 0x9afe50
nop
nop
nop
nop
nop
nop
cmp eax, 0x12
jne 0x9afe50
push edi
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebx + 0x20]
cmp ecx, 0x10
jb 0x9afe35
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9afe2b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x9afe2b
call fcn.00a714d0
call fcn.00992040
call fcn.00a714d0
int3