Function at 0x5c5790
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
mov rax, qword [rdx]
mov qword [rsp + 0x130], rcx
mov rcx, rdx
mov qword [rsp + 0x138], rdx
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x78], rax
mov r8, qword [rcx + 0x30]
mov r15, qword [rcx + 0x38]
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx + 0x18]
mov rdi, qword [rcx + 0x20]
mov qword [rsp + 0xa0], rdx
mov r14, qword [rcx + 0x28]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xc0], r14
mov r9, rcx
xor rax, qword [rcx]
mov rcx, qword [rcx + 8]
xor rcx, rdx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x90], rcx
mov rcx, rbx
xor rbx, qword [r9 + 0x10]
mov qword [rsp + 0x60], rbx
mov rbx, rsi
xor rsi, qword [r9 + 0x18]
mov qword [rsp + 0x58], rsi
mov rsi, rdi
xor rdi, qword [r9 + 0x20]
mov qword [rsp + 0x38], rdi
mov rdi, r14
xor r14, qword [r9 + 0x28]
mov qword [rsp + 0x28], r14
mov r14, qword [r9 + 0x30]
xor r14, r8
mov qword [rsp + 0x10], r14
mov r14, qword [r9 + 0x38]
mov qword [rsp + 0x20], r8
lea r8, [0x00711140]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x80], rdx
lea rcx, [0x00710940]
lea rdx, [0x00710140]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x88], rax
xor r14, r15
mov qword [rsp + 0x18], r14
lea r14, [0x0070f0e0]
mov qword [rsp + 0x70], r14
mov r14, r15
lea r15, [0x0070f140]
mov qword [rsp + 8], r14
nop dword [rax + rax]
mov rsi, qword [rsp + 0x20]
lea rdi, [0x00712140]
lea rbp, [0x00711940]
lea r13, [0x00712940]
mov rbx, qword [rsp + 8]
mov rax, qword [rsp + 0x78]
lea r14, [0x0070f940]
mov r12, qword [rsp + 0x30]
mov r10, rsi
movzx ebx, bh
shr r10, 0x10
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x48]
mov r9, qword [rdi + rbx*8]
movzx r10d, r10b
mov rbx, qword [rsp + 0x80]
xor r9, qword [rbp + r10*8]
movzx r10d, byte [rsp + 0x50]
mov r11, rbx
shr r11, 0x38
mov r10, qword [r13 + r10*8]
xor r10, qword [r15 + r11*8]
mov r11, rax
shr r11, 0x20
movzx r11d, r11b
xor r9, r10
mov r10d, r12d
shr r10d, 0x18
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov r11, qword [rsp + 0x70]
xor r10, qword [r11]
mov r11, qword [rsp + 0x68]
shr r11, 0x30
xor r9, r10
mov r10, qword [rsp + 0x40]
movzx r11d, r11b
shr r10, 0x28
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
xor r10, qword [r14 + r11*8]
mov r14, rax
mov r11, r12
shr r11, 0x20
mov r12, qword [rsp + 8]
movzx r11d, r11b
xor r9, r10
mov r10, rax
lea rax, [0x0070f940]
shr r12, 0x10
mov qword [rsp + 0x78], r9
mov r9, qword [rsp + 0x40]
shr r10, 0x28
movzx r10d, r10b
mov r10, qword [rdx + r10*8]
shr r9, 0x30
movzx r9d, r9b
xor r10, qword [rax + r9*8]
mov r9d, esi
mov rax, qword [rsp + 0x50]
shr r9d, 0x18
mov r9, qword [r8 + r9*8]
xor r9, qword [rcx + r11*8]
movzx r11d, r12b
mov r12, rbp
movzx esi, ah
lea rax, [0x0070f940]
xor r10, r9
mov r9, qword [rdi + rsi*8]
xor r9, qword [rbp + r11*8]
movzx r11d, bl
mov rbp, qword [rsp + 0x68]
mov r11, qword [r13 + r11*8]
mov rsi, rbp
shr rsi, 0x38
xor r11, qword [r15 + rsi*8]
xor r11, r9
mov r9, rbp
mov ebp, dword [rsp + 8]
xor r10, r11
mov r11, qword [rsp + 0x30]
mov qword [rsp + 0x80], r10
mov r10, r14
mov r14, qword [rsp + 0x50]
shr r10, 0x30
movzx r10d, r10b
shr ebp, 0x18
shr r11, 0x28
movzx r11d, r11b
mov r11, qword [rdx + r11*8]
xor r11, qword [rax + r10*8]
mov r10d, ebp
mov rbp, rdi
mov rax, qword [rsp + 0x20]
mov r10, qword [r8 + r10*8]
mov rsi, rax
shr rsi, 0x20
movzx esi, sil
xor r10, qword [rcx + rsi*8]
movzx esi, bh
xor r11, r10
mov r10, rsi
mov rsi, r14
mov r10, qword [rdi + r10*8]
mov rdi, qword [rsp + 0x40]
shr rsi, 0x10
movzx esi, sil
xor r10, qword [r12 + rsi*8]
movzx esi, r9b
mov rsi, qword [r13 + rsi*8]
mov r13d, r14d
shr rdi, 0x38
shr r13d, 0x18
xor rsi, qword [r15 + rdi*8]
mov rdi, r11
mov r11, qword [rsp + 0x30]
shr r11, 0x30
xor rsi, r10
movzx r11d, r11b
mov r10, qword [rsp + 0x40]
xor rdi, rsi
mov rsi, rax
lea rax, [0x0070f940]
mov qword [rsp + 0x68], rdi
mov rdi, qword [rsp + 8]
shr rsi, 0x28
movzx esi, sil
mov rsi, qword [rdx + rsi*8]
xor rsi, qword [rax + r11*8]
mov r11d, r13d
mov rax, r9
mov r11, qword [r8 + r11*8]
mov r13, rbp
shr rdi, 0x20
movzx edi, dil
xor r11, qword [rcx + rdi*8]
movzx edi, ah
lea rax, [0x00712940]
xor rsi, r11
mov r11, rdi
mov rdi, rbx
mov r11, qword [rbp + r11*8]
mov rbp, qword [rsp + 0x48]
shr rdi, 0x10
movzx edi, dil
xor r11, qword [r12 + rdi*8]
movzx edi, r10b
mov rdi, qword [rax + rdi*8]
lea rax, [0x0070f940]
shr rbp, 0x38
xor rdi, qword [r15 + rbp*8]
mov rbp, rsi
mov rsi, qword [rsp + 0x20]
shr rsi, 0x30
xor rdi, r11
movzx esi, sil
mov r11, qword [rsp + 0x48]
xor rbp, rdi
mov qword [rsp + 0x40], rbp
mov rbp, qword [rsp + 8]
shr rbp, 0x28
movzx edi, bpl
mov ebp, ebx
shr ebp, 0x18
mov rdi, qword [rdx + rdi*8]
xor rdi, qword [rax + rsi*8]
mov rax, r10
mov esi, ebp
mov rbp, r14
mov qword [rsp + 0x50], r11
shr rbp, 0x20
mov rsi, qword [r8 + rsi*8]
lea r11, [0x00712940]
movzx ebp, bpl
xor rsi, qword [rcx + rbp*8]
mov rbp, r9
shr rbp, 0x10
movzx ebp, bpl
xor rdi, rsi
movzx esi, ah
mov rax, qword [rsp + 0x30]
mov rsi, qword [r13 + rsi*8]
xor rsi, qword [r12 + rbp*8]
movzx ebp, byte [rsp + 0x50]
mov r12, rax
shr r12, 0x38
mov rbp, qword [r11 + rbp*8]
xor rbp, qword [r15 + r12*8]
mov r12, rdi
xor rbp, rsi
mov rsi, rax
mov rax, qword [rsp + 8]
xor r12, rbp
mov rbp, r14
shr rbp, 0x28
mov qword [rsp + 0x48], r12
mov r12, rbx
movzx ebp, bpl
shr r12, 0x20
shr rax, 0x30
mov rbp, qword [rdx + rbp*8]
movzx r12d, r12b
movzx edi, al
lea rax, [0x0070f940]
xor rbp, qword [rax + rdi*8]
mov eax, r9d
shr eax, 0x18
mov edi, eax
mov rax, qword [rsp + 0x50]
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + r12*8]
mov r12, r10
shr r12, 0x10
movzx r12d, r12b
xor rbp, rdi
movzx edi, ah
lea rax, [0x00711940]
mov rdi, qword [r13 + rdi*8]
xor rdi, qword [rax + r12*8]
movzx r12d, sil
mov rax, qword [rsp + 0x20]
mov r12, qword [r11 + r12*8]
lea r11, [0x00711940]
mov r13, rax
shr r13, 0x38
xor r12, qword [r15 + r13*8]
mov r13, rbx
shr rbx, 0x30
shr r13, 0x28
movzx ebx, bl
xor r12, rdi
mov rdi, r14
xor rbp, r12
shr rdi, 0x30
mov r12, rax
lea rax, [0x0070f940]
mov qword [rsp + 0x30], rbp
movzx ebp, r13b
mov r13d, r10d
movzx edi, dil
shr r13d, 0x18
mov rbp, qword [rdx + rbp*8]
xor rbp, qword [rax + rdi*8]
mov edi, r13d
mov r13, r9
mov rax, rsi
shr r13, 0x20
mov rdi, qword [r8 + rdi*8]
shr r9, 0x28
movzx r13d, r13b
movzx r9d, r9b
xor rdi, qword [rcx + r13*8]
mov r13, qword [rsp + 0x50]
shr r13, 0x10
xor rbp, rdi
movzx r13d, r13b
movzx edi, ah
lea rax, [0x00712140]
mov rdi, qword [rax + rdi*8]
xor rdi, qword [r11 + r13*8]
movzx r13d, r12b
mov r11, qword [rsp + 8]
shr r11, 0x38
mov qword [rsp + 0x20], r11
lea r11, [0x00712940]
mov r9, qword [rdx + r9*8]
mov r13, qword [r11 + r13*8]
mov r11, qword [rsp + 0x20]
xor r13, qword [r15 + r11*8]
mov r11d, dword [rsp + 0x50]
shr r11d, 0x18
xor r13, rdi
lea rdi, [0x0070f940]
mov r11, qword [r8 + r11*8]
xor r9, qword [rdi + rbx*8]
xor rbp, r13
shr r10, 0x20
mov rbx, r12
movzx r10d, r10b
movzx ebx, bh
shr rsi, 0x10
xor r11, qword [rcx + r10*8]
mov r10, qword [rax + rbx*8]
mov rbx, r14
lea r12, [0x00711940]
lea r13, [0x00712940]
shr rbx, 0x38
movzx esi, sil
xor r10, qword [r12 + rsi*8]
mov qword [rsp + 0x20], rbp
mov rbp, rax
mov rax, qword [rsp + 0x88]
xor r9, r11
movzx r11d, byte [rsp + 8]
mov r14, r9
mov r9, qword [rsp + 0x60]
mov r11, qword [r13 + r11*8]
xor r11, qword [r15 + rbx*8]
shr r9, 0x30
mov rbx, qword [rsp + 0x78]
movzx r9d, r9b
xor rbx, qword [rdi + r9*8]
mov rdi, qword [rsp + 0x90]
xor r10, r11
mov r11, rax
mov rax, qword [rsp + 0x18]
xor r14, r10
mov qword [rsp + 0x50], r11
mov r11, qword [rsp + 0x38]
mov qword [rsp + 8], r14
mov r14, qword [rsp + 0x10]
movzx esi, ah
mov rax, rdi
mov r9, qword [rbp + rsi*8]
shr rax, 0x38
shr r11, 0x20
mov r10, r14
movzx r11d, r11b
shr r10, 0x10
movzx r10d, r10b
xor r9, qword [r12 + r10*8]
movzx r10d, byte [rsp + 0x50]
mov r10, qword [r13 + r10*8]
xor r10, qword [r15 + rax*8]
mov eax, dword [rsp + 0x28]
shr eax, 0x18
xor r9, r10
mov r10d, eax
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov rsi, qword [rsp + 0x58]
mov rax, rsi
shr rax, 0x28
movzx r11d, al
xor r10, qword [rdx + r11*8]
mov r11, qword [rsp + 0x60]
shr r11, 0x38
xor r10, r9
mov r9, rsi
mov rsi, qword [rsp + 0x80]
mov rax, r10
shr r9, 0x30
xor rax, rbx
movzx r9d, r9b
mov rbx, rdi
mov qword [rsp + 0x88], rax
lea rax, [0x0070f940]
xor rsi, qword [rax + r9*8]
mov rax, qword [rsp + 0x50]
movzx edi, ah
mov rax, r13
mov r9, rdi
mov rdi, qword [rsp + 0x18]
mov r9, qword [rbp + r9*8]
shr rdi, 0x10
movzx r10d, dil
mov rdi, qword [rsp + 0x68]
xor r9, qword [r12 + r10*8]
movzx r10d, bl
mov r10, qword [r13 + r10*8]
xor r10, qword [r15 + r11*8]
mov r11, qword [rsp + 0x28]
mov r13, qword [rsp + 0x38]
xor r9, r10
shr r11, 0x20
mov r10d, r14d
mov r14, qword [rsp + 0x50]
shr r10d, 0x18
movzx r11d, r11b
mov r10, qword [r8 + r10*8]
xor r10, qword [rcx + r11*8]
mov r11, r13
shr r11, 0x28
movzx r11d, r11b
xor r10, qword [rdx + r11*8]
mov r11, r14
shr r11, 0x10
movzx r11d, r11b
xor r10, r9
xor r10, rsi
mov rsi, r13
mov r13, rbp
shr rsi, 0x30
mov qword [rsp + 0x90], r10
movzx r9d, sil
lea rsi, [0x0070f940]
xor rdi, qword [rsi + r9*8]
movzx esi, bh
mov r9, qword [rsp + 0x60]
mov r10, qword [rbp + rsi*8]
mov rsi, qword [rsp + 0x58]
xor r10, qword [r12 + r11*8]
mov rbp, qword [rsp + 0x28]
movzx r11d, r9b
shr rsi, 0x38
mov r11, qword [rax + r11*8]
mov eax, dword [rsp + 0x18]
xor r11, qword [r15 + rsi*8]
mov rsi, qword [rsp + 0x10]
shr eax, 0x18
shr rsi, 0x20
xor r10, r11
movzx esi, sil
mov r11d, eax
lea rax, [0x0070f940]
mov r11, qword [r8 + r11*8]
xor r11, qword [rcx + rsi*8]
mov rsi, rbp
shr rsi, 0x28
movzx esi, sil
xor r11, qword [rdx + rsi*8]
mov rsi, rbx
shr rsi, 0x10
movzx esi, sil
xor r11, r10
mov r10, r11
xor r10, rdi
mov rdi, rbp
shr rdi, 0x30
mov qword [rsp + 0x60], r10
movzx r10d, dil
mov rdi, qword [rsp + 0x40]
xor rdi, qword [rax + r10*8]
mov rax, r9
mov r10, qword [rsp + 0x58]
mov rbp, rdi
movzx edi, ah
lea rax, [0x00712940]
mov r11, qword [r13 + rdi*8]
mov rdi, qword [rsp + 0x38]
xor r11, qword [r12 + rsi*8]
movzx esi, r10b
mov r12, qword [rsp + 0x10]
mov rsi, qword [rax + rsi*8]
lea rax, [0x0070f940]
shr rdi, 0x38
xor rsi, qword [r15 + rdi*8]
mov rdi, qword [rsp + 0x18]
shr rdi, 0x20
xor r11, rsi
mov esi, r14d
movzx edi, dil
shr esi, 0x18
mov rsi, qword [r8 + rsi*8]
xor rsi, qword [rcx + rdi*8]
mov rdi, r12
shr rdi, 0x28
movzx edi, dil
xor rsi, qword [rdx + rdi*8]
mov rdi, r9
xor rsi, r11
xor rsi, rbp
shr rdi, 0x10
lea rbp, [0x00711940]
mov qword [rsp + 0x58], rsi
mov rsi, r12
movzx edi, dil
shr rsi, 0x30
movzx r11d, sil
mov rsi, qword [rsp + 0x48]
xor rsi, qword [rax + r11*8]
mov rax, r10
mov r11, qword [rsp + 0x38]
mov r12, rsi
movzx esi, ah
lea rax, [0x00712940]
mov rsi, qword [r13 + rsi*8]
xor rsi, qword [rbp + rdi*8]
movzx edi, r11b
mov rbp, qword [rsp + 0x28]
mov rdi, qword [rax + rdi*8]
lea rax, [0x0070f940]
mov r13, qword [rsp + 0x18]
shr rbp, 0x38
xor rdi, qword [r15 + rbp*8]
mov rbp, r14
shr rbp, 0x20
movzx ebp, bpl
xor rsi, rdi
mov edi, ebx
shr edi, 0x18
mov rdi, qword [r8 + rdi*8]
xor rdi, qword [rcx + rbp*8]
mov rbp, r13
shr rbp, 0x28
movzx ebp, bpl
xor rdi, qword [rdx + rbp*8]
xor rdi, rsi
xor rdi, r12
mov r12, r10
mov qword [rsp + 0x38], rdi
mov rdi, r13
shr r12, 0x10
shr rdi, 0x30
movzx ebp, r12b
lea r12, [0x00712140]
movzx esi, dil
mov rdi, qword [rsp + 0x30]
xor rdi, qword [rax + rsi*8]
mov rax, r11
mov rsi, qword [rsp + 0x28]
mov r13, rdi
movzx edi, ah
lea rax, [0x00711940]
mov rdi, qword [r12 + rdi*8]
mov r12, qword [rsp + 0x10]
xor rdi, qword [rax + rbp*8]
movzx ebp, sil
lea rax, [0x00712940]
mov rbp, qword [rax + rbp*8]
lea rax, [0x0070f940]
shr r12, 0x38
xor rbp, qword [r15 + r12*8]
mov r12, rbx
shr r12, 0x20
movzx r12d, r12b
xor rdi, rbp
mov ebp, r9d
shr ebp, 0x18
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r12*8]
mov r12, r14
shr r12, 0x28
movzx r12d, r12b
xor rbp, qword [rdx + r12*8]
mov r12, qword [rsp + 0x10]
xor rbp, rdi
mov rdi, rbp
mov rbp, qword [rsp + 0x20]
xor rdi, r13
lea r13, [0x00712140]
mov qword [rsp + 0x28], rdi
mov rdi, r14
mov r14, qword [rsp + 0x18]
shr rdi, 0x30
movzx edi, dil
xor rbp, qword [rax + rdi*8]
mov rax, rsi
movzx edi, ah
lea rax, [0x00711940]
mov rdi, qword [r13 + rdi*8]
mov r13, r14
mov qword [rsp + 0x98], rbp
mov rbp, r11
shr rbp, 0x10
movzx ebp, bpl
xor rdi, qword [rax + rbp*8]
shr r13, 0x38
lea rax, [0x00712940]
movzx ebp, r12b
mov rbp, qword [rax + rbp*8]
xor rbp, qword [r15 + r13*8]
mov r13, r9
lea rax, [0x0070f940]
shr r13, 0x20
shr rsi, 0x10
shr r11d, 0x18
movzx r13d, r13b
movzx esi, sil
shr r9, 0x28
movzx r9d, r9b
xor rdi, rbp
mov ebp, r10d
shr r10, 0x20
shr ebp, 0x18
movzx r10d, r10b
mov rbp, qword [r8 + rbp*8]
xor rbp, qword [rcx + r13*8]
mov r13, rbx
shr rbx, 0x30
shr r13, 0x28
movzx ebx, bl
movzx r13d, r13b
xor rbp, qword [rdx + r13*8]
lea r13, [0x00712140]
xor rbp, rdi
xor rbp, qword [rsp + 0x98]
mov qword [rsp + 0x10], rbp
mov rbp, qword [rsp + 8]
xor rbp, qword [rax + rbx*8]
mov rax, r12
movzx edi, ah
lea rax, [0x00711940]
mov rdi, qword [r13 + rdi*8]
xor rdi, qword [rax + rsi*8]
lea rax, [0x00712940]
movzx esi, r14b
mov rsi, qword [rax + rsi*8]
lea rax, [0x0070f130]
mov rbx, rbp
mov rbp, qword [rsp + 0x50]
shr rbp, 0x38
xor rsi, qword [r15 + rbp*8]
xor rdi, rsi
mov rsi, qword [r8 + r11*8]
xor rsi, qword [rcx + r10*8]
xor rsi, qword [rdx + r9*8]
add qword [rsp + 0x70], 8
mov r11, qword [rsp + 0x70]
xor rsi, rdi
xor rsi, rbx
mov qword [rsp + 0x18], rsi
cmp rax, r11
jne 0x5c58e0
mov r11, qword [rsp + 0xd8]
xor r11, qword [rsp + 0x88]
mov rax, qword [rsp + 0x138]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov qword [rax], r11
mov rax, qword [rsp + 0x130]
mov r11, qword [rsp + 0xa0]
xor r11, qword [rax + 8]
mov rax, qword [rsp + 0x138]
xor r11, qword [rsp + 0x90]
mov qword [rax + 8], r11
mov rax, qword [rsp + 0x130]
xor rsi, qword [rax + 0x10]
mov rax, qword [rsp + 0x138]
xor rsi, qword [rsp + 0x60]
mov qword [rax + 0x10], rsi
mov rax, qword [rsp + 0x130]
xor rdi, qword [rax + 0x18]
mov rax, qword [rsp + 0x138]
xor rdi, qword [rsp + 0x58]
mov qword [rax + 0x18], rdi
mov rax, qword [rsp + 0x130]
xor rbp, qword [rax + 0x20]
mov rax, qword [rsp + 0x138]
xor rbp, qword [rsp + 0x38]
mov qword [rax + 0x20], rbp
mov rax, qword [rsp + 0x130]
xor r12, qword [rax + 0x28]
xor r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0x138]
mov rbp, qword [rsp + 0xd0]
mov qword [rax + 0x28], r12
mov rax, qword [rsp + 0x130]
mov r12, qword [rsp + 0xc8]
xor r12, qword [rax + 0x30]
mov rax, qword [rsp + 0x138]
xor r12, qword [rsp + 0x10]
mov qword [rax + 0x30], r12
mov rax, qword [rsp + 0x130]
xor rbp, qword [rax + 0x38]
mov rax, qword [rsp + 0x138]
xor rbp, qword [rsp + 0x18]
mov qword [rax + 0x38], rbp
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret