Function at 0x1400171e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x10
mov r9d, dword [rdx + 8]
lea rsi, [0x140000000]
xor r9d, dword [rcx + 0xc]
mov r15, rcx
mov ebx, dword [rdx]
mov r12, r8
xor ebx, dword [rcx + 4]
mov r11d, dword [rdx + 4]
xor r11d, dword [rcx + 8]
mov r10d, dword [rdx + 0xc]
xor r10d, dword [rcx + 0x10]
mov eax, r9d
shr rax, 0x18
movzx edi, byte [rax + rsi + 0x48440]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rsi + 0x48640]
xor edi, eax
mov eax, r9d
shr eax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rsi + 0x48540]
xor edi, eax
movzx eax, r9b
shl edi, 8
movzx eax, byte [rax + rsi + 0x48340]
xor edi, eax
mov eax, r10d
shr rax, 0x18
movzx edx, byte [rax + rsi + 0x48440]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rsi + 0x48640]
xor edx, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rsi + 0x48540]
xor edx, eax
movzx eax, r10b
shl edx, 8
movzx eax, byte [rax + rsi + 0x48340]
xor edx, eax
mov eax, r11d
shr rax, 0x18
movzx r8d, byte [rax + rsi + 0x48440]
mov eax, r11d
shr eax, 0x10
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + rsi + 0x48640]
xor r8d, eax
mov eax, r11d
shr eax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + rsi + 0x48540]
xor r8d, eax
movzx eax, r11b
shl r8d, 8
movzx eax, byte [rax + rsi + 0x48340]
xor r8d, eax
mov eax, ebx
shr rax, 0x18
movzx ebp, byte [rax + rsi + 0x48440]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + rsi + 0x48640]
xor ebp, eax
mov eax, ebx
shl ebp, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + rsi + 0x48540]
mov r9d, edx
xor ebp, eax
shl edx, 0x10
shr r9d, 0x10
mov r14d, edi
xor r9d, edx
shr r14d, 8
mov edx, r9d
shl ebp, 8
mov r11d, r9d
movzx eax, bl
mov ebx, r9d
shr r11d, 8
and r11d, 0xff00ff
movzx eax, byte [rax + rsi + 0x48340]
mov esi, r8d
xor ebp, eax
shr esi, 0x10
mov eax, r8d
mov r10d, ebp
shl eax, 0x10
xor esi, eax
shr r10d, 0x10
mov eax, edi
shl edi, 8
shl eax, 8
xor r14d, eax
mov eax, ebp
shl eax, 0x10
and r14d, 0xff00ff
xor r10d, eax
xor r14d, edi
xor r8d, r14d
mov ecx, r14d
xor edx, r8d
shr ecx, 0x10
shl edx, 8
mov eax, r8d
shr eax, 8
xor edx, eax
mov eax, r9d
xor eax, r8d
and edx, 0xff00ff
shl eax, 8
xor edx, eax
mov eax, r14d
shl eax, 0x10
xor edx, r11d
xor ecx, eax
xor edx, r10d
xor r9d, ecx
mov eax, esi
shl eax, 8
mov r8d, r9d
shr r8d, 0x10
mov ecx, esi
shr ecx, 8
xor ecx, eax
mov eax, esi
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
mov eax, edx
xor eax, r9d
xor r10d, ecx
shl r9d, 0x10
xor ebp, eax
xor r8d, r9d
mov r9d, edx
xor r8d, edx
shr r9d, 0x10
shl edx, 0x10
xor r9d, edx
mov ecx, r9d
mov eax, r9d
shl eax, 8
shr ecx, 8
xor ecx, eax
mov eax, r9d
and ecx, 0xff00ff
xor ebp, dword [r15 + 0x18]
mov edx, r10d
shl eax, 8
mov r13d, 2
xor ecx, eax
shr edx, 0x10
xor ecx, r10d
mov eax, r8d
xor r14d, ecx
shl eax, 8
xor r14d, dword [r15 + 0x20]
mov ecx, r8d
shr ecx, 8
xor ecx, eax
shl r8d, 8
and ecx, 0xff00ff
shl r10d, 0x10
xor ecx, r8d
xor edx, r10d
xor ecx, dword [r15 + 0x14]
mov eax, edx
xor esi, ecx
shr eax, 8
mov r8d, ebx
mov ecx, esi
shr ecx, 0x10
xor r8d, edx
shl r8d, 8
xor ebx, edx
movzx edx, cl
xor r8d, eax
and r8d, 0xff00ff
shl ebx, 8
xor r8d, ebx
mov eax, esi
xor r8d, dword [r15 + 0x1c]
lea rbx, [0x140000000]
movzx ecx, byte [rdx + rbx + 0x48340]
xor r8d, r11d
xor r8d, r9d
shr rax, 0x18
movzx eax, byte [rax + rbx + 0x48540]
shl eax, 8
xor eax, ecx
mov ecx, esi
shr ecx, 8
movzx edx, cl
shl eax, 8
movzx ecx, byte [rdx + rbx + 0x48440]
xor eax, ecx
movzx ecx, sil
shl eax, 8
movzx ecx, byte [rcx + rbx + 0x48640]
xor eax, ecx
mov ecx, ebp
shr rcx, 0x18
movzx r9d, byte [rcx + rbx + 0x48540]
mov ecx, ebp
shr ecx, 0x10
movzx edx, cl
shl r9d, 8
movzx ecx, byte [rdx + rbx + 0x48340]
xor r9d, ecx
mov ecx, ebp
shr ecx, 8
movzx edx, cl
shl r9d, 8
movzx ecx, byte [rdx + rbx + 0x48440]
xor r9d, ecx
movzx ecx, bpl
lea rbp, [0x140000000]
shl r9d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx r11d, byte [rcx + rbp + 0x48540]
mov ecx, r8d
shl r11d, 8
shr ecx, 0x10
movzx edx, cl
movzx ecx, byte [rdx + rbp + 0x48340]
xor r11d, ecx
mov ecx, r8d
shr ecx, 8
movzx edx, cl
shl r11d, 8
movzx ecx, byte [rdx + rbp + 0x48440]
xor r11d, ecx
movzx ecx, r8b
shl r11d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r11d, ecx
mov ecx, r14d
shr rcx, 0x18
movzx r8d, byte [rcx + rbp + 0x48540]
mov ecx, r14d
shr ecx, 0x10
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbp + 0x48340]
xor r8d, ecx
mov ecx, r14d
shr ecx, 8
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbp + 0x48440]
xor r8d, ecx
movzx ecx, r14b
shl r8d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r8d, ecx
movzx ecx, byte [r15]
mov qword [rsp], rcx
cmp rcx, r13
jbe 0x140017b93
lea r12, [r15 + 0x28]
mov r15d, r13d
nop dword [rax]
mov r10d, r8d
mov r14d, r9d
shl r8d, 0x10
mov ecx, r9d
shl ecx, 0x10
mov esi, r11d
shr r10d, 0x10
xor r10d, r8d
shr esi, 8
mov r8d, r10d
shr r14d, 0x10
xor r14d, ecx
mov ebx, r10d
mov ecx, r11d
shr ebx, 8
shl ecx, 8
mov edi, r10d
xor esi, ecx
shl r11d, 8
and esi, 0xff00ff
mov ecx, eax
shl ecx, 0x10
xor esi, r11d
xor r9d, esi
mov r11d, eax
xor r8d, r9d
shr r11d, 0x10
xor r11d, ecx
shl r8d, 8
mov ecx, r9d
mov edx, esi
shr ecx, 8
and ebx, 0xff00ff
xor r8d, ecx
shr edx, 0x10
mov ecx, r10d
and r8d, 0xff00ff
xor ecx, r9d
shl ecx, 8
xor r8d, ecx
mov ecx, esi
shl ecx, 0x10
xor r8d, ebx
xor edx, ecx
xor r8d, r11d
xor r10d, edx
mov ecx, r14d
shl ecx, 8
mov r9d, r10d
shr r9d, 0x10
mov edx, r14d
shr edx, 8
xor edx, ecx
mov ecx, r14d
shl ecx, 8
and edx, 0xff00ff
xor edx, ecx
mov ecx, r8d
xor ecx, r10d
xor r11d, edx
shl r10d, 0x10
xor eax, ecx
xor r9d, r10d
mov r10d, r8d
xor r9d, r8d
shr r10d, 0x10
shl r8d, 0x10
xor r10d, r8d
mov r8d, r11d
mov edx, r10d
mov ecx, r10d
shr edx, 8
shl ecx, 8
xor edx, ecx
mov ecx, r10d
and edx, 0xff00ff
shl ecx, 8
xor edx, ecx
xor edx, r11d
xor esi, edx
shr r8d, 0x10
xor esi, dword [r12 + 8]
mov edx, r9d
xor eax, dword [r12]
mov ecx, r9d
shl ecx, 8
shr edx, 8
xor edx, ecx
shl r11d, 0x10
and edx, 0xff00ff
shl r9d, 8
xor edx, dword [r12 - 4]
xor r8d, r11d
xor edx, r9d
mov ecx, r8d
shr ecx, 8
xor r14d, edx
mov edx, edi
xor edi, r8d
xor edx, r8d
shl edi, 8
shl edx, 8
xor edx, ecx
and edx, 0xff00ff
xor edx, edi
xor edx, dword [r12 + 4]
xor edx, ebx
xor edx, r10d
mov r8d, edx
mov ecx, edx
shr rcx, 0x18
movzx r10d, byte [rcx + rbp + 0x48440]
mov ecx, edx
shr ecx, 0x10
movzx edx, cl
shl r10d, 8
movzx ecx, byte [rdx + rbp + 0x48640]
xor r10d, ecx
mov ecx, r8d
shr ecx, 8
movzx edx, cl
shl r10d, 8
movzx ecx, byte [rdx + rbp + 0x48540]
xor r10d, ecx
movzx ecx, r8b
shl r10d, 8
movzx ecx, byte [rcx + rbp + 0x48340]
xor r10d, ecx
mov ecx, esi
shr rcx, 0x18
movzx r8d, byte [rcx + rbp + 0x48440]
mov ecx, esi
shr ecx, 0x10
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbp + 0x48640]
xor r8d, ecx
mov ecx, esi
shr ecx, 8
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbp + 0x48540]
xor r8d, ecx
movzx ecx, sil
shl r8d, 8
movzx ecx, byte [rcx + rbp + 0x48340]
xor r8d, ecx
mov ecx, eax
shr rcx, 0x18
movzx r11d, byte [rcx + rbp + 0x48440]
mov ecx, eax
shr ecx, 0x10
movzx edx, cl
shl r11d, 8
movzx ecx, byte [rdx + rbp + 0x48640]
xor r11d, ecx
mov ecx, eax
shr ecx, 8
movzx edx, cl
shl r11d, 8
movzx ecx, byte [rdx + rbp + 0x48540]
xor r11d, ecx
movzx ecx, al
lea rbx, [0x140000000]
shl r11d, 8
mov r9d, r8d
shr r9d, 0x10
shl r8d, 0x10
movzx eax, byte [rcx + rbp + 0x48340]
xor r9d, r8d
xor r11d, eax
mov edx, r9d
mov eax, r14d
mov esi, r11d
shr rax, 0x18
mov edi, r9d
shr esi, 0x10
movzx ebp, byte [rax + rbp + 0x48440]
mov eax, r14d
shr eax, 0x10
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + rbx + 0x48640]
xor ebp, eax
mov eax, r14d
shr eax, 8
movzx ecx, al
shl ebp, 8
movzx eax, byte [rcx + rbx + 0x48540]
xor ebp, eax
movzx eax, r14b
mov r14d, r10d
shl ebp, 8
shr r14d, 8
movzx eax, byte [rax + rbx + 0x48340]
mov ebx, r9d
xor ebp, eax
shr ebx, 8
mov eax, r11d
and ebx, 0xff00ff
shl eax, 0x10
xor esi, eax
mov eax, r10d
shl eax, 8
xor r14d, eax
shl r10d, 8
and r14d, 0xff00ff
mov eax, ebp
shl eax, 0x10
xor r14d, r10d
xor r11d, r14d
mov r10d, ebp
xor edx, r11d
shr r10d, 0x10
xor r10d, eax
shl edx, 8
mov eax, r11d
mov ecx, r14d
shr eax, 8
xor edx, eax
shr ecx, 0x10
and edx, 0xff00ff
mov eax, r9d
xor eax, r11d
shl eax, 8
xor edx, eax
mov eax, r14d
shl eax, 0x10
xor edx, ebx
xor ecx, eax
xor edx, r10d
xor r9d, ecx
mov eax, esi
shl eax, 8
mov ecx, esi
shr ecx, 8
xor ecx, eax
mov eax, esi
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
mov eax, edx
xor r10d, ecx
xor eax, r9d
mov r8d, r9d
xor ebp, eax
shr r8d, 0x10
xor ebp, dword [r12 + 0x10]
add r13d, 2
shl r9d, 0x10
add r15, 2
xor r8d, r9d
mov r9d, edx
xor r8d, edx
shr r9d, 0x10
shl edx, 0x10
xor r9d, edx
mov edx, r10d
shr edx, 0x10
mov ecx, r9d
shr ecx, 8
mov eax, r9d
shl eax, 8
xor ecx, eax
mov eax, r9d
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
mov eax, r8d
xor ecx, r10d
shl eax, 8
xor r14d, ecx
shl r10d, 0x10
xor r14d, dword [r12 + 0x18]
mov ecx, r8d
shr ecx, 8
xor edx, r10d
xor ecx, eax
shl r8d, 8
and ecx, 0xff00ff
lea r10, [0x140000000]
xor ecx, dword [r12 + 0xc]
mov eax, edx
xor ecx, r8d
shr eax, 8
xor esi, ecx
mov r8d, edi
xor r8d, edx
xor edi, edx
shl r8d, 8
mov ecx, esi
xor r8d, eax
shr ecx, 0x10
movzx edx, cl
and r8d, 0xff00ff
shl edi, 8
xor r8d, edi
mov eax, esi
xor r8d, dword [r12 + 0x14]
movzx ecx, byte [rdx + r10 + 0x48340]
xor r8d, ebx
shr rax, 0x18
xor r8d, r9d
movzx eax, byte [rax + r10 + 0x48540]
shl eax, 8
xor eax, ecx
mov ecx, esi
shr ecx, 8
movzx edx, cl
shl eax, 8
movzx ecx, byte [rdx + r10 + 0x48440]
xor eax, ecx
movzx ecx, sil
shl eax, 8
movzx ecx, byte [rcx + r10 + 0x48640]
xor eax, ecx
mov ecx, ebp
shr rcx, 0x18
movzx r9d, byte [rcx + r10 + 0x48540]
mov ecx, ebp
shl r9d, 8
shr ecx, 0x10
movzx edx, cl
movzx ecx, byte [rdx + r10 + 0x48340]
xor r9d, ecx
lea r12, [r12 + 0x20]
shl r9d, 8
mov ecx, ebp
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + r10 + 0x48440]
xor r9d, ecx
movzx ecx, bpl
lea rbp, [0x140000000]
shl r9d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r9d, ecx
mov ecx, r8d
shr rcx, 0x18
movzx r11d, byte [rcx + rbp + 0x48540]
mov ecx, r8d
shr ecx, 0x10
movzx edx, cl
shl r11d, 8
movzx ecx, byte [rdx + rbp + 0x48340]
xor r11d, ecx
mov ecx, r8d
shr ecx, 8
movzx edx, cl
shl r11d, 8
movzx ecx, byte [rdx + rbp + 0x48440]
xor r11d, ecx
movzx ecx, r8b
shl r11d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r11d, ecx
mov ecx, r14d
shr rcx, 0x18
movzx r8d, byte [rcx + rbp + 0x48540]
mov ecx, r14d
shr ecx, 0x10
movzx edx, cl
shl r8d, 8
movzx ecx, byte [rdx + rbp + 0x48340]
xor r8d, ecx
mov ecx, r14d
shr ecx, 8
shl r8d, 8
movzx edx, cl
movzx ecx, byte [rdx + rbp + 0x48440]
xor r8d, ecx
movzx ecx, r14b
shl r8d, 8
movzx ecx, byte [rcx + rbp + 0x48640]
xor r8d, ecx
cmp r15, qword [rsp]
jl 0x140017620
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
movsxd rcx, r13d
add rcx, rcx
xor eax, dword [r15 + rcx*8 + 4]
xor r9d, dword [r15 + rcx*8 + 8]
xor r11d, dword [r15 + rcx*8 + 0xc]
xor r8d, dword [r15 + rcx*8 + 0x10]
mov dword [r12], eax
xor eax, eax
mov dword [r12 + 4], r9d
mov dword [r12 + 8], r11d
mov dword [r12 + 0xc], r8d
add rsp, 0x10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret