Function at 0x180031170
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
lea r13, [0x1800fe7f4]
xor edi, edi
mov esi, 8
lea rax, [0x1800fe7f4]
mov r11d, 0xc
mov ebp, 0x10
mov r10, rsi
mov r12d, 0x14
sub r11, r13
sub rbp, r13
sub r10, rax
mov r14d, r8d
mov r15, rdx
mov rbx, rcx
mov r9, rdi
sub r12, r13
nop
mov rcx, qword [rbx]
mov eax, dword [r9 + r13 - 4]
lea r8, [r9 + r13]
mov dword [r9 + rcx], eax
mov rcx, qword [rbx]
mov eax, dword [r8]
mov dword [r9 + rcx + 4], eax
mov rcx, qword [rbx]
mov eax, dword [r8 + 4]
lea rdx, [r10 + r8]
add r9, 0x18
cmp r9, 0x48
mov dword [rdx + rcx], eax
mov rcx, qword [rbx]
mov eax, dword [r8 + 8]
lea rdx, [r11 + r8]
mov dword [rdx + rcx], eax
mov rcx, qword [rbx]
mov eax, dword [r8 + 0xc]
lea rdx, [r8 + rbp]
mov dword [rdx + rcx], eax
mov rcx, qword [rbx]
mov eax, dword [r8 + 0x10]
lea rdx, [r12 + r8]
mov dword [rdx + rcx], eax
jl 0x1800311d0
lea rbp, [0x1800fe844]
mov r9, rdi
mov r13d, 0xc
sub rsi, rbp
lea r10, [r9 + 0xc]
mov r11d, 0x40
nop
nop
mov rcx, qword [rbx + 8]
mov eax, dword [r9 + rbp - 4]
lea r8, [r9 + rbp]
mov dword [r9 + rcx], eax
mov rcx, qword [rbx + 8]
mov eax, dword [r8]
mov dword [r9 + rcx + 4], eax
mov rcx, qword [rbx + 8]
mov eax, dword [r8 + 4]
lea rdx, [rsi + r8]
add r10, 0x10
add r9, 0x10
sub r11, 1
mov dword [rdx + rcx], eax
mov rcx, qword [rbx + 8]
mov eax, dword [r8 + 8]
mov dword [r10 + rcx - 0x10], eax
jne 0x180031250
cmp r9, 0x1000
jl 0x180031240
mov r10d, edi
nop
nop
nop
nop
mov r9, qword [rbx]
lea eax, [r10 + 1]
cdq
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
movsxd rax, r10d
movzx ecx, byte [rax + r15]
lea eax, [r10 + 2]
cdq
shl ecx, 8
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 4]
cdq
or r8d, ecx
xor dword [r13 + r9 - 0xc], r8d
mov r9, qword [rbx]
idiv r14d
movsxd r10, edx
movzx ecx, byte [r10 + r15]
lea eax, [r10 + 1]
cdq
shl ecx, 8
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea eax, [r10 + 2]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 4]
cdq
or r8d, ecx
xor dword [r13 + r9 - 8], r8d
mov r9, qword [rbx]
idiv r14d
movsxd r10, edx
movzx ecx, byte [r10 + r15]
lea eax, [r10 + 1]
cdq
shl ecx, 8
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea eax, [r10 + 2]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
or r8d, ecx
cdq
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
or r8d, ecx
xor dword [r13 + r9 - 4], r8d
mov r9, qword [rbx]
lea eax, [r10 + 4]
cdq
idiv r14d
movsxd r10, edx
movzx ecx, byte [r10 + r15]
lea eax, [r10 + 1]
cdq
shl ecx, 8
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea eax, [r10 + 2]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 4]
cdq
or r8d, ecx
xor dword [r13 + r9], r8d
mov r9, qword [rbx]
idiv r14d
movsxd r10, edx
movzx ecx, byte [r10 + r15]
lea eax, [r10 + 1]
cdq
shl ecx, 8
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea eax, [r10 + 2]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 4]
cdq
or r8d, ecx
xor dword [r13 + r9 + 4], r8d
mov r9, qword [rbx]
idiv r14d
movsxd r10, edx
movzx ecx, byte [r10 + r15]
lea eax, [r10 + 1]
cdq
shl ecx, 8
idiv r14d
movsxd rax, edx
movzx r8d, byte [rax + r15]
lea eax, [r10 + 2]
cdq
or r8d, ecx
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 3]
or r8d, ecx
cdq
shl r8d, 8
idiv r14d
movsxd rax, edx
movzx ecx, byte [rax + r15]
lea eax, [r10 + 4]
add r13, 0x18
cdq
or r8d, ecx
xor dword [r13 + r9 - 0x10], r8d
idiv r14d
cmp r13, 0x54
mov r10d, edx
jl 0x1800312b0
mov dword [rsp + 0x78], edi
mov dword [rsp + 0x20], edi
mov rsi, rdi
nop
nop
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1800308b0
mov r11, qword [rbx]
mov eax, dword [rsp + 0x78]
mov dword [rsi + r11], eax
mov rcx, qword [rbx]
mov eax, dword [rsp + 0x20]
mov dword [rsi + rcx + 4], eax
add rsi, 8
cmp rsi, 0x48
jl 0x180031500
nop
nop
nop
nop
mov esi, 0x80
nop
nop
nop
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1800308b0
mov r11, qword [rbx + 8]
mov eax, dword [rsp + 0x78]
mov dword [rdi + r11], eax
mov rcx, qword [rbx + 8]
mov eax, dword [rsp + 0x20]
mov dword [rdi + rcx + 4], eax
add rdi, 8
sub rsi, 1
jne 0x180031550
cmp rdi, 0x1000
jl 0x180031540
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret