Function at 0x1800078c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movzx r9d, word [0x18002f938]
mov rsi, rcx
movzx r10d, dx
mov eax, 0xea8
xor edx, edx
mov dword [rsp + 0xb8], r10d
div r9d
mov r9d, dword [0x18002f8c4]
mov al, r10b
xor al, 0xdc
mov dword [rsp], edx
mov byte [rsp + 0xa8], al
xor edx, edx
movzx eax, word [0x18002f8dc]
mov rbp, r8
shl rax, 5
mov r15d, r10d
mov word [rsp + 0xb0], r10w
mov rdi, qword [rax + rcx]
lea eax, [r9 + r9]
movsxd rcx, eax
mov qword [rsp + 0x40], rdi
movzx eax, byte [rcx + r8]
div qword [rsi + 0xc830]
movsxd rcx, dword [0x18002f948]
lea eax, [r9 + 0x53d]
cdqe
mov r11, rdx
mov qword [rsp + 0x28], rax
mov rax, qword [0x18002f8c8]
movsxd r14, dword [rax + 0xe290]
mov rax, qword [0x18002f908]
movsxd rbx, dword [rax + 0x4e20]
mov rax, qword [0x18002f8a8]
mov qword [rsp + 0x38], rbx
mov eax, dword [rax + rcx*4]
cdq
idiv dword [0x18002f910]
lea edx, [r10 + 7]
movsxd r13, eax
movzx eax, byte [r8 + 0x1c3f]
sub eax, r10d
mov qword [rsp + 8], r13
cdqe
mov qword [rsp + 0x10], rax
mov rax, qword [0x18002f8f8]
movzx eax, byte [r8 + rax*2]
imul eax, r9d
cdqe
mov qword [rsp + 0x20], rax
mov rax, qword [0x18002f8f0]
movsxd rcx, dword [rax + 0x631c]
mov rax, qword [0x18002f918]
mov qword [rsp + 0x30], rax
mov rax, qword [rax + rdx*8]
and rax, rcx
mov qword [rsp + 0x18], rax
mov eax, 0xc58
cdq
idiv dword [0x18002f910]
mov eax, r10d
mov r12d, edx
cmp eax, 0xb41
ja 0x180007a72
mov r13, qword [rsp + 0x18]
lea r9, [rax + rax*2]
movsxd rcx, r11d
mov r11d, 0x111c
shl r9, 3
movzx r8d, word [r13 + rcx*2]
lea r9, [r9 + 0x18]
mov eax, 0x5bf
cdq
idiv r15d
inc r15d
mov ecx, eax
mov eax, 0x2f2c74a5
imul ecx
mov rcx, r11
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, r8d
cdqe
imul rax, qword [r9 + rdi + 0x80]
mov qword [rdi + r9 + 0x80], rax
cmp r15d, 0xb41
jle 0x180007a18
mov r8, qword [0x18002f918]
mov r13, qword [rsp + 8]
jmp 0x180007a77
mov r8, qword [rsp + 0x30]
movsxd rax, dword [r13 + r14*4]
xor edx, edx
movzx r9d, r10w
div qword [rsi + r9*8]
movsxd rcx, dword [rbx + r9*4]
mov rax, rdx
xor edx, edx
or rax, qword [0x18002f8b8]
div rcx
mov eax, 0xffff
add r10w, ax
mov r13, rdx
mov eax, dword [0x18002f948]
sub r13b, byte [rsp + 0xa8]
inc eax
movsxd rcx, eax
mov rax, qword [rsp + 0x20]
or qword [r8 + rcx*8], 0x1957
inc dword [0x18002f948]
movzx eax, word [rax + 0x242c]
add word [0x18002f938], ax
mov rax, qword [0x18002f900]
mov r15d, dword [rax + r9*4 + 0x10]
cmp r15d, r12d
jne 0x180007b7e
mov rdi, qword [rsp + 0x10]
mov eax, 0x62d90063
movzx r8d, r13b
mov esi, 1
mul r8d
movsxd rbx, r11d
shr edx, 0xa
imul eax, edx, 0xa5c
sub r8d, eax
movsxd rax, r15d
add r12d, esi
add r10w, si
or byte [rax + rdi], r15b
mov eax, r12d
movzx ecx, byte [rbx + rdi + 0xa]
cdq
idiv ecx
mov eax, dword [0x18002f944]
add r15d, esi
imul eax, edx
mov dword [0x18002f944], eax
movzx eax, r10w
movzx ecx, byte [rbp + rax*4 + 6]
mov eax, r8d
cdq
idiv ecx
movzx ecx, word [0x18002f8dc]
mov eax, 0xd2d
add r14d, edx
xor edx, edx
div ecx
mov word [0x18002f8dc], ax
cmp r15d, r12d
je 0x180007b13
mov rbx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xa0]
movzx edx, word [0x30cb]
lea eax, [r14 + 1]
movzx r15d, word [rsp]
inc r10w
movsxd rcx, eax
movzx eax, r10w
movzx r8d, r10w
mov dword [rcx*4 + 0xe01], edx
add eax, dword [0x5448]
and eax, 0x1698
cdq
idiv dword [0x18002f8c0]
movzx eax, dx
imul r15d, eax
mov eax, dword [0x18002f914]
add eax, eax
movsxd rcx, eax
mov eax, dword [rsi + rcx*8]
mov ecx, dword [0x18002f8a4]
or eax, 0x65a
xor r12d, eax
movsxd rax, dword [0x18002f8a0]
cmp rax, qword [rsi + r8*8 + 0x38]
jne 0x180007eb8
movzx eax, byte [rbp + r9*2 + 2]
cmp ecx, eax
jne 0x180007eb8
lea eax, [rcx + rcx]
movsxd rcx, eax
or dword [rbx + rcx*4], 0x481
movzx eax, byte [rbp + 0x497]
imul eax, eax, 0x11e4
cdq
idiv dword [rbx + r9*4]
mov eax, 0x5f0c7021
mov dword [rbx + r9*4], edx
mov ecx, dword [rbx + 0x638c]
imul ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x158c
xor edx, edx
sub ecx, eax
movsxd rax, ecx
div qword [0x18002f920]
movsxd rdx, r14d
mov qword [0x18002f920], rax
mov rax, qword [0x18002f8c8]
add r15w, word [0x5f13]
cmp qword [rax + rdx*8], 0x1731
jae 0x180007e11
mov r8d, dword [0x18002f8c4]
cmp r8d, dword [r9*8 + 0xe7c]
jge 0x180007e11
cmp dword [rsp + 0xb8], 0x595
jbe 0x180007cd1
mov rcx, qword [0x18002f8f8]
mov rax, qword [0x18002f8f0]
cmp dword [rax + rcx*4], 0x1589
jg 0x180007cd1
movzx eax, r15w
mov r15d, 1
shl eax, 2
mov ecx, eax
imul rax, qword [rdi + rax*8], 0x1d73
imul r11d, r11d, 0xe60
mov qword [rdi + rcx*8], rax
jmp 0x180007e1b
cmp dword [rbx + rdx*4], 0x91a
mov r15d, 1
jg 0x180007d20
mov edx, dword [0x18002f944]
add r11d, r15d
sub edx, r15d
mov dword [0x18002f944], edx
lea eax, [r11 + r11*2]
movsxd rcx, eax
cmp dword [rcx*4 + 0x1193], edx
jle 0x180007d20
mov eax, r14d
shl eax, 2
movsxd rcx, eax
movzx eax, r10w
add r10w, r15w
movzx edx, byte [rcx + rbp]
cmp dx, ax
jne 0x180007e1b
mov rax, qword [rsp + 0x10]
sub r11d, r15d
movzx edx, byte [rax + 0x1251]
lea eax, [r8 + r8]
movsxd rcx, eax
or edx, 0xc71
xor edx, 0x474
mov dword [rbx + rcx*4], edx
mov rax, qword [0x18002f8f8]
or dword [rax*4 + 0xe01], 0x58e7
lea eax, [r11*2 + 1]
movsxd rcx, eax
movzx eax, byte [rcx + rbp]
cmp ax, word [rsp + 0xb0]
jae 0x180007d7d
cmp r14d, 0x1479
jne 0x180007e1b
movsxd rax, dword [rbx]
mov r8d, dword [0x18002f8a0]
movzx ecx, word [0x18002f938]
mov r14, qword [rsp + 8]
mov edx, dword [r14 + rax*4]
mov eax, 0x1d02d547
add edx, ecx
movsxd r9, edx
imul r8d
add r8d, r15d
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [0x18002f918]
mov ecx, dword [rax + 0x19b0]
mov eax, dword [0x18002f8c4]
shl eax, 2
mov dword [0x18002f8a0], r8d
movsxd r8, eax
imul ecx, edx
xor edx, edx
imul rax, r9, 0xeeb
or dword [0x18002f944], ecx
movsxd rcx, dword [r14 + r8*4]
sub rax, 0x1316913
div rcx
mov dword [r14 + r8*4], eax
mov eax, dword [rbx]
mov rdx, qword [0x18002f8f8]
lea eax, [rax + rax*2]
cdqe
imul eax, dword [rbx + rax*4], 0x1b3d
cdqe
add qword [rsi + rdx*8], rax
jmp 0x180007e1b
mov r15d, 1
add r10w, r15w
mov rax, qword [0x18002f8b0]
lea ecx, [r11*4 + 0x1f]
xor edx, edx
movzx r8d, r10w
div qword [rsi + 0x4e0]
mov rax, rdx
movsxd rdx, ecx
movzx ecx, byte [rdx + rbp]
xor edx, edx
div rcx
mov qword [rdi + r8*8], rax
sub qword [0x18002f8b0], r15
mov rax, qword [0x18002f8a8]
mov r8d, dword [rax + r8*4 + 0xc]
mov eax, 0x165b1517
add r8d, r12d
imul r8d
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x16e7
mov rdx, qword [0x18002f8f0]
sub r8d, eax
mov rax, qword [0x18002f920]
sub r8d, dword [0x18002f8d8]
mov dword [0x18002f8d8], r8d
movsxd r8, r11d
movzx ecx, word [rax + rax + 0xa49]
sub ecx, dword [0x18002f8a0]
mov eax, dword [rdx + r8*4]
imul eax, ecx
mov dword [rdx + r8*4], eax
jmp 0x1800080ec
lea rax, [r8 + 0xe9]
shl rax, 4
movsxd rax, dword [rax]
cmp qword [0x18002f930], rax
je 0x180007fcf
mov rbx, qword [rsp + 0x18]
mov r14d, 1
sub ecx, r14d
movsxd rax, r11d
mov r11d, dword [rdi + rax*8]
mov dword [0x18002f8a4], ecx
movzx eax, byte [rbp + 0x14ac]
movzx edx, word [rbx + r8*2 + 4]
add dx, ax
lea eax, [rcx*2 + 0x1d]
movsxd rcx, eax
mov word [rbx + rcx*2], dx
cmp r9, qword [rdi + 0x6908]
ja 0x180007f33
mov rcx, qword [0x18002f8f8]
mov rdx, qword [rsp + 0x28]
add rcx, rcx
movzx eax, r13b
cmp qword [rdx + rcx*8 + 0x18], rax
je 0x1800080ec
xor edx, edx
shl r8, 5
add r11d, r14d
movzx eax, word [r8 + rsi]
and ax, r10w
mov word [0x18002f93c], ax
mov eax, dword [0x18002f8c4]
add eax, 7
movsxd rcx, eax
movsxd rax, r11d
add qword [rdi + rcx*8], rax
mov eax, 0xf37
movzx ecx, word [0x18002f8dc]
div ecx
movzx ecx, word [rsp + 0xb0]
xor edx, edx
add word [0x18002f938], cx
mov word [0x18002f8dc], ax
mov eax, dword [0x7f2f]
imul eax, r11d
sub eax, dword [0x18002f944]
cdqe
div qword [0x18002f8b8]
mov rdx, qword [rsp + 0x20]
mov qword [0x18002f8b8], rax
mov eax, dword [0x18002f910]
add eax, r14d
mov dword [0x18002f910], eax
imul ecx, eax, 0x12f2
movsxd rax, dword [0x18002f8a0]
mov dword [rdx + rax*4], ecx
jmp 0x1800080ec
movsxd rax, dword [0x18002f8c0]
mov rcx, qword [0x18002f928]
cmp rcx, rax
jae 0x180008042
movzx eax, byte [r9 + rbp + 0x11]
cmp rax, qword [0x18002f8f8]
jae 0x180008042
inc r10w
movzx eax, r10w
add rax, 0x135
lea rcx, [rax + rax*2]
mov eax, dword [0x18002f948]
mov dword [rcx*4], eax
mov eax, dword [0x18002f8e0]
mov rdx, qword [0x18002f8c8]
add eax, 0x13
movsxd r8, eax
mov eax, dword [0x18002f8a4]
add eax, 0x1c
movsxd rcx, eax
mov rax, qword [rsi + rcx*8]
sub rax, 0x1a5f
add qword [rdx + r8*8], rax
jmp 0x1800080ec
imul rax, rcx, 0xe9cb7
xor edx, edx
mov ebp, 1
mov qword [0x18002f928], rax
mov rax, r9
div qword [rdi + r8*8]
mov qword [rdi + r8*8], rdx
mov edx, dword [0x18002f8c4]
mov rdi, qword [rsp + 0x28]
sub edx, ebp
mov dword [0x18002f8c4], edx
mov eax, dword [rbx]
shl eax, 2
movsxd rcx, eax
movsxd rax, edx
add qword [rdi + rcx*8], rax
mov rax, qword [0x18002f8f8]
mov rcx, qword [rsp + 8]
mov ecx, dword [rcx + rax*8 + 0x24]
cmp ecx, 0xbf9
jg 0x1800080ec
mov r11d, 0xbfa
mov r14d, 0xffff
sub r11d, ecx
mov rax, qword [0x18002f920]
xor edx, edx
mov rcx, qword [0x18002f900]
add r10w, r14w
movsxd rcx, dword [rcx + rax*4 + 0x10]
imul rax, rcx, 0x1479
mov ecx, dword [rbx + 4]
xor rax, qword [rsi + r8*8]
add ecx, 0x20
div r8
movsxd rcx, ecx
movzx r8d, r10w
mov qword [rdi + rcx*8], rax
or qword [rsi + r9*8], r8
sub r11, rbp
jne 0x1800080ab
mov eax, 0xd67
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret