Function at 0x10027284c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
lea rax, [rsp + 0x20]
lea r9, [rdx + 0x10]
lea r8, [rsp + 0x20]
sub rdx, rax
mov r10d, 2
nop dword [rax]
mov rax, qword [rdx + r8]
add r8, 0x20
add r9, 0x20
bswap rax
ror rax, 0x20
mov qword [r8 - 0x30], rax
mov rax, qword [r9 - 0x28]
bswap rax
ror rax, 0x20
mov qword [r8 - 0x28], rax
mov rax, qword [r9 - 0x20]
bswap rax
ror rax, 0x20
mov qword [r8 - 0x20], rax
mov rax, qword [r9 - 0x18]
bswap rax
ror rax, 0x20
sub r10, 1
mov qword [r8 - 0x18], rax
jne 0x10027287b
mov eax, dword [rcx]
mov r15d, dword [rcx + 4]
mov edi, dword [rcx + 8]
mov esi, dword [rcx + 0xc]
mov ebp, dword [rcx + 0x10]
mov r12d, dword [rcx + 0x14]
mov r11d, dword [rcx + 0x18]
mov ebx, dword [rcx + 0x1c]
mov dword [rsp + 0xb8], eax
mov r14d, eax
xor r13d, r13d
lea r9, [0x10000f850]
nop dword [rax + rax]
mov eax, ebp
mov r8d, ebp
mov ecx, ebp
ror r8d, 0x19
ror eax, 0xb
not ecx
xor r8d, eax
and ecx, r11d
mov eax, ebp
ror eax, 6
mov r10d, r15d
xor r8d, eax
and r10d, r14d
mov eax, r12d
and eax, ebp
xor ecx, eax
mov eax, r14d
add r8d, ecx
mov ecx, r14d
add r8d, dword [r9 + r13*4]
mov r9d, r15d
add r8d, dword [rsp + r13*4 + 0x10]
xor r9d, r14d
inc r13d
add r8d, ebx
mov ebx, r9d
add esi, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
and ebx, edi
mov eax, r14d
ror eax, 2
xor ebx, r10d
xor ecx, eax
lea eax, [r8 + rcx]
mov r8d, esi
mov ecx, esi
add ebx, eax
ror r8d, 0x19
not ecx
and ecx, r12d
mov eax, esi
ror eax, 0xb
xor r8d, eax
mov eax, esi
ror eax, 6
xor r8d, eax
mov eax, ebp
and eax, esi
xor ecx, eax
lea rax, [0x10000f850]
add r8d, ecx
mov ecx, ebx
add r8d, dword [rax + r13*4]
mov eax, ebx
add r8d, dword [rsp + r13*4 + 0x10]
inc r13d
add r8d, r11d
mov r11d, r9d
add edi, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
and r11d, ebx
mov eax, ebx
ror eax, 2
xor r11d, r10d
xor ecx, eax
lea eax, [r8 + rcx]
mov r8d, edi
mov ecx, edi
add r11d, eax
ror r8d, 0x19
mov eax, edi
ror eax, 0xb
not ecx
xor r8d, eax
mov eax, edi
ror eax, 6
xor r8d, eax
and ecx, ebp
lea r9, [0x10000f850]
mov eax, esi
and eax, edi
xor ecx, eax
mov eax, r11d
add r8d, ecx
mov ecx, r11d
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
inc r13d
add r8d, r12d
mov r12d, r11d
add r15d, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor r12d, r14d
mov eax, r11d
ror eax, 2
and r12d, ebx
xor ecx, eax
mov eax, r11d
and eax, r14d
xor r12d, eax
lea eax, [r8 + rcx]
mov r8d, r15d
add r12d, eax
ror r8d, 0x19
mov eax, r15d
ror eax, 0xb
mov ecx, r15d
xor r8d, eax
not ecx
mov eax, r15d
ror eax, 6
and ecx, esi
xor r8d, eax
mov eax, edi
and eax, r15d
xor ecx, eax
mov eax, r12d
add r8d, ecx
mov ecx, r12d
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
inc r13d
add r8d, ebp
mov ebp, r11d
add r14d, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor ebp, r12d
mov eax, r12d
ror eax, 2
and ebp, ebx
xor ecx, eax
mov eax, r11d
and eax, r12d
xor ebp, eax
lea eax, [r8 + rcx]
mov r8d, r14d
add ebp, eax
ror r8d, 0x19
mov eax, r14d
ror eax, 0xb
mov ecx, r14d
xor r8d, eax
not ecx
mov eax, r14d
ror eax, 6
and ecx, edi
xor r8d, eax
mov eax, r15d
and eax, r14d
xor ecx, eax
add r8d, ecx
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
add r8d, esi
add ebx, r8d
inc r13d
mov esi, r12d
xor esi, ebp
mov ecx, ebp
mov eax, ebp
ror ecx, 0x16
ror eax, 0xd
and esi, r11d
xor ecx, eax
mov eax, ebp
ror eax, 2
xor ecx, eax
mov eax, r12d
and eax, ebp
xor esi, eax
lea eax, [r8 + rcx]
mov r8d, ebx
add esi, eax
ror r8d, 0x19
mov eax, ebx
ror eax, 0xb
mov ecx, ebx
xor r8d, eax
not ecx
mov eax, ebx
ror eax, 6
and ecx, r15d
xor r8d, eax
mov eax, ebx
and eax, r14d
xor ecx, eax
mov eax, esi
add r8d, ecx
mov ecx, esi
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
inc r13d
add r8d, edi
mov edi, ebp
add r11d, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor edi, esi
mov eax, esi
ror eax, 2
and edi, r12d
xor ecx, eax
mov eax, ebp
and eax, esi
xor edi, eax
lea eax, [r8 + rcx]
mov r8d, r11d
add edi, eax
ror r8d, 0x19
mov eax, r11d
ror eax, 0xb
mov ecx, r11d
xor r8d, eax
not ecx
mov eax, r11d
ror eax, 6
and ecx, r14d
xor r8d, eax
mov eax, ebx
and eax, r11d
xor ecx, eax
mov eax, edi
add r8d, ecx
mov ecx, edi
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
add r8d, r15d
add r12d, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
mov eax, edi
ror eax, 2
xor ecx, eax
inc r13d
mov r15d, esi
mov eax, esi
and eax, edi
xor r15d, edi
and r15d, ebp
xor r15d, eax
lea eax, [r8 + rcx]
mov r8d, r12d
add r15d, eax
ror r8d, 0x19
mov eax, r12d
ror eax, 0xb
mov ecx, r12d
xor r8d, eax
not ecx
mov eax, r12d
ror eax, 6
and ecx, ebx
xor r8d, eax
mov eax, r11d
and eax, r12d
xor ecx, eax
mov eax, r15d
add r8d, ecx
mov ecx, r15d
add r8d, dword [r9 + r13*4]
add r8d, dword [rsp + r13*4 + 0x10]
inc r13d
add r8d, r14d
mov r14d, edi
add ebp, r8d
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor r14d, r15d
mov eax, r15d
ror eax, 2
and r14d, esi
xor ecx, eax
mov eax, edi
and eax, r15d
xor r14d, eax
lea eax, [r8 + rcx]
add r14d, eax
cmp r13d, 0x10
jb 0x1002728f7
mov dword [rsp + 0xb0], r11d
cmp r13d, 0x40
jae 0x100273295
lea eax, [r13 + 1]
mov qword [rsp], rax
nop
and eax, 0xf
mov r9d, r13d
mov r8d, dword [rsp + rax*4 + 0x10]
and r9d, 0xf
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
mov ecx, ebp
add edx, dword [rsp + rax*4 + 0x10]
not ecx
mov eax, ebp
add dword [rsp + r9*4 + 0x10], edx
and ecx, r11d
mov edx, ebp
ror edx, 0x19
ror eax, 0xb
mov r11d, r15d
xor edx, eax
xor r11d, r14d
mov eax, ebp
ror eax, 6
mov r8d, r11d
xor edx, eax
and r8d, edi
mov eax, r12d
and eax, ebp
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, r14d
add edx, dword [rax + r13*4]
inc r13d
mov eax, r14d
add edx, dword [rsp + r9*4 + 0x10]
mov r9d, r13d
add edx, ebx
and r9d, 0xf
mov ebx, r15d
add esi, edx
and ebx, r14d
ror ecx, 0x16
ror eax, 0xd
xor r8d, ebx
xor ecx, eax
mov eax, r14d
ror eax, 2
xor ecx, eax
lea eax, [rcx + rdx]
add r8d, eax
mov rax, qword [rsp]
inc eax
mov dword [rsp + 0xa8], r8d
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov edx, ecx
mov eax, ecx
ror edx, 0x13
ror eax, 0x11
xor edx, eax
shr ecx, 0xa
xor edx, ecx
mov eax, r8d
mov ecx, r8d
ror ecx, 0x12
ror eax, 7
shr r8d, 3
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
mov r8d, dword [rsp + 0xa8]
add edx, ecx
and r11d, r8d
mov ecx, esi
add edx, dword [rsp + rax*4 + 0x10]
not ecx
xor r11d, ebx
add dword [rsp + r9*4 + 0x10], edx
and ecx, r12d
mov eax, esi
mov edx, esi
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
mov eax, ebp
and eax, esi
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, r8d
add edx, dword [rax + r13*4]
inc r13d
mov eax, r8d
add edx, dword [rsp + r9*4 + 0x10]
mov r9d, r13d
add edx, dword [rsp + 0xb0]
and r9d, 0xf
add edi, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
mov eax, r8d
ror eax, 2
xor ecx, eax
lea eax, [rcx + rdx]
add r11d, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
add edx, dword [rsp + rax*4 + 0x10]
mov eax, edi
add dword [rsp + r9*4 + 0x10], edx
mov edx, edi
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov ebx, dword [rsp + 0xa8]
mov eax, edi
mov ecx, edi
ror eax, 6
not ecx
xor edx, eax
and ecx, ebp
mov eax, esi
and eax, edi
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, r11d
add edx, dword [rax + r13*4]
inc r13d
mov eax, r11d
add edx, dword [rsp + r9*4 + 0x10]
mov r9d, r13d
add edx, r12d
and r9d, 0xf
mov r12d, r11d
add r15d, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor r12d, r14d
mov eax, r11d
ror eax, 2
and r12d, ebx
xor ecx, eax
mov eax, r11d
and eax, r14d
xor r12d, eax
lea eax, [rcx + rdx]
add r12d, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
mov ecx, r15d
add edx, dword [rsp + rax*4 + 0x10]
mov eax, r15d
not ecx
add dword [rsp + r9*4 + 0x10], edx
and ecx, esi
mov edx, r15d
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, r15d
ror eax, 6
xor edx, eax
mov eax, edi
and eax, r15d
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
add edx, dword [rax + r13*4]
add edx, dword [rsp + r9*4 + 0x10]
add edx, ebp
add r14d, edx
inc r13d
mov eax, r12d
mov r9d, r13d
mov ecx, r12d
mov ebp, r11d
ror ecx, 0x16
ror eax, 0xd
xor ebp, r12d
xor ecx, eax
and ebp, ebx
and r9d, 0xf
mov eax, r12d
ror eax, 2
xor ecx, eax
mov eax, r11d
and eax, r12d
xor ebp, eax
lea eax, [rcx + rdx]
add ebp, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
mov ecx, r14d
add edx, dword [rsp + rax*4 + 0x10]
not ecx
mov eax, r14d
add dword [rsp + r9*4 + 0x10], edx
and ecx, edi
mov edx, r14d
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, r14d
ror eax, 6
xor edx, eax
mov eax, r15d
and eax, r14d
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, ebp
add edx, dword [rax + r13*4]
mov eax, ebp
add edx, dword [rsp + r9*4 + 0x10]
add edx, esi
mov esi, r12d
add ebx, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor esi, ebp
mov eax, ebp
ror eax, 2
and esi, r11d
xor ecx, eax
mov eax, r12d
and eax, ebp
xor esi, eax
lea eax, [rcx + rdx]
inc r13d
add esi, eax
mov rax, qword [rsp]
mov r9d, r13d
inc eax
and r9d, 0xf
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov eax, ecx
mov edx, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
mov ecx, ebx
add edx, dword [rsp + rax*4 + 0x10]
not ecx
mov eax, ebx
add dword [rsp + r9*4 + 0x10], edx
and ecx, r15d
mov edx, ebx
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, ebx
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, r14d
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, esi
add edx, dword [rax + r13*4]
mov eax, esi
inc r13d
add edx, dword [rsp + r9*4 + 0x10]
mov r9d, r13d
add edx, edi
mov edi, ebp
add r11d, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor edi, esi
mov eax, esi
ror eax, 2
and edi, r12d
mov dword [rsp + 0xb0], r11d
xor ecx, eax
mov eax, ebp
and eax, esi
xor edi, eax
lea eax, [rcx + rdx]
add edi, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
and r9d, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov edx, ecx
ror edx, 0x13
mov eax, ecx
shr ecx, 0xa
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
and eax, 0xf
xor ecx, r8d
add edx, ecx
mov ecx, r11d
add edx, dword [rsp + rax*4 + 0x10]
not ecx
mov eax, r11d
add dword [rsp + r9*4 + 0x10], edx
and ecx, r14d
mov edx, r11d
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, r11d
ror eax, 6
xor edx, eax
mov eax, ebx
and eax, r11d
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, edi
add edx, dword [rax + r13*4]
inc r13d
mov eax, edi
add edx, dword [rsp + r9*4 + 0x10]
mov r9d, r13d
add edx, r15d
and r9d, 0xf
mov r15d, esi
add r12d, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor r15d, edi
mov eax, edi
ror eax, 2
and r15d, ebp
xor ecx, eax
mov eax, esi
and eax, edi
xor r15d, eax
lea eax, [rcx + rdx]
add r15d, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
and eax, 0xf
mov r8d, dword [rsp + rax*4 + 0x10]
lea eax, [r13 - 2]
and eax, 0xf
mov ecx, dword [rsp + rax*4 + 0x10]
mov edx, ecx
mov eax, ecx
shr ecx, 0xa
ror edx, 0x13
ror eax, 0x11
xor edx, eax
mov eax, r8d
xor edx, ecx
mov ecx, r8d
shr r8d, 3
ror ecx, 0x12
ror eax, 7
xor ecx, eax
lea eax, [r13 - 7]
xor ecx, r8d
add edx, ecx
and eax, 0xf
mov ecx, r12d
add edx, dword [rsp + rax*4 + 0x10]
not ecx
mov eax, r12d
add dword [rsp + r9*4 + 0x10], edx
and ecx, ebx
mov edx, r12d
ror edx, 0x19
ror eax, 0xb
xor edx, eax
mov eax, r12d
ror eax, 6
xor edx, eax
mov eax, r11d
and eax, r12d
xor ecx, eax
lea rax, [0x10000f850]
add edx, ecx
mov ecx, r15d
add edx, dword [rax + r13*4]
mov eax, r15d
inc r13d
add edx, dword [rsp + r9*4 + 0x10]
add edx, r14d
mov r14d, edi
add ebp, edx
ror ecx, 0x16
ror eax, 0xd
xor ecx, eax
xor r14d, r15d
mov eax, r15d
ror eax, 2
and r14d, esi
xor ecx, eax
mov eax, edi
and eax, r15d
xor r14d, eax
lea eax, [rcx + rdx]
add r14d, eax
mov rax, qword [rsp]
inc eax
mov qword [rsp], rax
cmp eax, 0x41
jb 0x100272c57
mov rcx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0xb8]
add eax, r14d
mov dword [rcx], eax
mov eax, dword [rcx + 4]
add eax, r15d
mov dword [rcx + 4], eax
mov eax, dword [rcx + 8]
add eax, edi
mov dword [rcx + 8], eax
mov eax, dword [rcx + 0xc]
add eax, esi
mov dword [rcx + 0xc], eax
mov eax, dword [rcx + 0x10]
add eax, ebp
mov dword [rcx + 0x10], eax
mov eax, dword [rcx + 0x14]
add eax, r12d
mov dword [rcx + 0x14], eax
mov eax, dword [rcx + 0x18]
add eax, r11d
mov dword [rcx + 0x18], eax
mov eax, dword [rcx + 0x1c]
add eax, ebx
mov dword [rcx + 0x1c], eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret