Function at 0x1804074f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r10d, dword [r9]
lea r14, [rcx + 4]
mov r15, r8
mov dword [rcx], r10d
mov rbp, rdx
mov r13, rcx
xor edx, edx
mov rcx, r14
lea r12d, [r10 + 0x1f]
mov rbx, r9
shr r12, 5
lea r8d, [r10 + 0x1f]
shr r8, 5
mov rdi, r12
and rdi, 0xfffffffffffffffc
shl r8, 2
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r12
call fcn.1803d2e10
xor esi, esi
test r12, r12
je 0x18040775e
lea rax, [rbp + 4]
mov rcx, r12
mov qword [rsp + 0x28], rax
lea rdx, [r15 + 4]
mov qword [rsp + 0x20], rcx
nop dword [rax]
nop word [rax + rax]
mov ebp, dword [rax]
xor r9d, r9d
mov r8d, ebp
imul r8d, dword [rdx]
add r8d, dword [r14]
xor r14d, r14d
imul r8d, dword [rsp + 0xa0]
btr r8d, 0x1f
test rdi, rdi
je 0x1804076be
mov rdi, rbx
mov r12d, r8d
mov rbx, qword [rsp + 0x30]
mov r10, r13
sub rdi, r15
sub r10, r15
dec rbx
mov r11, rdx
shr rbx, 2
mov r13d, ebp
inc rbx
lea r14, [rbx*4]
nop word [rax + rax]
mov eax, dword [r11]
mov ecx, dword [rdi + r11]
mov edx, dword [r10 + r11]
lea r11, [r11 + 0x10]
imul rax, r13
imul rcx, r12
add rax, r9
add rax, rcx
add rdx, rax
mov eax, edx
shr rdx, 0x1f
btr eax, 0x1f
mov dword [r10 + r11 - 0x14], eax
mov ecx, dword [rdi + r11 - 0xc]
mov eax, dword [r11 - 0xc]
imul rax, r13
imul rcx, r12
add rcx, rax
mov eax, dword [r10 + r11 - 0xc]
add rcx, rdx
add rcx, rax
mov eax, ecx
shr rcx, 0x1f
btr eax, 0x1f
mov dword [r10 + r11 - 0x10], eax
mov edx, dword [rdi + r11 - 8]
mov eax, dword [r11 - 8]
imul rax, r13
imul rdx, r12
add rdx, rax
mov eax, dword [r10 + r11 - 8]
add rdx, rcx
add rdx, rax
mov eax, edx
shr rdx, 0x1f
btr eax, 0x1f
mov dword [r10 + r11 - 0xc], eax
mov ecx, dword [rdi + r11 - 4]
mov eax, dword [r11 - 4]
imul rcx, r12
imul rax, r13
add rcx, rax
mov eax, dword [r10 + r11 - 4]
add rcx, rax
add rcx, rdx
mov r9, rcx
btr ecx, 0x1f
shr r9, 0x1f
mov dword [r10 + r11 - 8], ecx
sub rbx, 1
jne 0x1804075e0
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x20]
cmp r14, r12
jae 0x18040771a
mov r11, r13
mov edi, r8d
sub r11, r15
lea rax, [r15 + 4]
sub rbx, r15
lea rax, [rax + r14*4]
mov r10, r12
sub r10, r14
nop dword [rax]
mov ecx, dword [rax]
mov edx, dword [rax + rbx]
mov r8d, dword [rax + r11]
lea rax, [rax + 4]
imul rcx, rbp
imul rdx, rdi
add rcx, r9
add rcx, rdx
add r8, rcx
mov r9, r8
btr r8d, 0x1f
shr r9, 0x1f
mov dword [rax + r11 - 8], r8d
sub r10, 1
jne 0x1804076e0
mov rcx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x98]
lea rdx, [r15 + 4]
mov rdi, qword [rsp + 0x30]
lea r14, [r13 + 4]
add rsi, r9
mov eax, esi
shr rsi, 0x1f
btr eax, 0x1f
mov dword [r13 + r12*4], eax
mov rax, qword [rsp + 0x28]
add rax, 4
sub rcx, 1
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
jne 0x180407580
mov eax, dword [rbx]
xor r8d, r8d
mov rdx, rbx
mov dword [r13], eax
mov rcx, r13
call fcn.180407390
mov r8d, esi
xor eax, 1
neg r8d
mov rdx, rbx
or r8d, esi
mov rcx, r13
shr r8d, 0x1f
or r8d, eax
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.180407390