Function at 0x1800044a0
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x180004822
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1c8]
sub rsp, 0x2c8
mov rdi, rdx
lea rax, [rsp + 0x70]
sub rdi, rax
mov rbx, rcx
mov qword [rbp + 0x218], rdi
lea rcx, [rsp + 0x70]
mov edx, 0x10
mov eax, dword [rcx + rdi]
bswap eax
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x1800044ed
lea r8d, [rdx + 0x40]
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x50]
call fcn.18002bd80
lea r8, [rbp - 0x50]
mov r9d, 0x34
mov edx, dword [r8 + 0x34]
mov ecx, dword [r8 + 0xc]
rol ecx, 7
rol edx, 0xf
xor edx, dword [r8 + 0x1c]
xor edx, dword [r8]
lea r8, [r8 + 4]
mov eax, edx
rol eax, 0xf
xor ecx, eax
mov eax, edx
ror eax, 9
xor ecx, eax
xor ecx, dword [r8 + 0x24]
xor ecx, edx
mov dword [r8 + 0x3c], ecx
sub r9, 1
jne 0x18000451a
xor eax, eax
movdqu xmm1, xmmword [rbp + rax - 0x40]
movdqu xmm0, xmmword [rbp + rax - 0x50]
pxor xmm1, xmm0
movdqu xmmword [rbp + rax + 0xc0], xmm1
add rax, 0x10
cmp rax, 0xfc
jle 0x180004553
mov r11d, dword [rbx + 4]
mov r13d, dword [rbx + 0x18]
mov r14d, dword [rbx + 0xc]
mov r10d, dword [rbx]
mov ecx, r10d
mov esi, dword [rbx + 8]
mov edi, esi
mov r15d, dword [rbx + 0x10]
mov r9d, r15d
mov eax, dword [rbx + 0x1c]
mov r12d, dword [rbx + 0x14]
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x48], r11d
mov r11d, r13d
mov dword [rsp + 0x38], r13d
xor r13d, r13d
xor r8d, r8d
mov dword [rsp + 0x4c], r14d
mov dword [rsp + 0x28], r14d
mov r14d, dword [rsp + 0x2c]
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x54], r10d
mov dword [rbp + 0x228], ecx
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], r15d
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x24], eax
mov eax, ecx
mov edx, 0x79cc4519
rol eax, 0xc
mov ecx, r13d
rol edx, cl
inc r13d
add edx, eax
mov ecx, edi
add edx, r9d
xor ecx, r14d
xor ecx, dword [rbp + 0x228]
rol edx, 7
xor eax, edx
add ecx, eax
mov rax, qword [rsp + 0x40]
add ecx, dword [rbp + r8 + 0xc0]
mov r8d, r11d
add ecx, dword [rsp + 0x28]
xor r8d, r12d
xor r8d, r9d
mov dword [rsp + 0x28], edi
add r8d, dword [rbp + rax - 0x50]
mov edi, r14d
mov r14d, dword [rbp + 0x228]
add r8d, edx
add r8d, dword [rsp + 0x24]
mov eax, r8d
mov dword [rsp + 0x24], r11d
mov r11d, r12d
rol eax, 9
mov r12d, r9d
rol edi, 9
mov r9d, r8d
ror r11d, 0xd
ror r9d, 0xf
xor r9d, eax
mov dword [rbp + 0x228], ecx
xor r9d, r8d
mov r8, qword [rsp + 0x40]
add r8, 4
mov qword [rsp + 0x40], r8
cmp r13d, 0xf
jle 0x1800045ea
and qword [rsp + 0x68], 0
mov eax, 0x10
mov r13d, dword [rsp + 0x38]
mov dword [rsp + 0x20], r12d
mov r15d, dword [rsp + 0x20]
mov r12d, dword [rsp + 0x50]
mov dword [rsp + 0x2c], r14d
mov esi, dword [rsp + 0x2c]
mov r14d, dword [rsp + 0x4c]
mov dword [rsp + 0x34], r11d
mov r10d, dword [rsp + 0x34]
mov r11d, dword [rsp + 0x48]
mov dword [rsp + 0x30], edi
mov ebx, dword [rsp + 0x30]
mov rdi, qword [rbp + 0x218]
mov dword [rsp + 0x40], eax
mov edx, ecx
mov r8d, 0x7a879d8a
mov ecx, eax
rol edx, 0xc
rol r8d, cl
mov eax, esi
and eax, dword [rbp + 0x228]
add r8d, edx
add r8d, r9d
mov ecx, esi
xor ecx, dword [rbp + 0x228]
and ecx, ebx
rol r8d, 7
xor ecx, eax
xor edx, r8d
add ecx, edx
mov eax, r15d
mov rdx, qword [rsp + 0x68]
and eax, r9d
add qword [rsp + 0x68], 4
add ecx, dword [rbp + rdx + 0x100]
add ecx, dword [rsp + 0x28]
mov dword [rsp + 0x38], ecx
mov ecx, r9d
not ecx
mov dword [rsp + 0x28], ebx
and ecx, r10d
xor ecx, eax
add ecx, dword [rbp + rdx - 0x10]
mov edx, dword [rsp + 0x38]
add ecx, r8d
add ecx, dword [rsp + 0x24]
mov r8d, ebx
mov dword [rsp + 0x24], r10d
mov eax, ecx
rol eax, 9
mov r10d, r15d
mov r15d, r9d
ror r10d, 0xd
mov r9d, ecx
mov ebx, esi
mov esi, dword [rbp + 0x228]
ror r9d, 0xf
xor r9d, eax
rol ebx, 9
mov eax, dword [rsp + 0x40]
xor r9d, ecx
inc eax
mov dword [rbp + 0x228], edx
mov dword [rsp + 0x40], eax
mov ecx, edx
cmp eax, 0x3f
jle 0x1800046da
mov eax, dword [rsp + 0x60]
xor r11d, esi
xor eax, dword [rsp + 0x24]
xor r14d, r8d
mov esi, dword [rsp + 0x58]
add rdi, 0x40
mov dword [rsp + 0x20], r15d
xor r12d, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x5c]
mov dword [rsp + 0x34], r10d
xor r15d, r9d
xor r13d, dword [rsp + 0x34]
mov r10d, dword [rsp + 0x54]
mov dword [rsp + 0x30], ebx
xor r10d, edx
mov rbx, qword [rbp + 0x210]
xor esi, dword [rsp + 0x30]
sub qword [rbp + 0x220], 1
mov qword [rbp + 0x218], rdi
mov dword [rbx], r10d
mov dword [rbx + 4], r11d
mov dword [rbx + 8], esi
mov dword [rbx + 0xc], r14d
mov dword [rbx + 0x10], r15d
mov dword [rbx + 0x14], r12d
mov dword [rbx + 0x18], r13d
mov dword [rbx + 0x1c], eax
jne 0x1800044e3
add rsp, 0x2c8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret