Function at 0x140004470
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r14d, 0x9e3779b9
xor eax, eax
mov rdx, rcx
mov qword [rcx + 0x808], rax
mov dword [rcx + 0x804], eax
mov r13d, r14d
mov r11d, r14d
mov r10d, r14d
lea ecx, [rax + 4]
mov r9d, r14d
mov r12d, r14d
mov ebp, r14d
mov r15d, r14d
nop dword [rax]
mov eax, ebp
add ebp, r12d
shl eax, 0xb
xor r15d, eax
mov eax, r12d
shr eax, 2
add r9d, r15d
xor ebp, eax
add r12d, r9d
add r10d, ebp
mov eax, r9d
shl eax, 8
add r9d, r10d
xor r12d, eax
mov eax, r10d
shr eax, 0x10
add r11d, r12d
xor r9d, eax
add r10d, r11d
add r13d, r9d
mov eax, r11d
shl eax, 0xa
add r11d, r13d
xor r10d, eax
mov eax, r13d
shr eax, 4
add r14d, r10d
xor r11d, eax
add r13d, r14d
add r15d, r11d
mov eax, r14d
shl eax, 8
add r14d, r15d
xor r13d, eax
mov eax, r15d
shr eax, 9
add ebp, r13d
xor r14d, eax
add r15d, ebp
add r12d, r14d
sub rcx, 1
jne 0x1400044c0
mov ecx, 8
lea rax, [rdx + 0xc]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x90], rcx
add ebp, dword [rax - 4]
add r12d, dword [rax]
mov ecx, ebp
mov esi, dword [rax - 8]
shl ecx, 0xb
add esi, r15d
xor esi, ecx
mov ecx, dword [rax + 4]
add ecx, esi
lea edx, [r12 + rbp]
add r9d, ecx
mov ecx, r12d
shr ecx, 2
xor edx, ecx
mov ecx, dword [rax + 8]
add ecx, edx
add r10d, ecx
lea r8d, [r9 + r12]
mov ecx, r9d
add r9d, r10d
shl ecx, 8
xor r8d, ecx
mov ecx, dword [rax + 0xc]
add ecx, r8d
add r11d, ecx
mov ecx, r10d
shr ecx, 0x10
add r10d, r11d
xor r9d, ecx
mov ecx, dword [rax + 0x10]
add ecx, r9d
add r13d, ecx
mov ecx, r11d
shl ecx, 0xa
add r11d, r13d
xor r10d, ecx
mov ecx, dword [rax + 0x14]
add ecx, r10d
mov dword [rax + 0x404], r9d
add r14d, ecx
mov dword [rax + 0x408], r10d
mov ecx, r13d
shr ecx, 4
xor r11d, ecx
mov ecx, r14d
shl ecx, 8
lea ebx, [r14 + r13]
xor ebx, ecx
mov dword [rax + 0x40c], r11d
add edx, ebx
mov dword [rax + 0x410], ebx
mov dword [rax + 0x3fc], edx
add esi, r11d
mov ecx, esi
shr ecx, 9
lea edi, [r14 + rsi]
add esi, edx
xor edi, ecx
mov dword [rax + 0x3f8], esi
mov dword [rax + 0x414], edi
add r8d, edi
mov dword [rax + 0x400], r8d
add edx, dword [rax + 0x1c]
add r8d, dword [rax + 0x20]
mov ecx, edx
mov ebp, dword [rax + 0x18]
add edx, r8d
shl ecx, 0xb
add ebp, esi
xor ebp, ecx
mov ecx, dword [rax + 0x24]
add ecx, ebp
add r9d, ecx
mov ecx, r8d
shr ecx, 2
xor edx, ecx
mov ecx, dword [rax + 0x28]
add ecx, edx
add r10d, ecx
mov ecx, r9d
add r8d, r9d
shl ecx, 8
add r9d, r10d
xor r8d, ecx
mov ecx, dword [rax + 0x2c]
add ecx, r8d
add r11d, ecx
mov ecx, r10d
shr ecx, 0x10
add r10d, r11d
xor r9d, ecx
mov ecx, dword [rax + 0x30]
add ecx, r9d
add ebx, ecx
mov ecx, r11d
shl ecx, 0xa
add r11d, ebx
xor r10d, ecx
mov ecx, dword [rax + 0x34]
add ecx, r10d
mov dword [rax + 0x424], r9d
add edi, ecx
mov dword [rax + 0x428], r10d
mov ecx, ebx
add ebx, edi
shr ecx, 4
xor r11d, ecx
mov ecx, edi
shl ecx, 8
add ebp, r11d
xor ebx, ecx
mov dword [rax + 0x42c], r11d
mov dword [rax + 0x430], ebx
add edx, ebx
mov dword [rax + 0x41c], edx
add edi, ebp
mov ecx, ebp
add ebp, edx
shr ecx, 9
xor edi, ecx
mov dword [rax + 0x418], ebp
mov dword [rax + 0x434], edi
add r8d, edi
mov dword [rax + 0x420], r8d
add r8d, dword [rax + 0x40]
add edx, dword [rax + 0x3c]
mov esi, dword [rax + 0x38]
mov ecx, edx
shl ecx, 0xb
add edx, r8d
add esi, ebp
xor esi, ecx
mov ecx, dword [rax + 0x44]
add ecx, esi
add r9d, ecx
mov ecx, r8d
shr ecx, 2
add r8d, r9d
xor edx, ecx
mov ecx, dword [rax + 0x48]
add ecx, edx
add r10d, ecx
mov ecx, r9d
shl ecx, 8
add r9d, r10d
xor r8d, ecx
mov ecx, dword [rax + 0x4c]
add ecx, r8d
add r11d, ecx
mov ecx, r10d
shr ecx, 0x10
add r10d, r11d
xor r9d, ecx
mov ecx, dword [rax + 0x50]
add ecx, r9d
add ebx, ecx
mov ecx, r11d
shl ecx, 0xa
xor r10d, ecx
mov ecx, dword [rax + 0x54]
add ecx, r10d
add edi, ecx
mov dword [rax + 0x444], r9d
add r11d, ebx
mov dword [rax + 0x448], r10d
mov ecx, ebx
shr ecx, 4
add ebx, edi
xor r11d, ecx
mov ecx, edi
shl ecx, 8
add esi, r11d
xor ebx, ecx
mov dword [rax + 0x44c], r11d
mov dword [rax + 0x450], ebx
add edx, ebx
mov dword [rax + 0x43c], edx
add edi, esi
mov ecx, esi
add esi, edx
shr ecx, 9
xor edi, ecx
mov dword [rax + 0x438], esi
mov dword [rax + 0x454], edi
add r8d, edi
mov dword [rax + 0x440], r8d
add r8d, dword [rax + 0x60]
add edx, dword [rax + 0x5c]
mov r15d, dword [rax + 0x58]
mov ecx, edx
shl ecx, 0xb
add r15d, esi
xor r15d, ecx
mov ecx, dword [rax + 0x64]
add ecx, r15d
lea ebp, [r8 + rdx]
add r9d, ecx
mov ecx, r8d
shr ecx, 2
xor ebp, ecx
mov ecx, dword [rax + 0x68]
add ecx, ebp
add r10d, ecx
lea r12d, [r9 + r8]
mov ecx, r9d
add r9d, r10d
shl ecx, 8
xor r12d, ecx
mov ecx, dword [rax + 0x6c]
add ecx, r12d
add r11d, ecx
mov ecx, r10d
shr ecx, 0x10
add r10d, r11d
xor r9d, ecx
mov ecx, dword [rax + 0x70]
add ecx, r9d
add ebx, ecx
mov ecx, r11d
shl ecx, 0xa
add r11d, ebx
xor r10d, ecx
mov ecx, dword [rax + 0x74]
add ecx, r10d
add edi, ecx
mov ecx, ebx
shr ecx, 4
xor r11d, ecx
mov ecx, edi
shl ecx, 8
add r15d, r11d
lea r13d, [rdi + rbx]
xor r13d, ecx
mov ecx, r15d
shr ecx, 9
add ebp, r13d
lea r14d, [rdi + r15]
mov dword [rax + 0x45c], ebp
xor r14d, ecx
add r12d, r14d
add r15d, ebp
mov dword [rax + 0x460], r12d
mov dword [rax + 0x458], r15d
sub qword [rsp + 0x90], 1
mov dword [rax + 0x464], r9d
mov dword [rax + 0x468], r10d
mov dword [rax + 0x46c], r11d
mov dword [rax + 0x470], r13d
mov dword [rax + 0x474], r14d
lea rax, [rax + 0x80]
jne 0x140004552
mov rbx, qword [rsp + 0x80]
add rbx, 0x40c
mov qword [rsp + 0x98], rbx
nop dword [rax]
nop word [rax + rax]
add r12d, dword [rbx]
add ebp, dword [rbx - 4]
mov edx, dword [rbx - 8]
mov eax, ebp
mov ecx, dword [rbx + 8]
add edx, r15d
shl eax, 0xb
xor edx, eax
lea r8d, [r12 + rbp]
mov eax, dword [rbx + 4]
add eax, edx
add r9d, eax
mov eax, r12d
shr eax, 2
xor r8d, eax
mov dword [rsp + 0x88], r9d
add ecx, r8d
add r9d, r12d
add r10d, ecx
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x90], r10d
mov eax, ecx
shl eax, 8
add r10d, ecx
xor r9d, eax
mov eax, dword [rbx + 0xc]
add eax, r9d
add r11d, eax
mov eax, dword [rsp + 0x90]
shr eax, 0x10
xor r10d, eax
mov dword [rsp + 0x88], r11d
mov eax, dword [rbx + 0x10]
mov ecx, dword [rsp + 0x88]
add eax, r10d
add r11d, dword [rsp + 0x90]
add r13d, eax
mov eax, ecx
shl eax, 0xa
xor r11d, eax
mov eax, dword [rbx + 0x14]
add eax, r11d
lea ebx, [rcx + r13]
add r14d, eax
mov eax, r13d
shr eax, 4
xor ebx, eax
mov eax, r14d
shl eax, 8
add edx, ebx
lea edi, [r14 + r13]
xor edi, eax
mov eax, edx
shr eax, 9
add r8d, edi
lea esi, [r14 + rdx]
mov r14, qword [rsp + 0x98]
xor esi, eax
add edx, r8d
add r9d, esi
mov dword [r14 - 4], r8d
add r8d, dword [r14 + 0x1c]
mov eax, r8d
mov dword [r14 - 8], edx
add edx, dword [r14 + 0x18]
shl eax, 0xb
xor edx, eax
mov dword [r14], r9d
add r9d, dword [r14 + 0x20]
mov eax, dword [r14 + 0x24]
add r8d, r9d
add eax, edx
mov dword [r14 + 4], r10d
add r10d, eax
mov dword [r14 + 8], r11d
mov eax, r9d
mov dword [r14 + 0xc], ebx
shr eax, 2
xor r8d, eax
mov dword [r14 + 0x10], edi
mov dword [r14 + 0x14], esi
mov ecx, dword [r14 + 0x28]
add r9d, r10d
add ecx, r8d
mov eax, r10d
shl eax, 8
add r11d, ecx
xor r9d, eax
mov ecx, dword [r14 + 0x48]
mov eax, dword [r14 + 0x2c]
add r10d, r11d
add eax, r9d
add ebx, eax
mov eax, r11d
shr eax, 0x10
add r11d, ebx
xor r10d, eax
mov eax, dword [r14 + 0x30]
add eax, r10d
mov dword [r14 + 0x24], r10d
add edi, eax
mov eax, ebx
shl eax, 0xa
add ebx, edi
xor r11d, eax
mov eax, dword [r14 + 0x34]
add eax, r11d
mov dword [r14 + 0x28], r11d
add esi, eax
mov eax, edi
shr eax, 4
add edi, esi
xor ebx, eax
mov eax, esi
shl eax, 8
add edx, ebx
xor edi, eax
mov dword [r14 + 0x2c], ebx
add r8d, edi
mov dword [r14 + 0x30], edi
add esi, edx
mov dword [r14 + 0x1c], r8d
mov eax, edx
add edx, r8d
add r8d, dword [r14 + 0x3c]
shr eax, 9
xor esi, eax
mov dword [r14 + 0x18], edx
add edx, dword [r14 + 0x38]
add r9d, esi
mov eax, r8d
mov dword [r14 + 0x20], r9d
add r9d, dword [r14 + 0x40]
shl eax, 0xb
add r8d, r9d
xor edx, eax
mov dword [r14 + 0x34], esi
mov eax, dword [r14 + 0x44]
add eax, edx
add r10d, eax
mov eax, r9d
shr eax, 2
add r9d, r10d
xor r8d, eax
mov eax, r10d
shl eax, 8
add ecx, r8d
xor r9d, eax
add r11d, ecx
mov eax, dword [r14 + 0x4c]
add r10d, r11d
add eax, r9d
add ebx, eax
mov eax, r11d
shr eax, 0x10
add r11d, ebx
xor r10d, eax
mov eax, dword [r14 + 0x50]
add eax, r10d
add edi, eax
mov eax, ebx
shl eax, 0xa
xor r11d, eax
mov r15d, dword [r14 + 0x58]
mov eax, dword [r14 + 0x54]
add ebx, edi
add eax, r11d
mov ecx, dword [r14 + 0x68]
add esi, eax
mov dword [r14 + 0x44], r10d
mov eax, edi
mov dword [r14 + 0x48], r11d
shr eax, 4
add edi, esi
xor ebx, eax
mov eax, esi
shl eax, 8
add edx, ebx
xor edi, eax
mov dword [r14 + 0x4c], ebx
add r8d, edi
mov dword [r14 + 0x50], edi
add esi, edx
mov dword [r14 + 0x3c], r8d
mov eax, edx
add edx, r8d
add r8d, dword [r14 + 0x5c]
add r15d, edx
shr eax, 9
xor esi, eax
mov dword [r14 + 0x38], edx
add r9d, esi
mov dword [r14 + 0x54], esi
mov dword [r14 + 0x40], r9d
mov eax, r8d
add r9d, dword [r14 + 0x60]
shl eax, 0xb
xor r15d, eax
mov eax, dword [r14 + 0x64]
add eax, r15d
add r10d, eax
lea ebp, [r9 + r8]
mov eax, r9d
shr eax, 2
xor ebp, eax
mov eax, r10d
shl eax, 8
lea r12d, [r10 + r9]
xor r12d, eax
add ecx, ebp
mov eax, dword [r14 + 0x6c]
add r11d, ecx
add eax, r12d
add ebx, eax
mov eax, r11d
shr eax, 0x10
lea r9d, [r11 + r10]
xor r9d, eax
mov eax, dword [r14 + 0x70]
add eax, r9d
lea r10d, [rbx + r11]
add edi, eax
mov eax, ebx
shl eax, 0xa
xor r10d, eax
mov eax, dword [r14 + 0x74]
add eax, r10d
add esi, eax
lea r11d, [rdi + rbx]
mov eax, edi
shr eax, 4
xor r11d, eax
mov eax, esi
shl eax, 8
lea r13d, [rsi + rdi]
xor r13d, eax
add r15d, r11d
mov eax, r15d
add ebp, r13d
shr eax, 9
lea r14d, [rsi + r15]
xor r14d, eax
add r12d, r14d
mov rbx, qword [rsp + 0x98]
add r15d, ebp
mov dword [rbx + 0x58], r15d
mov dword [rbx + 0x5c], ebp
mov dword [rbx + 0x60], r12d
mov dword [rbx + 0x64], r9d
mov dword [rbx + 0x68], r10d
mov dword [rbx + 0x6c], r11d
mov dword [rbx + 0x70], r13d
mov dword [rbx + 0x74], r14d
sub rbx, 0xffffffffffffff80
sub qword [rsp + 0x20], 1
mov qword [rsp + 0x98], rbx
jne 0x1400048c0
mov rbx, qword [rsp + 0x80]
mov rcx, rbx
call fcn.1400041f0
mov dword [rbx], 0x100
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret