Function at 0x140004100
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov r15d, dword [rcx]
mov r14d, dword [rcx + 4]
mov ebp, dword [rcx + 8]
mov esi, dword [rcx + 0xc]
mov ebx, dword [rcx + 0x10]
mov r11d, dword [rcx + 0x14]
mov r13d, dword [rcx + 0x18]
mov r12d, dword [rcx + 0x1c]
test r8, r8
je 0x1400047dd
mov rcx, 0xfffffffffffffffc
mov qword [rsp + 0x1a8], rdi
sub rcx, rdx
mov dword [rsp + 0x10], r15d
mov qword [rsp + 0x48], rcx
lea rax, [rdx + 4]
mov dword [rsp + 0x14], r14d
lea r9, [0x140012a00]
mov dword [rsp + 0x18], ebp
mov dword [rsp + 0x1c], esi
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x2c], r12d
nop dword [rax + rax]
lea r8, [rcx + r9]
mov r10d, 4
lea rdx, [rsp + 0x64]
mov qword [rsp + 0x40], r8
add rdx, rcx
lea rdi, [rsp + 0x60]
mov qword [rsp + 0x1b8], rdx
add rdi, rcx
lea rdx, [r9 + 4]
add rdx, rcx
mov qword [rsp + 0x30], rdx
lea rdx, [rsp + 0x68]
add rdx, rcx
mov qword [rsp], rdx
lea rdx, [r9 + 8]
add rdx, rcx
mov qword [rsp + 8], rdx
lea rdx, [rsp + 0x6c]
add rdx, rcx
add rcx, 0xc
add rcx, r9
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], rcx
nop dword [rax]
nop dword [rax + rax]
mov edx, dword [rax - 4]
mov ecx, ebx
ror ecx, 0xb
mov r9d, ebx
ror r9d, 0x19
xor r9d, ecx
mov ecx, ebx
ror ecx, 6
xor r9d, ecx
mov ecx, r13d
xor ecx, r11d
and ecx, ebx
xor ecx, r13d
add r9d, ecx
mov ecx, r15d
add r9d, dword [r8 + rax]
mov r8d, r15d
ror ecx, 0xd
ror r8d, 0x16
xor r8d, ecx
mov ecx, r15d
ror ecx, 2
xor r8d, ecx
mov ecx, r14d
and ecx, r15d
bswap edx
add r9d, edx
mov dword [rdi + rax], edx
mov edx, dword [rax]
add r9d, r12d
bswap edx
lea r12d, [r9 + rsi]
mov esi, r14d
or esi, r15d
and esi, ebp
or esi, ecx
mov rcx, qword [rsp + 0x1b8]
add esi, r9d
mov r9d, r12d
add esi, r8d
ror r9d, 0x19
mov r8d, esi
mov dword [rcx + rax], edx
mov ecx, r12d
ror ecx, 0xb
xor r9d, ecx
ror r8d, 0x16
mov ecx, r12d
ror ecx, 6
xor r9d, ecx
mov ecx, r11d
xor ecx, ebx
and ecx, r12d
xor ecx, r11d
add r9d, ecx
mov rcx, qword [rsp + 0x30]
add r9d, dword [rax + rcx]
mov ecx, esi
ror ecx, 0xd
add r9d, edx
mov edx, dword [rax + 4]
xor r8d, ecx
add r9d, r13d
mov ecx, esi
ror ecx, 2
xor r8d, ecx
mov ecx, r15d
and ecx, esi
lea r13d, [r9 + rbp]
mov ebp, r15d
or ebp, esi
and ebp, r14d
or ebp, ecx
mov rcx, qword [rsp]
add ebp, r9d
mov r9d, r13d
bswap edx
add ebp, r8d
mov dword [rax + rcx], edx
mov ecx, r13d
ror r9d, 0x19
ror ecx, 0xb
mov r8d, ebp
xor r9d, ecx
ror r8d, 0x16
mov ecx, r13d
ror ecx, 6
xor r9d, ecx
mov ecx, ebx
xor ecx, r12d
and ecx, r13d
xor ecx, ebx
add r9d, ecx
mov rcx, qword [rsp + 8]
add r9d, dword [rax + rcx]
mov ecx, ebp
ror ecx, 0xd
add r9d, edx
mov edx, dword [rax + 8]
xor r8d, ecx
add r9d, r11d
mov ecx, ebp
ror ecx, 2
xor r8d, ecx
mov ecx, esi
and ecx, ebp
lea r11d, [r9 + r14]
mov r14d, esi
or r14d, ebp
and r14d, r15d
or r14d, ecx
mov rcx, qword [rsp + 0x50]
add r14d, r9d
mov r9d, r11d
add r14d, r8d
ror r9d, 0x19
bswap edx
mov dword [rax + rcx], edx
mov r8d, r14d
ror r8d, 0x16
mov ecx, r11d
ror ecx, 0xb
xor r9d, ecx
mov ecx, r11d
ror ecx, 6
xor r9d, ecx
mov ecx, r12d
xor ecx, r13d
and ecx, r11d
xor ecx, r12d
add r9d, ecx
mov rcx, qword [rsp + 0x58]
add r9d, dword [rax + rcx]
mov ecx, r14d
ror ecx, 0xd
add r9d, edx
xor r8d, ecx
add r9d, ebx
mov ecx, r14d
add rax, 0x10
ror ecx, 2
xor r8d, ecx
mov ecx, ebp
lea ebx, [r9 + r15]
and ecx, r14d
mov r15d, ebp
or r15d, r14d
and r15d, esi
or r15d, ecx
add r15d, r9d
add r15d, r8d
mov r8, qword [rsp + 0x40]
sub r10, 1
jne 0x140004200
xor edi, edi
mov qword [rsp + 0x40], rax
mov qword [rsp], rdi
mov eax, r15d
mov dword [rsp + 8], ebx
mov dword [rsp + 0x1b8], r11d
mov qword [rsp + 0x30], 0xc
nop
mov r10d, dword [rsp + rdi + 0x64]
mov r9d, r10d
mov r8d, dword [rsp + rdi + 0x98]
mov ecx, r10d
ror ecx, 7
mov edx, r8d
ror r9d, 0x12
xor r9d, ecx
ror edx, 0x13
mov ecx, r10d
shr ecx, 3
xor r9d, ecx
mov ecx, r8d
ror ecx, 0x11
xor edx, ecx
shr r8d, 0xa
xor edx, r8d
mov ecx, ebx
ror ecx, 0xb
add r9d, edx
add r9d, dword [rsp + rdi + 0x60]
mov r8d, eax
mov rdx, qword [rsp]
mov edi, dword [rsp + rdi + 0x84]
add edi, r9d
ror r8d, 0x16
mov r9d, ebx
ror r9d, 0x19
xor r9d, ecx
mov dword [rsp + rdx + 0xa0], edi
mov ecx, ebx
ror ecx, 6
xor r9d, ecx
mov ecx, r13d
xor ecx, r11d
mov r11d, dword [rsp + rdx + 0x68]
and ecx, ebx
mov ebx, r11d
xor ecx, r13d
ror ebx, 0x12
add r9d, ecx
lea rcx, [0x140012a00]
add r9d, dword [rdx + rcx + 0x40]
mov ecx, eax
ror ecx, 0xd
add r9d, edi
xor r8d, ecx
ror eax, 2
xor r8d, eax
add r9d, r12d
mov rax, rdx
mov ecx, r14d
and ecx, r15d
lea r12d, [r9 + rsi]
mov esi, r14d
or esi, r15d
and esi, ebp
or esi, ecx
mov ecx, r11d
ror ecx, 7
add esi, r9d
xor ebx, ecx
add esi, r8d
mov r8d, dword [rsp + rdx + 0x9c]
mov ecx, r11d
shr ecx, 3
mov edx, r8d
xor ebx, ecx
ror edx, 0x13
mov ecx, r8d
mov r9d, r12d
ror ecx, 0x11
xor edx, ecx
shr r8d, 0xa
xor edx, r8d
mov ecx, r12d
add ebx, edx
add ebx, dword [rsp + rax + 0x88]
add ebx, r10d
mov dword [rsp + rax + 0xa4], ebx
ror r9d, 0x19
ror ecx, 0xb
mov edx, edi
xor r9d, ecx
mov r10d, dword [rsp + rax + 0x6c]
ror edx, 0x13
mov ecx, r12d
ror ecx, 6
mov r8d, esi
xor r9d, ecx
ror r8d, 0x16
mov ecx, dword [rsp + 0x1b8]
xor ecx, dword [rsp + 8]
and ecx, r12d
xor ecx, dword [rsp + 0x1b8]
add r9d, ecx
lea rcx, [0x140012a00]
add r9d, dword [rax + rcx + 0x44]
mov ecx, esi
ror ecx, 0xd
add r9d, ebx
xor r8d, ecx
add r9d, r13d
mov ecx, esi
ror ecx, 2
xor r8d, ecx
mov ecx, r15d
and ecx, esi
lea r13d, [r9 + rbp]
mov ebp, r15d
or ebp, esi
and ebp, r14d
or ebp, ecx
mov ecx, r10d
ror ecx, 7
add ebp, r9d
add ebp, r8d
mov r9d, r13d
ror r9d, 0x19
mov r8d, r10d
ror r8d, 0x12
xor r8d, ecx
mov ecx, r10d
shr ecx, 3
xor r8d, ecx
mov ecx, edi
ror ecx, 0x11
xor edx, ecx
shr edi, 0xa
xor edx, edi
mov ecx, r13d
mov edi, dword [rsp + 8]
add edx, r8d
add edx, dword [rsp + rax + 0x8c]
mov r8d, ebp
ror ecx, 0xb
add edx, r11d
xor r9d, ecx
ror r8d, 0x16
mov ecx, r13d
mov dword [rsp + rax + 0xa8], edx
ror ecx, 6
xor r9d, ecx
mov ecx, edi
xor ecx, r12d
and ecx, r13d
xor ecx, edi
add r9d, ecx
lea rcx, [0x140012a00]
add r9d, dword [rax + rcx + 0x48]
mov ecx, ebp
ror ecx, 0xd
add r9d, edx
add r9d, dword [rsp + 0x1b8]
xor r8d, ecx
mov ecx, ebp
ror ecx, 2
xor r8d, ecx
lea r11d, [r9 + r14]
mov r14d, esi
or r14d, ebp
mov dword [rsp + 0x1b8], r11d
and r14d, r15d
mov ecx, esi
and ecx, ebp
or r14d, ecx
mov ecx, ebx
ror ecx, 0x11
add r14d, r9d
add r14d, r8d
mov r9d, ebx
mov r8d, dword [rsp + rax + 0x70]
mov edx, r8d
ror r9d, 0x13
xor r9d, ecx
ror edx, 0x12
mov ecx, r8d
shr ebx, 0xa
ror ecx, 7
xor r9d, ebx
xor edx, ecx
shr r8d, 3
xor edx, r8d
mov ecx, r11d
ror ecx, 0xb
add edx, r9d
add edx, dword [rsp + rax + 0x90]
mov r9d, r11d
ror r9d, 0x19
add edx, r10d
xor r9d, ecx
mov dword [rsp + rax + 0xac], edx
mov ecx, r11d
mov r8d, r14d
ror ecx, 6
xor r9d, ecx
ror r8d, 0x16
mov ecx, r12d
xor ecx, r13d
and ecx, r11d
xor ecx, r12d
add r9d, ecx
lea rcx, [0x140012a00]
add r9d, dword [rax + rcx + 0x4c]
mov ecx, r14d
ror ecx, 0xd
add r9d, edx
xor r8d, ecx
add r9d, edi
mov rdi, qword [rsp]
mov ecx, r14d
ror ecx, 2
add rdi, 0x10
xor r8d, ecx
mov qword [rsp], rdi
lea ebx, [r9 + r15]
mov eax, ebp
or eax, r14d
mov dword [rsp + 8], ebx
and eax, esi
mov ecx, ebp
and ecx, r14d
or eax, ecx
add eax, r9d
add eax, r8d
sub qword [rsp + 0x30], 1
mov r15d, eax
jne 0x140004400
mov rdx, qword [rsp + 0x1a0]
mov r9d, dword [rsp + 0x14]
mov r15d, dword [rsp + 0x10]
add r9d, r14d
mov rcx, qword [rsp + 0x48]
mov r14d, r9d
mov dword [rdx + 4], r9d
add r15d, eax
mov rax, qword [rsp + 0x40]
sub rcx, 0x40
mov dword [rsp + 0x14], r9d
mov r9d, dword [rsp + 0x18]
add r9d, ebp
mov dword [rsp + 0x10], r15d
mov dword [rsp + 0x18], r9d
mov ebp, r9d
mov dword [rdx + 8], r9d
mov r9d, dword [rsp + 0x1c]
add r9d, esi
mov dword [rdx], r15d
mov dword [rsp + 0x1c], r9d
mov esi, r9d
mov dword [rdx + 0xc], r9d
mov r9d, dword [rsp + 0x20]
add r9d, ebx
mov qword [rsp + 0x48], rcx
mov ebx, r9d
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x24]
add r9d, r11d
mov dword [rdx + 0x10], ebx
mov dword [rsp + 0x24], r9d
mov r11d, r9d
mov dword [rdx + 0x14], r9d
mov r9d, dword [rsp + 0x28]
add r9d, r13d
mov dword [rsp + 0x28], r9d
mov r13d, r9d
mov dword [rdx + 0x18], r9d
mov r9d, dword [rsp + 0x2c]
add r9d, r12d
sub qword [rsp + 0x1b0], 1
mov r12d, r9d
mov dword [rsp + 0x2c], r9d
mov dword [rdx + 0x1c], r9d
lea r9, [0x140012a00]
jne 0x140004190
mov rdi, qword [rsp + 0x1a8]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret