Function at 0x2001df780
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov qword [rsp + 0x60], r9
mov r13, rdx
mov r14d, dword [r8]
mov ebx, dword [r8 + 4]
xor r14d, dword [rdx]
xor ebx, dword [rdx + 4]
mov r9d, ebx
mov r11d, dword [r8 + 8]
xor r11d, dword [rdx + 8]
mov dword [rsp + 0x40], r11d
mov eax, dword [r8 + 0xc]
xor eax, dword [rdx + 0xc]
add r13, 0x10
mov dword [rsp + 0x44], eax
lea r12, [0x2001fc190]
cmp ecx, 4
jl 0x20019cf94
shr ecx, 1
inc ecx
mov edx, r9d
mov r8d, eax
lea r10, [0x2001fce90]
nop word cs:[rax + rax]
mov dword [rsp + 0x24], ecx
movzx eax, dh
mov r15, rax
movzx ecx, dl
mov qword [rsp + 0x30], rcx
mov edi, edx
mov esi, r8d
movzx ecx, sil
mov r8d, edx
mov edx, dword [r12 + rcx*4]
xor edx, dword [r13 + 0xc]
shr r8d, 0x10
movzx r8d, r8b
mov ecx, r14d
movzx ebp, ch
lea r9, [0x2001fca90]
xor edx, dword [r9 + rbp*4]
mov rbx, r11
mov ebp, ebx
movzx eax, bh
mov qword [rsp + 0x28], rax
xor edx, dword [r10 + r8*4]
movzx r14d, bl
shr ebx, 0x18
lea r11, [0x2001fc590]
xor edx, dword [r11 + rbx*4]
mov dword [rsp + 0x20], edx
movzx ebx, cl
mov r8d, dword [r12 + rbx*4]
xor r8d, dword [r13]
xor r8d, dword [r9 + r15*4]
shr ebp, 0x10
movzx eax, bpl
xor r8d, dword [r10 + rax*4]
mov ebp, esi
mov eax, esi
mov ebx, esi
shr eax, 0x18
mov rdx, r11
xor r8d, dword [r11 + rax*4]
mov r11d, r8d
mov r15, r9
movzx esi, bh
mov r8d, ecx
mov r9d, ecx
mov rax, qword [rsp + 0x30]
mov eax, dword [r12 + rax*4]
xor eax, dword [r13 + 4]
mov rcx, qword [rsp + 0x28]
xor eax, dword [r15 + rcx*4]
shr ebp, 0x10
movzx ecx, bpl
xor eax, dword [r10 + rcx*4]
shr r9d, 0x18
xor eax, dword [rdx + r9*4]
mov ebx, dword [r12 + r14*4]
xor ebx, dword [r13 + 8]
xor ebx, dword [r15 + rsi*4]
shr r8d, 0x10
movzx r8d, r8b
xor ebx, dword [r10 + r8*4]
shr edi, 0x18
xor ebx, dword [rdx + rdi*4]
movzx r8d, r11b
mov r14d, dword [r12 + r8*4]
xor r14d, dword [r13 + 0x10]
movzx esi, ah
xor r14d, dword [r15 + rsi*4]
movzx r8d, al
mov edi, dword [r12 + r8*4]
xor edi, dword [r13 + 0x14]
movzx esi, bh
xor edi, dword [r15 + rsi*4]
movzx r8d, bl
mov ecx, dword [r12 + r8*4]
xor ecx, dword [r13 + 0x18]
mov edx, dword [rsp + 0x20]
movzx esi, dh
xor ecx, dword [r15 + rsi*4]
movzx r8d, dl
mov r9d, edx
mov ebp, dword [r12 + r8*4]
xor ebp, dword [r13 + 0x1c]
mov edx, r11d
movzx esi, dh
xor ebp, dword [r15 + rsi*4]
mov r8d, ebx
shr r8d, 0x10
movzx r8d, r8b
xor r14d, dword [r10 + r8*4]
mov r8d, r9d
shr r8d, 0x18
lea r15, [0x2001fc590]
xor r14d, dword [r15 + r8*4]
mov esi, r9d
shr r9d, 0x10
movzx r8d, r9b
xor edi, dword [r10 + r8*4]
mov r8d, r11d
mov r9d, r11d
mov edx, edi
shr r9d, 0x18
xor edx, dword [r15 + r9*4]
shr r8d, 0x10
movzx r8d, r8b
xor ecx, dword [r10 + r8*4]
mov r8d, eax
shr r8d, 0x18
xor ecx, dword [r15 + r8*4]
mov r11, rcx
add r13, 0x20
mov r8d, eax
shr r8d, 0x10
movzx r8d, r8b
xor ebp, dword [r10 + r8*4]
mov ecx, dword [rsp + 0x24]
mov r8d, ebx
shr r8d, 0x18
xor ebp, dword [r15 + r8*4]
mov r8d, ebp
dec ecx
cmp ecx, 2
ja 0x20019cdb0
mov r9d, edx
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x40], r11d
mov eax, r8d
mov dword [rsp + 0x44], r8d
jmp 0x20019cf97
mov r8d, eax
movzx eax, r14b
mov r10d, dword [r12 + rax*4]
xor r10d, dword [r13]
mov ebx, r9d
movzx eax, bh
lea rsi, [0x2001fca90]
xor r10d, dword [rsi + rax*4]
mov eax, r11d
shr eax, 0x10
mov rdx, r11
movzx ecx, al
lea r11, [0x2001fce90]
xor r10d, dword [r11 + rcx*4]
mov ecx, r8d
shr r8d, 0x18
lea rbp, [0x2001fc590]
xor r10d, dword [rbp + r8*4]
mov dword [rsp + 0x48], r10d
movzx r8d, bl
mov edi, dword [r12 + r8*4]
xor edi, dword [r13 + 4]
mov r9d, r14d
mov rax, rdx
movzx edx, ah
xor edi, dword [rsi + rdx*4]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
xor edi, dword [r11 + rdx*4]
mov edx, r14d
shr edx, 0x18
xor edi, dword [rbp + rdx*4]
mov dword [rsp + 0x4c], edi
movzx edx, al
mov r15, rax
mov r14d, dword [r12 + rdx*4]
xor r14d, dword [r13 + 8]
movzx edx, ch
movzx r8d, cl
xor r14d, dword [rsi + rdx*4]
mov eax, r9d
mov edx, r9d
shr edx, 0x10
movzx edx, dl
xor r14d, dword [r11 + rdx*4]
mov edx, ebx
shr edx, 0x18
xor r14d, dword [rbp + rdx*4]
mov dword [rsp + 0x50], r14d
mov r9d, dword [r12 + r8*4]
xor r9d, dword [r13 + 0xc]
movzx edx, ah
xor r9d, dword [rsi + rdx*4]
shr ebx, 0x10
movzx edx, bl
xor r9d, dword [r11 + rdx*4]
mov rax, r15
shr eax, 0x18
xor r9d, dword [rbp + rax*4]
mov dword [rsp + 0x54], r9d
movzx eax, r10b
lea rdx, [0x2001fc010]
movzx eax, byte [rax + rdx]
xor eax, dword [r13 + 0x10]
mov ecx, eax
mov dword [rsp + 0x24], eax
mov eax, edi
shr eax, 8
movzx eax, al
movzx eax, byte [rax + rdx]
shl eax, 8
xor eax, ecx
mov ecx, eax
mov dword [rsp + 0x30], eax
mov eax, r14d
shr eax, 0x10
movzx eax, al
movzx eax, byte [rax + rdx]
shl eax, 0x10
xor eax, ecx
mov dword [rsp + 0x20], eax
mov ebx, r9d
mov ebp, r9d
movzx ecx, r9b
mov qword [rsp + 0x58], rcx
shr r9, 0x18
movzx r15d, byte [r9 + rdx]
shl r15d, 0x18
xor r15d, eax
mov dword [rsp + 0x38], r15d
movzx eax, dil
mov r9, rdx
movzx esi, byte [rax + rdx]
mov r11, r13
xor esi, dword [r13 + 0x14]
mov eax, r14d
shr eax, 8
movzx eax, al
movzx edx, byte [rax + rdx]
shl edx, 8
xor edx, esi
shr ebx, 0x10
movzx eax, bl
movzx eax, byte [rax + r9]
shl eax, 0x10
xor eax, edx
mov r8, r10
shr r8, 0x18
movzx r12d, byte [r8 + r9]
shl r12d, 0x18
xor r12d, eax
mov dword [rsp + 0x3c], r12d
movzx r8d, r14b
movzx r13d, byte [r8 + r9]
xor r13d, dword [r11 + 0x18]
shr ebp, 8
movzx r8d, bpl
movzx ebx, byte [r8 + r9]
shl ebx, 8
xor ebx, r13d
mov dword [rsp + 0x28], ebx
mov r8d, r10d
shr r8d, 0x10
movzx r8d, r8b
movzx ebp, byte [r8 + r9]
mov rcx, r9
shl ebp, 0x10
xor ebp, ebx
mov r8, rdi
shr r8, 0x18
movzx r9d, byte [r8 + r9]
shl r9d, 0x18
xor r9d, ebp
mov dword [rsp + 0x40], r9d
mov r8, qword [rsp + 0x58]
movzx r8d, byte [r8 + rcx]
xor r8d, dword [r11 + 0x1c]
shr r10d, 8
movzx ebx, r10b
shr edi, 0x10
movzx r10d, dil
movzx r11d, byte [r10 + rcx]
shr r14, 0x18
movzx r10d, byte [r14 + rcx]
movzx ecx, byte [rbx + rcx]
shl ecx, 8
xor ecx, r8d
shl r11d, 0x10
xor r11d, ecx
shl r10d, 0x18
xor r10d, r11d
mov dword [rsp + 0x44], r10d
mov rdi, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x24]
mov byte [rdi], r14b
mov ebx, dword [rsp + 0x30]
mov byte [rdi + 1], bh
mov r14d, dword [rsp + 0x20]
shr r14d, 0x10
mov byte [rdi + 2], r14b
shr r15d, 0x18
mov byte [rdi + 3], r15b
mov byte [rdi + 4], sil
mov byte [rdi + 5], dh
shr eax, 0x10
mov byte [rdi + 6], al
shr r12d, 0x18
mov byte [rdi + 7], r12b
mov byte [rdi + 8], r13b
mov eax, dword [rsp + 0x28]
mov byte [rdi + 9], ah
shr ebp, 0x10
mov byte [rdi + 0xa], bpl
shr r9d, 0x18
mov byte [rdi + 0xb], r9b
mov byte [rdi + 0xc], r8b
mov byte [rdi + 0xd], ch
shr r11d, 0x10
mov byte [rdi + 0xe], r11b
shr r10d, 0x18
mov byte [rdi + 0xf], r10b
lea rcx, [rsp + 0x38]
mov edx, 0x20
call fcn.200146a30
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r9, r8
mov r8, rdx
mov eax, dword [rcx]
mov rdx, qword [rcx + 8]
mov ecx, eax
jmp 0x20019cd40