Function at 0x14008bd40
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r15
sub rsp, 0x88
mov rax, qword [rcx + 0x10]
mov r13, r9
mov r15, r8
mov r12, rdx
mov rbp, rcx
cmp qword [rcx + 8], rax
jne 0x14008bd78
call fcn.140041540
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x68], r14
cmp r13, 2
jb 0x14008c537
mov rbx, r13
shr rbx, 1
imul rax, rbx, 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
add r13, rax
mov qword [rsp + 0xc8], r13
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [r12]
mov eax, dword [r12 + 4]
mov r13, qword [rbp + 8]
bswap r8d
mov ecx, r8d
mov qword [rsp + 0x50], r13
bswap eax
rol eax, 4
xor ecx, eax
and ecx, 0xf0f0f0f0
xor r8d, ecx
xor ecx, eax
rol ecx, 0xc
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
mov eax, edx
xor edx, ecx
xor eax, r8d
rol edx, 0xe
mov r8d, edx
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, edx
xor ecx, eax
ror r8d, 6
mov eax, dword [r12 + 8]
mov r11d, r8d
xor r11d, ecx
bswap eax
and r11d, 0xff00ff
mov r10d, r11d
xor r11d, r8d
xor r10d, ecx
rol r11d, 9
mov ecx, dword [r12 + 0xc]
mov edi, r11d
bswap ecx
rol ecx, 4
xor edi, r10d
mov r8d, ecx
and edi, 0xaaaaaaaa
xor r8d, eax
mov ebp, edi
and r8d, 0xf0f0f0f0
xor ebp, r10d
mov edx, r8d
rol ebp, 1
xor edx, eax
xor r8d, ecx
rol r8d, 0xc
xor edi, r11d
mov r9d, r8d
xor r9d, edx
and r9d, 0xffff0000
mov eax, r9d
xor r9d, r8d
xor eax, edx
rol r9d, 0xe
mov edx, r9d
xor edx, eax
and edx, 0x33333333
mov ecx, edx
xor edx, r9d
xor ecx, eax
ror edx, 6
mov r8d, edx
xor r8d, ecx
and r8d, 0xff00ff
mov eax, r8d
xor r8d, edx
xor eax, ecx
rol r8d, 9
mov esi, r8d
xor esi, eax
and esi, 0xaaaaaaaa
mov r14d, esi
xor r14d, eax
rol r14d, 1
xor esi, r8d
lea rax, [r13 + 0x178]
mov r12d, 8
mov r13, rax
nop dword [rax]
nop word [rax + rax]
mov ebx, dword [r13 + 4]
mov r10d, edi
ror r10d, 4
mov r9d, ebx
xor r10d, dword [r13]
xor r9d, edi
mov eax, r10d
mov edx, r10d
shr eax, 0x10
xor ebx, esi
movzx ecx, al
lea rax, [0x140000000]
shr rdx, 0x18
mov r8d, dword [rax + rdx*4 + 0x174c00]
lea rdx, [0x140000000]
xor r8d, dword [rdx + rcx*4 + 0x175400]
mov eax, r10d
shr eax, 8
movzx ecx, al
mov eax, r9d
shr rax, 0x18
xor r8d, dword [rdx + rcx*4 + 0x175c00]
xor r8d, dword [rdx + rax*4 + 0x175000]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [rdx + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, esi
ror r9d, 4
xor r9d, dword [r13]
xor r8d, dword [rdx + rcx*4 + 0x176000]
xor r8d, dword [rdx + rax*4 + 0x176800]
movzx eax, r10b
lea r10, [0x140000000]
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r10 + rax*4 + 0x176400]
mov eax, r9d
shr eax, 0x10
xor ebp, r8d
mov r8d, dword [r10 + rdx*4 + 0x174c00]
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [r10 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, ebx
shr rax, 0x18
xor r8d, dword [r10 + rcx*4 + 0x175c00]
xor r8d, dword [r10 + rax*4 + 0x175000]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
xor r8d, dword [r10 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, ebp
ror r9d, 4
xor r9d, dword [r13 - 8]
xor r8d, dword [r10 + rcx*4 + 0x176000]
xor r8d, dword [r10 + rax*4 + 0x176400]
movzx eax, bl
mov ebx, dword [r13 - 4]
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r10 + rax*4 + 0x176800]
mov eax, r9d
xor r14d, r8d
mov r10d, ebx
xor r10d, ebp
shr eax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov r8d, dword [rax + rdx*4 + 0x174c00]
lea rdx, [0x140000000]
xor r8d, dword [rdx + rcx*4 + 0x175400]
lea r13, [r13 - 0x10]
mov eax, r9d
xor ebx, r14d
shr eax, 8
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [rdx + rcx*4 + 0x175c00]
xor r8d, dword [rdx + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [rdx + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, r14d
ror r9d, 4
xor r9d, dword [r13 + 8]
xor r8d, dword [rdx + rcx*4 + 0x176000]
xor r8d, dword [rdx + rax*4 + 0x176400]
movzx eax, r10b
lea r10, [0x140000000]
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r10 + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor edi, r8d
mov r8d, dword [r10 + rdx*4 + 0x174c00]
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [r10 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, ebx
shr rax, 0x18
xor r8d, dword [r10 + rcx*4 + 0x175c00]
xor r8d, dword [r10 + rax*4 + 0x175000]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
xor r8d, dword [r10 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r10 + rcx*4 + 0x176000]
xor r8d, dword [r10 + rax*4 + 0x176400]
movzx eax, bl
xor r8d, dword [r10 + rax*4 + 0x176800]
xor esi, r8d
sub r12, 1
jne 0x14008bef0
mov r13, qword [rsp + 0x50]
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x40]
mov dword [rsp + 0x30], ebp
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x34], edi
lea rcx, [rsp + 0x34]
mov dword [rsp + 0x38], r14d
lea rax, [r13 + 0x80]
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x20], rax
call fcn.14008ce30
mov ebp, dword [rsp + 0x30]
lea r15d, [r12 + 8]
mov r12, qword [rsp + 0xb8]
add r13, 0x78
mov edi, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x38]
mov esi, dword [rsp + 0x40]
nop word [rax + rax]
lea r11, [0x140000000]
mov r9d, edi
ror r9d, 4
mov r10d, edi
xor r9d, dword [r13]
xor r10d, dword [r13 + 4]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
lea rax, [0x140000000]
mov edx, r9d
shr rdx, 0x18
mov r8d, dword [rax + rdx*4 + 0x174c00]
mov eax, r9d
shr eax, 8
lea rdx, [0x140000000]
xor r8d, dword [rdx + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [rdx + rcx*4 + 0x175c00]
xor r8d, dword [rdx + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [rdx + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, esi
ror r9d, 4
xor r9d, dword [r13]
xor r8d, dword [rdx + rcx*4 + 0x176000]
xor r8d, dword [rdx + rax*4 + 0x176400]
movzx eax, r10b
mov r10d, esi
xor r10d, dword [r13 + 4]
xor r8d, dword [rdx + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor ebp, r8d
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edx, r9d
shr rdx, 0x18
mov r8d, dword [r11 + rdx*4 + 0x174c00]
xor r8d, dword [r11 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [r11 + rcx*4 + 0x175c00]
xor r8d, dword [r11 + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [r11 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, ebp
ror r9d, 4
xor r9d, dword [r13 - 8]
xor r8d, dword [r11 + rcx*4 + 0x176000]
xor r8d, dword [r11 + rax*4 + 0x176400]
movzx eax, r10b
mov r10d, ebp
xor r10d, dword [r13 - 4]
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r11 + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor r14d, r8d
movzx ecx, al
lea rax, [0x140000000]
mov r8d, dword [rax + rdx*4 + 0x174c00]
lea rdx, [0x140000000]
xor r8d, dword [rdx + rcx*4 + 0x175400]
lea r11, [0x140000000]
mov eax, r9d
shr eax, 8
lea r13, [r13 - 0x10]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [rdx + rcx*4 + 0x175c00]
xor r8d, dword [rdx + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [rdx + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, r14d
ror r9d, 4
xor r9d, dword [r13 + 8]
xor r8d, dword [rdx + rcx*4 + 0x176000]
xor r8d, dword [rdx + rax*4 + 0x176400]
movzx eax, r10b
mov r10d, r14d
xor r10d, dword [r13 + 0xc]
xor r8d, dword [rdx + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor edi, r8d
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edx, r9d
shr rdx, 0x18
mov r8d, dword [r11 + rdx*4 + 0x174c00]
xor r8d, dword [r11 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [r11 + rcx*4 + 0x175c00]
xor r8d, dword [r11 + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [r11 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r11 + rcx*4 + 0x176000]
xor r8d, dword [r11 + rax*4 + 0x176400]
movzx eax, r10b
xor r8d, dword [r11 + rax*4 + 0x176800]
xor esi, r8d
sub r15, 1
jne 0x14008c1c0
mov r15, qword [rsp + 0xc0]
mov eax, ebp
ror edi, 1
add r12, 0x10
xor eax, edi
ror esi, 1
and eax, 0xaaaaaaaa
mov qword [rsp + 0xb8], r12
xor edi, eax
xor ebp, eax
ror ebp, 9
mov eax, ebp
xor eax, edi
and eax, 0xff00ff
xor edi, eax
xor eax, ebp
mov rbp, qword [rsp + 0xb0]
rol eax, 6
mov ecx, eax
xor ecx, edi
and ecx, 0x33333333
xor edi, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, edi
and edx, 0xffff0000
xor edi, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, edi
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
xor eax, edi
ror ecx, 4
bswap eax
mov dword [r15], eax
mov eax, esi
xor eax, r14d
and eax, 0xaaaaaaaa
xor esi, eax
xor eax, r14d
bswap ecx
mov dword [r15 + 4], ecx
ror eax, 9
mov ecx, eax
xor ecx, esi
and ecx, 0xff00ff
xor esi, ecx
xor ecx, eax
rol ecx, 6
mov eax, ecx
xor eax, esi
and eax, 0x33333333
xor esi, eax
xor eax, ecx
ror eax, 0xe
mov edx, eax
xor edx, esi
and edx, 0xffff0000
xor esi, edx
xor edx, eax
ror edx, 0xc
mov ecx, edx
xor ecx, esi
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
ror ecx, 4
xor eax, esi
bswap ecx
bswap eax
mov dword [r15 + 0xc], ecx
mov dword [r15 + 8], eax
add r15, 0x10
sub qword [rsp + 0x48], 1
mov qword [rsp + 0xc0], r15
jne 0x14008bdc0
mov r13, qword [rsp + 0xc8]
test r13, r13
je 0x14008c90e
lea r14, [r15 + 4]
sub r12, r15
lea r15, [0x140000000]
nop
mov ecx, dword [r12 + r14]
mov esi, 8
mov eax, dword [r12 + r14 - 4]
mov rbp, qword [rbp + 8]
bswap eax
bswap ecx
rol ecx, 4
mov r8d, ecx
lea rbx, [rbp + 0x178]
xor r8d, eax
and r8d, 0xf0f0f0f0
mov edx, r8d
xor r8d, ecx
xor edx, eax
rol r8d, 0xc
mov r9d, r8d
xor r9d, edx
and r9d, 0xffff0000
mov eax, r9d
xor r9d, r8d
xor eax, edx
rol r9d, 0xe
mov edx, r9d
xor edx, eax
and edx, 0x33333333
mov ecx, edx
xor edx, r9d
xor ecx, eax
ror edx, 6
mov r8d, edx
xor r8d, ecx
and r8d, 0xff00ff
mov eax, r8d
xor r8d, edx
xor eax, ecx
rol r8d, 9
mov r11d, r8d
xor r11d, eax
and r11d, 0xaaaaaaaa
mov edi, r11d
xor edi, eax
rol edi, 1
xor r11d, r8d
nop word [rax + rax]
mov r9d, r11d
lea rbx, [rbx - 0x10]
ror r9d, 4
mov r10d, r11d
xor r9d, dword [rbx + 0x10]
xor r10d, dword [rbx + 0x14]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
mov edx, r9d
shr rdx, 0x18
mov r8d, dword [r15 + rdx*4 + 0x174c00]
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor r8d, dword [r15 + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r15 + rcx*4 + 0x176000]
xor r8d, dword [r15 + rax*4 + 0x176400]
movzx eax, r10b
xor r8d, dword [r15 + rax*4 + 0x176800]
xor edi, r8d
mov r9d, edi
mov r10d, edi
xor r10d, dword [rbx + 0xc]
ror r9d, 4
xor r9d, dword [rbx + 8]
mov eax, r9d
mov edx, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
shr rdx, 0x18
mov r8d, dword [r15 + rdx*4 + 0x174c00]
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r10d
shr rax, 0x18
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor r8d, dword [r15 + rax*4 + 0x175000]
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
xor r8d, dword [r15 + rcx*4 + 0x176000]
xor r8d, dword [r15 + rax*4 + 0x176400]
movzx eax, r10b
xor r8d, dword [r15 + rax*4 + 0x176800]
xor r11d, r8d
sub rsi, 1
jne 0x14008c5f0
lea r8, [rbp + 0x80]
mov dword [rsp + 0xc8], edi
lea rdx, [rsp + 0xc8]
mov dword [rsp + 0x40], r11d
lea rcx, [rsp + 0x40]
call fcn.14008c940
mov eax, dword [rsp + 0x40]
lea rbx, [rbp + 0x78]
mov edi, dword [rsp + 0xc8]
mov esi, 8
nop word [rax + rax]
mov r10d, eax
lea rbx, [rbx - 0x10]
ror r10d, 4
mov r11d, eax
xor r10d, dword [rbx + 0x10]
xor r11d, dword [rbx + 0x14]
mov ecx, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
mov r8d, r10d
shr r8, 0x18
mov r9d, dword [r15 + r8*4 + 0x174c00]
xor r9d, dword [r15 + rdx*4 + 0x175400]
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
xor r9d, dword [r15 + rdx*4 + 0x175c00]
xor r9d, dword [r15 + rcx*4 + 0x175000]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
xor r9d, dword [r15 + rdx*4 + 0x175800]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r15 + rdx*4 + 0x176000]
xor r9d, dword [r15 + rcx*4 + 0x176400]
movzx ecx, r11b
xor r9d, dword [r15 + rcx*4 + 0x176800]
xor edi, r9d
mov r10d, edi
mov r11d, edi
xor r11d, dword [rbx + 0xc]
ror r10d, 4
xor r10d, dword [rbx + 8]
mov ecx, r10d
mov r8d, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
shr r8, 0x18
mov r9d, dword [r15 + r8*4 + 0x174c00]
xor r9d, dword [r15 + rdx*4 + 0x175400]
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
xor r9d, dword [r15 + rdx*4 + 0x175c00]
xor r9d, dword [r15 + rcx*4 + 0x175000]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
xor r9d, dword [r15 + rdx*4 + 0x175800]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r15 + rdx*4 + 0x176000]
xor r9d, dword [r15 + rcx*4 + 0x176400]
movzx ecx, r11b
xor r9d, dword [r15 + rcx*4 + 0x176800]
xor eax, r9d
sub rsi, 1
jne 0x14008c760
mov rbp, qword [rsp + 0xb0]
mov ecx, edi
ror eax, 1
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor ecx, edi
ror ecx, 9
mov edx, ecx
xor edx, eax
and edx, 0xff00ff
xor eax, edx
xor edx, ecx
rol edx, 6
mov ecx, edx
xor ecx, eax
and ecx, 0x33333333
xor eax, ecx
xor ecx, edx
ror ecx, 0xe
mov r8d, ecx
xor r8d, eax
and r8d, 0xffff0000
xor eax, r8d
xor r8d, ecx
ror r8d, 0xc
mov edx, r8d
xor edx, eax
and edx, 0xf0f0f0f0
mov ecx, edx
xor edx, r8d
ror edx, 4
xor ecx, eax
bswap edx
bswap ecx
mov dword [r14], edx
mov dword [r14 - 4], ecx
add r14, 8
sub r13, 1
jne 0x14008c550
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
add rsp, 0x88
pop r15
pop r13
pop r12
pop rbp
ret