Function at 0x14008de80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r12
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [rcx + 0x10]
mov r12, r9
mov rdi, r8
mov r15, rdx
mov rbx, rcx
cmp qword [rcx + 8], rax
jne 0x14008deb8
call fcn.140041540
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r14
cmp r12, 2
jb 0x14008e3e8
mov rsi, r12
shr rsi, 1
imul rax, rsi, 0xfffffffffffffffe
mov qword [rbp - 0x30], rsi
add r12, rax
mov qword [rbp + 0x48], r12
nop word [rax + rax]
mov eax, dword [r15]
mov ecx, dword [r15 + 4]
bswap ecx
rol ecx, 4
bswap eax
mov r8d, eax
xor r8d, ecx
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 r8d, r9d
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, r9d
xor ecx, eax
ror r8d, 6
mov r9d, r8d
xor r9d, ecx
and r9d, 0xff00ff
mov edx, r9d
xor r9d, r8d
xor edx, ecx
rol r9d, 9
mov ecx, r9d
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor ecx, r9d
xor eax, edx
mov dword [rbp - 0x40], ecx
mov ecx, dword [r15 + 0xc]
rol eax, 1
mov dword [rbp - 0x3c], eax
mov eax, dword [r15 + 8]
bswap eax
bswap ecx
rol ecx, 4
mov r8d, ecx
xor r8d, eax
and r8d, 0xf0f0f0f0
mov edx, r8d
xor r8d, ecx
xor edx, eax
rol r8d, 0xc
mov ecx, r8d
xor ecx, edx
and ecx, 0xffff0000
mov eax, ecx
xor ecx, r8d
xor eax, edx
rol ecx, 0xe
mov r8d, ecx
xor r8d, eax
and r8d, 0x33333333
mov edx, r8d
xor r8d, ecx
xor edx, eax
ror r8d, 6
mov eax, r8d
xor eax, edx
and eax, 0xff00ff
xor r8d, eax
xor edx, eax
rol r8d, 9
mov ecx, r8d
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor eax, edx
rol eax, 1
mov dword [rbp - 0x34], eax
mov r14, qword [rbx + 8]
lea r9, [rbp - 0x38]
xor ecx, r8d
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x38], ecx
lea r8, [rbp - 0x34]
lea rcx, [rbp - 0x3c]
mov qword [rsp + 0x20], r14
lea rdx, [rbp - 0x40]
call fcn.14008ce30
mov eax, dword [rbp - 0x38]
lea rdi, [r14 + 0xf8]
mov r13d, dword [rbp - 0x40]
mov r14d, eax
mov r12d, dword [rbp - 0x3c]
mov r15d, 8
mov esi, dword [rbp - 0x34]
nop
mov ebx, dword [rdi + 4]
mov r10d, r12d
ror r10d, 4
mov r9d, ebx
xor r10d, dword [rdi]
xor r9d, r12d
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 [rdi]
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 r13d, 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, r13d
ror r9d, 4
xor r9d, dword [rdi - 8]
xor r8d, dword [r10 + rcx*4 + 0x176000]
xor r8d, dword [r10 + rax*4 + 0x176400]
movzx eax, bl
mov ebx, dword [rdi - 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, r13d
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 rdi, [rdi - 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 [rdi + 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 r12d, 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 r15, 1
jne 0x14008e040
mov rax, qword [rbp - 0x28]
lea r9, [rbp - 0x38]
add rax, 0x100
mov dword [rbp - 0x40], r13d
lea r8, [rbp - 0x34]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x3c], r12d
lea rcx, [rbp - 0x3c]
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x34], esi
call fcn.14008ce30
mov r11d, dword [rbp - 0x40]
mov rdi, qword [rbp + 0x40]
mov r8d, dword [rbp - 0x38]
ror r11d, 1
mov ecx, r11d
ror r8d, 1
xor ecx, dword [rbp - 0x3c]
and ecx, 0xaaaaaaaa
xor r11d, ecx
xor ecx, dword [rbp - 0x3c]
ror ecx, 9
mov eax, ecx
xor eax, r11d
and eax, 0xff00ff
xor r11d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r11d
and ecx, 0x33333333
xor r11d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r11d
and edx, 0xffff0000
xor r11d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r11d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
ror ecx, 4
xor eax, r11d
bswap ecx
mov dword [rdi + 4], ecx
mov ecx, r8d
xor ecx, dword [rbp - 0x34]
and ecx, 0xaaaaaaaa
xor r8d, ecx
xor ecx, dword [rbp - 0x34]
ror ecx, 9
bswap eax
mov dword [rdi], eax
mov eax, ecx
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r8d
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
xor r8d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r8d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor eax, r8d
mov r15, qword [rbp + 0x38]
xor ecx, edx
mov rbx, qword [rbp + 0x30]
add r15, 0x10
ror ecx, 4
bswap ecx
bswap eax
mov dword [rdi + 0xc], ecx
mov dword [rdi + 8], eax
add rdi, 0x10
sub qword [rbp - 0x30], 1
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rdi
jne 0x14008def0
mov r12, qword [rbp + 0x48]
test r12, r12
je 0x14008e690
sub r15, rdi
lea r14, [rdi + 4]
mov qword [rbp + 0x38], r15
nop dword [rax]
mov ecx, dword [r15 + r14]
mov eax, dword [r15 + r14 - 4]
mov r13, qword [rbx + 8]
bswap ecx
rol ecx, 4
mov r8d, ecx
bswap eax
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 r8d, r9d
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, r9d
xor ecx, eax
ror r8d, 6
mov r9d, r8d
xor r9d, ecx
and r9d, 0xff00ff
mov edx, r9d
xor r9d, r8d
xor edx, ecx
rol r9d, 9
mov ecx, r9d
mov r8, r13
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor ecx, r9d
xor eax, edx
mov dword [rbp + 0x48], ecx
rol eax, 1
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x34]
mov dword [rbp - 0x34], eax
call fcn.14008c940
mov ebx, dword [rbp + 0x48]
lea rax, [r13 + 0xf8]
mov edi, dword [rbp - 0x34]
lea r15, [0x140000000]
mov esi, 8
nop dword [rax + rax]
mov r10d, edi
lea rax, [rax - 0x10]
ror r10d, 4
mov r11d, edi
xor r10d, dword [rax + 0x10]
xor r11d, dword [rax + 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 ebx, r9d
mov r10d, ebx
mov r11d, ebx
xor r11d, dword [rax + 0xc]
ror r10d, 4
xor r10d, dword [rax + 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 edi, r9d
sub rsi, 1
jne 0x14008e4c0
lea r8, [r13 + 0x100]
mov dword [rbp + 0x48], ebx
lea rdx, [rbp + 0x48]
mov dword [rbp - 0x34], edi
lea rcx, [rbp - 0x34]
call fcn.14008c940
mov r8d, dword [rbp + 0x48]
mov r15, qword [rbp + 0x38]
mov rbx, qword [rbp + 0x30]
ror r8d, 1
mov ecx, r8d
xor ecx, dword [rbp - 0x34]
and ecx, 0xaaaaaaaa
xor r8d, ecx
xor ecx, dword [rbp - 0x34]
ror ecx, 9
mov eax, ecx
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r8d
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
xor r8d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r8d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
ror ecx, 4
xor eax, r8d
bswap ecx
bswap eax
mov dword [r14], ecx
mov dword [r14 - 4], eax
add r14, 8
sub r12, 1
jne 0x14008e400
mov r14, qword [rsp + 0x58]
mov r13, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x70
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret