Function at 0x16003dc64
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x78]
sub rsp, 0x150
mov rax, qword [0x1600ef078]
xor rax, rsp
mov qword [rbp + 0x40], rax
xor r8d, r8d
lea rbx, [rsp]
mov r11d, r8d
mov r10, rdx
mov r9, rcx
lea eax, [r11*4]
inc r11d
movzx ecx, byte [rax + r10 + 1]
mov edx, eax
movzx eax, byte [rax + r10]
shl eax, 8
or ecx, eax
movzx eax, byte [rdx + r10 + 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + r10 + 3]
shl ecx, 8
or ecx, eax
mov dword [rbx], ecx
lea rbx, [rbx + 4]
cmp r11d, 0x10
jb 0x16003dca5
mov r15d, dword [r9 + 8]
lea rdx, [rsp + 0x40]
mov r12d, dword [r9 + 0xc]
lea rcx, [rsp + 8]
mov r13d, dword [r9 + 0x10]
mov esi, r15d
mov r11d, dword [r9 + 0x14]
mov edi, r12d
mov ebx, dword [r9 + 0x18]
mov r10d, r13d
mov r14d, 0x40
mov eax, dword [rcx + 0x2c]
xor eax, dword [rcx + 0x18]
xor eax, dword [rcx - 8]
xor eax, dword [rcx]
lea rcx, [rcx + 4]
rol eax, 1
mov dword [rdx], eax
lea rdx, [rdx + 4]
sub r14, 1
jne 0x16003dd11
mov r14d, 1
mov ecx, esi
mov eax, r11d
xor eax, r10d
rol ecx, 5
and eax, edi
rol edi, 0x1e
xor eax, r11d
add eax, 0x5a827999
add ecx, eax
mov eax, r10d
add ecx, dword [rsp + r8*4]
xor eax, edi
and eax, esi
add ebx, ecx
xor eax, r10d
rol esi, 0x1e
add eax, 0x5a827999
add r8d, r14d
mov ecx, ebx
rol ecx, 5
add ecx, eax
mov eax, edi
add ecx, dword [rsp + r8*4]
xor eax, esi
add r11d, ecx
and eax, ebx
xor eax, edi
rol ebx, 0x1e
add eax, 0x5a827999
add r8d, r14d
mov ecx, r11d
rol ecx, 5
add ecx, eax
mov eax, ebx
add ecx, dword [rsp + r8*4]
xor eax, esi
add r10d, ecx
and eax, r11d
xor eax, esi
rol r11d, 0x1e
add eax, 0x5a827999
add r8d, r14d
mov ecx, r10d
add esi, 0x5a827999
rol ecx, 5
add ecx, eax
mov eax, ebx
add ecx, dword [rsp + r8*4]
xor eax, r11d
add edi, ecx
and eax, r10d
add r8d, r14d
rol r10d, 0x1e
xor eax, ebx
mov ecx, edi
rol ecx, 5
add ecx, eax
add ecx, dword [rsp + r8*4]
add r8d, r14d
add esi, ecx
cmp r8d, 0x14
jb 0x16003dd34
jmp 0x16003de9d
mov ecx, esi
mov eax, r11d
xor eax, r10d
rol ecx, 5
add ecx, dword [rsp + r8*4]
xor eax, edi
add eax, ebx
rol edi, 0x1e
add r8d, r14d
lea ebx, [rcx + 0x6ed9eba1]
add ebx, eax
mov eax, r10d
xor eax, edi
mov ecx, ebx
xor eax, esi
rol ecx, 5
add ecx, dword [rsp + r8*4]
add eax, r11d
add r8d, r14d
rol esi, 0x1e
lea r11d, [rcx + 0x6ed9eba1]
add r11d, eax
mov eax, ebx
xor eax, edi
rol ebx, 0x1e
xor eax, esi
mov ecx, r11d
add eax, r10d
rol ecx, 5
add ecx, dword [rsp + r8*4]
add r8d, r14d
lea r10d, [rcx + 0x6ed9eba1]
add r10d, eax
mov eax, ebx
xor eax, r11d
mov ecx, r10d
xor eax, esi
rol ecx, 5
add ecx, dword [rsp + r8*4]
add eax, edi
add r8d, r14d
rol r11d, 0x1e
lea edi, [rcx + 0x6ed9eba1]
add edi, eax
mov eax, ebx
xor eax, r11d
mov ecx, edi
rol ecx, 5
xor eax, r10d
add ecx, dword [rsp + r8*4]
add eax, esi
add r8d, r14d
lea esi, [rcx + 0x6ed9eba1]
add esi, eax
rol r10d, 0x1e
cmp r8d, 0x28
jb 0x16003ddf2
jmp 0x16003df79
mov ecx, r10d
mov eax, r10d
or ecx, edi
and eax, edi
and ecx, r11d
rol edi, 0x1e
or ecx, eax
mov edx, esi
add ecx, dword [rsp + r8*4]
mov eax, edi
add ecx, ebx
rol edx, 5
and eax, esi
add r8d, r14d
lea ebx, [rdx - 0x70e44324]
add ebx, ecx
mov ecx, edi
or ecx, esi
mov edx, ebx
and ecx, r10d
rol edx, 5
or ecx, eax
rol esi, 0x1e
add ecx, dword [rsp + r8*4]
mov eax, ebx
add ecx, r11d
and eax, esi
lea r11d, [rdx - 0x70e44324]
add r8d, r14d
add r11d, ecx
mov ecx, ebx
or ecx, esi
rol ebx, 0x1e
and ecx, edi
mov edx, r11d
or ecx, eax
rol edx, 5
add ecx, dword [rsp + r8*4]
mov eax, ebx
add ecx, r10d
add r8d, r14d
and eax, r11d
lea r10d, [rdx - 0x70e44324]
add r10d, ecx
mov ecx, ebx
or ecx, r11d
mov edx, r10d
and ecx, esi
rol edx, 5
or ecx, eax
rol r11d, 0x1e
add ecx, dword [rsp + r8*4]
mov eax, r11d
add ecx, edi
add r8d, r14d
lea edi, [rdx - 0x70e44324]
and eax, r10d
add edi, ecx
mov ecx, r11d
or ecx, r10d
mov edx, edi
and ecx, ebx
rol edx, 5
or ecx, eax
add ecx, dword [rsp + r8*4]
add r8d, r14d
add ecx, esi
lea esi, [rdx - 0x70e44324]
add esi, ecx
rol r10d, 0x1e
cmp r8d, 0x3c
jb 0x16003deac
jmp 0x16003e03d
mov eax, dword [rsp + r8*4]
mov ecx, r11d
xor ecx, r10d
add r8d, r14d
xor ecx, edi
mov edx, esi
add eax, ecx
rol edx, 5
add eax, ebx
rol edi, 0x1e
mov ecx, r10d
xor ecx, edi
xor ecx, esi
lea ebx, [rdx - 0x359d3e2a]
add ebx, eax
rol esi, 0x1e
mov eax, dword [rsp + r8*4]
mov edx, ebx
add eax, ecx
rol edx, 5
add eax, r11d
add r8d, r14d
mov ecx, ebx
rol ebx, 0x1e
xor ecx, edi
xor ecx, esi
lea r11d, [rdx - 0x359d3e2a]
add r11d, eax
mov eax, dword [rsp + r8*4]
add eax, ecx
add r8d, r14d
add eax, r10d
mov edx, r11d
rol edx, 5
mov ecx, ebx
xor ecx, r11d
rol r11d, 0x1e
xor ecx, esi
lea r10d, [rdx - 0x359d3e2a]
add r10d, eax
mov eax, dword [rsp + r8*4]
add eax, ecx
add r8d, r14d
add eax, edi
mov edx, r10d
rol edx, 5
mov ecx, ebx
xor ecx, r11d
xor ecx, r10d
lea edi, [rdx - 0x359d3e2a]
add edi, eax
mov eax, dword [rsp + r8*4]
add eax, ecx
mov edx, edi
add eax, esi
rol edx, 5
add r8d, r14d
lea esi, [rdx - 0x359d3e2a]
add esi, eax
rol r10d, 0x1e
cmp r8d, 0x50
jb 0x16003df88
add dword [r9 + 0x14], r11d
lea eax, [r15 + rsi]
add dword [r9 + 0x18], ebx
mov dword [r9 + 8], eax
lea eax, [r12 + rdi]
mov dword [r9 + 0xc], eax
lea eax, [r10 + r13]
mov dword [r9 + 0x10], eax
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.160056220
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret