Function at 0x1402072d6
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
lea r11, [0x1404b77a0]
lea r10, [0x1404b6fa0]
lea r9, [0x1404b67a0]
lea r8, [0x1404b5fa0]
mov rdi, qword [rdx]
mov rbx, qword [rdx + 0x10]
mov rsi, qword [rdx + 0x18]
mov qword [rsp + 0x88], rdi
mov rdi, qword [rdx + 8]
mov rax, rdx
mov qword [rsp + 0xa8], rbx
mov rbx, qword [rdx + 0x28]
mov qword [rsp + 0xa0], rdi
mov rdi, qword [rdx + 0x20]
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rdx + 0x30]
mov qword [rsp + 0xb8], rdi
mov rdi, qword [rdx + 0x38]
mov qword [rsp + 0xc0], rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0xc8], rsi
xor rbx, qword [rcx]
mov rsi, qword [rsp + 0xa0]
xor rsi, qword [rcx + 8]
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xe8], rbx
mov rdi, qword [rsp + 0xa8]
mov qword [rsp + 0x98], rsi
xor rdi, qword [rcx + 0x10]
mov rbx, qword [rsp + 0xb0]
xor rbx, qword [rcx + 0x18]
mov qword [rsp + 0x78], rdi
mov rsi, qword [rsp + 0xb8]
xor rsi, qword [rcx + 0x20]
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x48], rsi
mov rdi, qword [rsp + 0xc0]
xor rdi, qword [rcx + 0x28]
mov rsi, qword [rsp + 0xd0]
xor rsi, qword [rcx + 0x38]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x10], rsi
mov rdi, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xc8]
xor rbx, qword [rcx + 0x30]
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], rbx
lea rbx, [0x1404bd000]
mov rdi, qword [rsp + 0xb0]
mov qword [rsp + 0xe0], rbx
mov rbx, qword [rsp + 0xc0]
mov qword [rsp + 8], rsi
mov rsi, qword [rsp + 0xb8]
mov qword [rsp + 0x28], rbx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0xe8]
mov qword [rsp + 0x70], rbx
lea rbx, [0x1404b7fa0]
mov qword [rsp + 0x90], rsi
lea rsi, [0x1404b4fa0]
mov qword [rsp + 0xd8], rdi
lea rdi, [0x1404b87a0]
mov rdx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x90]
lea r14, [0x1404b57a0]
mov r15, r14
mov qword [rsp + 0x38], rdx
movzx ebp, byte [rsp + 0x38]
shr r12, 0x38
mov rdx, qword [rsp + 0xe0]
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x18]
xor rbp, qword [rdx]
mov rdx, qword [rsp + 8]
shr r12, 0x10
movzx edx, dh
movzx r12d, r12b
xor rbp, qword [rbx + rdx*8]
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x90]
shr r12d, 0x18
mov qword [rsp + 0x50], rdx
mov rdx, qword [rsp + 0x38]
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x40]
movzx edx, dh
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x58]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x70]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r14 + r12*8]
mov r12, qword [rsp + 0x70]
mov qword [rsp + 0x88], rbp
movzx ebp, byte [rsp + 0x50]
shr r12, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 8]
xor rbp, qword [rbx + rdx*8]
shr r12, 0x10
movzx r12d, r12b
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x18]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x70]
shr r12, 0x20
movzx r12d, r12b
mov qword [rsp + 0x68], rdx
mov rdx, qword [rsp + 0x50]
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x40]
movzx edx, dh
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x58]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r14 + r12*8]
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x90], rbp
movzx ebp, byte [rsp + 0x68]
shr r12, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x38]
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x58]
shr r12, 0x10
movzx r12d, r12b
mov qword [rsp + 0x80], rdx
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 8]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x18]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x28]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x40]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r14 + r12*8]
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x70], rbp
movzx ebp, byte [rsp + 0x80]
shr r12, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x28]
shr r12, 0x10
movzx edx, dh
movzx r12d, r12b
xor rbp, qword [rbx + rdx*8]
shr r13, 0x38
mov rdx, qword [rsp + 0x80]
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x38]
movzx edx, dh
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 8]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x18]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x28]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r14 + r12*8]
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x58], rbp
movzx ebp, r12b
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r13*8]
mov r13, qword [rsp + 0x68]
xor rbp, qword [rbx + rdx*8]
mov rdx, r12
movzx edx, dh
shr r13, 0x10
movzx r13d, r13b
xor rbp, qword [r11 + r13*8]
mov r13d, dword [rsp + 0x50]
shr r13d, 0x18
xor rbp, qword [r10 + r13*8]
mov r13, qword [rsp + 0x38]
shr r13, 0x20
movzx r13d, r13b
xor rbp, qword [r9 + r13*8]
mov r13, qword [rsp + 8]
shr r13, 0x28
movzx r13d, r13b
xor rbp, qword [r8 + r13*8]
mov r13, qword [rsp + 0x18]
shr r13, 0x30
movzx r13d, r13b
xor rbp, qword [r14 + r13*8]
mov r13, qword [rsp + 0x28]
mov qword [rsp + 0x40], rbp
mov r14, qword [rsp + 0x18]
movzx ebp, r13b
shr r14, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r14*8]
mov r14, qword [rsp + 0x80]
xor rbp, qword [rbx + rdx*8]
mov rdx, r13
shr r13, 0x10
shr r14, 0x10
movzx edx, dh
movzx r13d, r13b
movzx r14d, r14b
xor rbp, qword [r11 + r14*8]
mov r14d, dword [rsp + 0x68]
shr r14d, 0x18
xor rbp, qword [r10 + r14*8]
mov r14, qword [rsp + 0x50]
shr r14, 0x20
movzx r14d, r14b
xor rbp, qword [r9 + r14*8]
mov r14, qword [rsp + 0x38]
shr r14, 0x28
movzx r14d, r14b
xor rbp, qword [r8 + r14*8]
mov r14, qword [rsp + 8]
shr r14, 0x30
movzx r14d, r14b
xor rbp, qword [r15 + r14*8]
mov r14, qword [rsp + 0x18]
mov r15, qword [rsp + 8]
mov qword [rsp + 0x28], rbp
movzx ebp, r14b
shr r15, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r15*8]
mov r15, r12
xor rbp, qword [rbx + rdx*8]
shr r15, 0x10
lea rdx, [0x1404b57a0]
movzx r15d, r15b
xor rbp, qword [r11 + r15*8]
mov r15d, dword [rsp + 0x80]
shr r15d, 0x18
xor rbp, qword [r10 + r15*8]
mov r15, qword [rsp + 0x68]
shr r15, 0x20
movzx r15d, r15b
xor rbp, qword [r9 + r15*8]
mov r15, qword [rsp + 0x50]
shr r15, 0x28
movzx r15d, r15b
xor rbp, qword [r8 + r15*8]
mov r15, qword [rsp + 0x38]
shr r15, 0x30
movzx r15d, r15b
xor rbp, qword [rdx + r15*8]
mov r15, qword [rsp + 0x38]
mov rdx, r14
mov qword [rsp + 0x18], rbp
movzx ebp, byte [rsp + 8]
movzx edx, dh
shr r15, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r15*8]
lea r15, [0x1404b57a0]
xor rbp, qword [rbx + rdx*8]
xor rbp, qword [r11 + r13*8]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xd8]
shr r12, 0x20
movzx r12d, r12b
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x10]
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x68]
movzx edx, dh
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x50]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
mov r12, qword [rsp + 0x98]
mov qword [rsp + 8], rbp
movzx ebp, byte [rsp + 0x38]
shr r12, 0x38
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x20]
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x88]
shr r12, 0x10
movzx r12d, r12b
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x30]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x48]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x60]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x78]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
xor rdx, rbp
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0x98]
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x50], rdx
movzx ebp, byte [rsp + 0x50]
shr r12, 0x38
mov rdx, qword [rsp + 0x38]
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x10]
movzx edx, dh
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x90]
shr r12, 0x10
movzx r12d, r12b
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x20]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x30]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x48]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x60]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
mov r12, qword [rsp + 0x60]
xor rdx, rbp
mov qword [rsp + 0x98], rdx
mov rdx, qword [rsp + 0x78]
shr r12, 0x38
mov qword [rsp + 0x68], rdx
movzx ebp, byte [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x38]
movzx edx, dh
xor rbp, qword [rbx + rdx*8]
shr r12, 0x10
movzx r12d, r12b
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x10]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x30]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x30]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x48]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
mov r12, qword [rsp + 0x48]
xor rdx, rbp
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x60]
shr r12, 0x38
mov qword [rsp + 0x80], rdx
movzx ebp, byte [rsp + 0x80]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r12*8]
mov r12, qword [rsp + 0x50]
movzx edx, dh
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x58]
shr r12, 0x10
movzx r12d, r12b
xor rbp, qword [r11 + r12*8]
mov r12d, dword [rsp + 0x38]
shr r12d, 0x18
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x10]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x20]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x30]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
mov r12, qword [rsp + 0x48]
xor rdx, rbp
shr r13, 0x38
movzx ebp, r12b
mov qword [rsp + 0x60], rdx
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r13*8]
mov rdx, qword [rsp + 0x80]
mov r13, qword [rsp + 0x68]
mov r14, qword [rsp + 0x20]
shr r13, 0x10
movzx edx, dh
movzx r13d, r13b
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x40]
shr r14, 0x38
xor rbp, qword [r11 + r13*8]
mov r13d, dword [rsp + 0x50]
shr r13d, 0x18
xor rbp, qword [r10 + r13*8]
mov r13, qword [rsp + 0x38]
shr r13, 0x20
movzx r13d, r13b
xor rbp, qword [r9 + r13*8]
mov r13, qword [rsp + 0x10]
shr r13, 0x28
movzx r13d, r13b
xor rbp, qword [r8 + r13*8]
mov r13, qword [rsp + 0x20]
shr r13, 0x30
movzx r13d, r13b
xor rbp, qword [r15 + r13*8]
mov r13, qword [rsp + 0x30]
xor rdx, rbp
movzx ebp, r13b
mov qword [rsp + 0x48], rdx
mov rdx, r12
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r14*8]
movzx edx, dh
mov r14, qword [rsp + 0x80]
xor rbp, qword [rbx + rdx*8]
mov rdx, qword [rsp + 0x28]
shr r14, 0x10
movzx r14d, r14b
xor rbp, qword [r11 + r14*8]
mov r14d, dword [rsp + 0x68]
shr r14d, 0x18
xor rbp, qword [r10 + r14*8]
mov r14, qword [rsp + 0x50]
shr r14, 0x20
movzx r14d, r14b
xor rbp, qword [r9 + r14*8]
mov r14, qword [rsp + 0x38]
shr r14, 0x28
movzx r14d, r14b
xor rbp, qword [r8 + r14*8]
mov r14, qword [rsp + 0x10]
shr r14, 0x30
movzx r14d, r14b
xor rbp, qword [r15 + r14*8]
mov r14, qword [rsp + 0x20]
xor rdx, rbp
mov qword [rsp + 0x30], rdx
mov r15, qword [rsp + 0x10]
movzx ebp, r14b
mov rdx, r13
mov rbp, qword [rdi + rbp*8]
movzx edx, dh
shr r15, 0x38
xor rbp, qword [rsi + r15*8]
mov r15, r12
xor rbp, qword [rbx + rdx*8]
shr r15, 0x10
lea rdx, [0x1404b57a0]
shr r13, 0x10
add qword [rsp + 0xe0], 8
movzx r15d, r15b
shr r12d, 0x18
movzx r13d, r13b
xor rbp, qword [r11 + r15*8]
mov r15d, dword [rsp + 0x80]
shr r15d, 0x18
xor rbp, qword [r10 + r15*8]
mov r15, qword [rsp + 0x68]
shr r15, 0x20
movzx r15d, r15b
xor rbp, qword [r9 + r15*8]
mov r15, qword [rsp + 0x50]
shr r15, 0x28
movzx r15d, r15b
xor rbp, qword [r8 + r15*8]
mov r15, qword [rsp + 0x38]
shr r15, 0x30
movzx r15d, r15b
xor rbp, qword [rdx + r15*8]
mov rdx, qword [rsp + 0x18]
mov r15, qword [rsp + 0x38]
xor rdx, rbp
movzx ebp, byte [rsp + 0x10]
mov qword [rsp + 0x20], rdx
mov rdx, r14
shr r15, 0x38
movzx edx, dh
mov rbp, qword [rdi + rbp*8]
xor rbp, qword [rsi + r15*8]
lea r15, [0x1404b57a0]
xor rbp, qword [rbx + rdx*8]
xor rbp, qword [r11 + r13*8]
xor rbp, qword [r10 + r12*8]
mov r12, qword [rsp + 0x80]
mov rdx, qword [rsp + 8]
shr r12, 0x20
movzx r12d, r12b
xor rbp, qword [r9 + r12*8]
mov r12, qword [rsp + 0x68]
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [r8 + r12*8]
mov r12, qword [rsp + 0x50]
shr r12, 0x30
movzx r12d, r12b
xor rbp, qword [r15 + r12*8]
xor rdx, rbp
mov qword [rsp + 0x10], rdx
mov r14, qword [rsp + 0xe0]
lea rdx, [0x1404bd050]
cmp rdx, r14
jne 0x140207486
mov rbx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
xor rdx, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rax], rdx
mov rdx, qword [rsp + 0xa0]
xor rdx, qword [rcx + 8]
xor rdx, rsi
mov rsi, qword [rsp + 0x48]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0xa8]
xor rdx, qword [rcx + 0x10]
xor rdx, rdi
mov rdi, qword [rsp + 0x30]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0xb0]
xor rdx, qword [rcx + 0x18]
xor rdx, rbx
mov rbx, qword [rsp + 0x20]
mov qword [rax + 0x18], rdx
mov rdx, qword [rsp + 0xb8]
xor rdx, qword [rcx + 0x20]
xor rdx, rsi
mov qword [rax + 0x20], rdx
mov rdx, qword [rsp + 0xc0]
xor rdx, qword [rcx + 0x28]
xor rdx, rdi
mov qword [rax + 0x28], rdx
mov rdx, qword [rsp + 0xc8]
xor rdx, qword [rcx + 0x30]
xor rdx, rbx
mov qword [rax + 0x30], rdx
mov rdx, qword [rsp + 0xd0]
xor rdx, qword [rcx + 0x38]
mov rcx, qword [rsp + 0x10]
xor rdx, rcx
mov qword [rax + 0x38], rdx
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret