Function at 0x14008b610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push r12
push r13
push r15
sub rsp, 0x50
mov rax, qword [rcx + 0x10]
mov r13, r9
mov r12, r8
mov r15, rdx
mov rbx, rcx
cmp qword [rcx + 8], rax
jne 0x14008b646
call fcn.140041540
mov qword [rsp + 0x48], rsi
lea rbp, [0x140000000]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r14
cmp r13, 2
jb 0x14008bad5
mov r11, r13
shr r11, 1
imul rax, r11, 0xfffffffffffffffe
mov qword [rsp + 0x20], r11
add r13, rax
mov qword [rsp + 0x98], r13
mov r10d, dword [r15]
mov r12d, 8
mov eax, dword [r15 + 4]
mov r8d, dword [r15 + 8]
mov r13, qword [rbx + 8]
bswap eax
rol eax, 4
bswap r10d
mov ecx, r10d
xor ecx, eax
and ecx, 0xf0f0f0f0
xor r10d, ecx
xor ecx, eax
rol ecx, 0xc
mov eax, r10d
xor eax, ecx
and eax, 0xffff0000
xor r10d, eax
xor eax, ecx
rol eax, 0xe
mov ecx, r10d
xor ecx, eax
and ecx, 0x33333333
xor r10d, ecx
xor ecx, eax
mov eax, dword [r15 + 0xc]
mov r9d, r10d
ror ecx, 6
lea r15, [0x140000000]
xor r9d, ecx
bswap eax
rol eax, 4
and r9d, 0xff00ff
xor r10d, r9d
xor r9d, ecx
bswap r8d
mov ecx, r8d
rol r9d, 9
xor ecx, eax
mov edi, r10d
and ecx, 0xf0f0f0f0
xor edi, r9d
xor r8d, ecx
and edi, 0xaaaaaaaa
xor ecx, eax
mov ebp, edi
rol ecx, 0xc
mov eax, r8d
xor eax, ecx
xor ebp, r10d
and eax, 0xffff0000
rol ebp, 1
xor r8d, eax
xor edi, r9d
xor eax, ecx
mov ecx, r8d
rol eax, 0xe
xor ecx, eax
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 6
mov edx, r8d
xor edx, ecx
and edx, 0xff00ff
xor r8d, edx
xor edx, ecx
rol edx, 9
mov esi, r8d
xor esi, edx
and esi, 0xaaaaaaaa
mov r14d, esi
xor esi, edx
xor r14d, r8d
rol r14d, 1
add r13, 0x78
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
xor ebx, esi
mov edx, r10d
shr rdx, 0x18
mov eax, r10d
shr eax, 0x10
movzx ecx, al
mov eax, r10d
shr eax, 8
mov r8d, dword [r15 + rdx*4 + 0x174c00]
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, r9d
shr rax, 0x18
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor r8d, dword [r15 + rax*4 + 0x175000]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, esi
ror r9d, 4
xor r9d, dword [r13]
xor r8d, dword [r15 + rcx*4 + 0x176000]
xor r8d, dword [r15 + rax*4 + 0x176800]
movzx eax, r10b
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r15 + rax*4 + 0x176400]
mov eax, r9d
shr eax, 0x10
xor ebp, r8d
mov r8d, dword [r15 + rdx*4 + 0x174c00]
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, ebx
shr rax, 0x18
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor r8d, dword [r15 + rax*4 + 0x175000]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175800]
movzx ecx, al
movzx eax, r9b
mov r9d, ebp
ror r9d, 4
xor r9d, dword [r13 - 8]
xor r8d, dword [r15 + rcx*4 + 0x176000]
xor r8d, dword [r15 + rax*4 + 0x176400]
movzx eax, bl
mov ebx, dword [r13 - 4]
mov r10d, ebx
mov edx, r9d
xor r10d, ebp
shr rdx, 0x18
xor r8d, dword [r15 + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor r14d, r8d
movzx ecx, al
mov eax, r9d
mov r8d, dword [r15 + rdx*4 + 0x174c00]
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor ebx, r14d
mov eax, r10d
shr rax, 0x18
lea r13, [r13 - 0x10]
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
mov r9d, r14d
ror r9d, 4
xor r9d, dword [r13 + 8]
xor r8d, dword [r15 + rcx*4 + 0x176000]
xor r8d, dword [r15 + rax*4 + 0x176400]
movzx eax, r10b
mov edx, r9d
shr rdx, 0x18
xor r8d, dword [r15 + rax*4 + 0x176800]
mov eax, r9d
shr eax, 0x10
xor edi, r8d
mov r8d, dword [r15 + rdx*4 + 0x174c00]
movzx ecx, al
mov eax, r9d
shr eax, 8
xor r8d, dword [r15 + rcx*4 + 0x175400]
movzx ecx, al
mov eax, ebx
shr rax, 0x18
xor r8d, dword [r15 + rcx*4 + 0x175c00]
xor r8d, dword [r15 + rax*4 + 0x175000]
mov eax, ebx
shr eax, 0x10
movzx ecx, al
mov eax, ebx
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, bl
xor r8d, dword [r15 + rax*4 + 0x176800]
xor esi, r8d
sub r12, 1
jne 0x14008b780
mov r12, qword [rsp + 0x90]
mov eax, ebp
mov r15, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
add r15, 0x10
ror edi, 1
xor eax, edi
ror esi, 1
and eax, 0xaaaaaaaa
mov qword [rsp + 0x88], r15
xor edi, eax
xor ebp, eax
ror ebp, 9
mov eax, ebp
xor eax, edi
and eax, 0xff00ff
xor edi, eax
xor eax, ebp
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 [r12], eax
mov eax, esi
xor eax, r14d
and eax, 0xaaaaaaaa
xor esi, eax
xor eax, r14d
bswap ecx
mov dword [r12 + 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 [r12 + 0xc], ecx
mov dword [r12 + 8], eax
add r12, 0x10
sub qword [rsp + 0x20], 1
mov qword [rsp + 0x90], r12
jne 0x14008b680
mov r13, qword [rsp + 0x98]
lea rbp, [0x140000000]
test r13, r13
je 0x14008bd1e
lea r14, [r12 + 4]
sub r15, r12
nop word [rax + rax]
mov rdi, qword [rbx + 8]
mov esi, 8
mov r8d, dword [r15 + r14 - 4]
mov eax, dword [r15 + r14]
bswap eax
rol eax, 4
bswap r8d
mov ecx, r8d
xor ecx, eax
and ecx, 0xf0f0f0f0
xor r8d, ecx
xor ecx, eax
rol ecx, 0xc
mov eax, r8d
xor eax, ecx
and eax, 0xffff0000
xor r8d, eax
xor eax, ecx
rol eax, 0xe
mov ecx, r8d
xor ecx, eax
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 6
mov edx, r8d
xor edx, ecx
and edx, 0xff00ff
xor r8d, edx
xor edx, ecx
rol edx, 9
mov eax, r8d
xor eax, edx
and eax, 0xaaaaaaaa
mov ebx, eax
xor eax, edx
xor ebx, r8d
rol ebx, 1
add rdi, 0x78
nop dword [rax]
mov r10d, eax
lea rdi, [rdi - 0x10]
ror r10d, 4
mov r11d, eax
xor r10d, dword [rdi + 0x10]
xor r11d, dword [rdi + 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 [rbp + r8*4 + 0x174c00]
xor r9d, dword [rbp + rdx*4 + 0x175400]
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
xor r9d, dword [rbp + rdx*4 + 0x175c00]
xor r9d, dword [rbp + rcx*4 + 0x175000]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
xor r9d, dword [rbp + rdx*4 + 0x175800]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [rbp + rdx*4 + 0x176000]
xor r9d, dword [rbp + rcx*4 + 0x176400]
movzx ecx, r11b
xor r9d, dword [rbp + rcx*4 + 0x176800]
xor ebx, r9d
mov r10d, ebx
mov r11d, ebx
xor r11d, dword [rdi + 0xc]
ror r10d, 4
xor r10d, dword [rdi + 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 [rbp + r8*4 + 0x174c00]
xor r9d, dword [rbp + rdx*4 + 0x175400]
movzx edx, cl
mov ecx, r11d
shr rcx, 0x18
xor r9d, dword [rbp + rdx*4 + 0x175c00]
xor r9d, dword [rbp + rcx*4 + 0x175000]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
mov ecx, r11d
shr ecx, 8
xor r9d, dword [rbp + rdx*4 + 0x175800]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [rbp + rdx*4 + 0x176000]
xor r9d, dword [rbp + rcx*4 + 0x176400]
movzx ecx, r11b
xor r9d, dword [rbp + rcx*4 + 0x176800]
xor eax, r9d
sub rsi, 1
jne 0x14008bb70
ror eax, 1
mov ecx, ebx
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor ecx, ebx
mov rbx, qword [rsp + 0x80]
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 0x14008baf0
mov r14, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x50
pop r15
pop r13
pop r12
pop rbp
pop rbx
ret