Function at 0x140001ff0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rax, qword [r9 + 0xab30]
mov r13, rdx
mov r10, qword [0x140dd9500]
mov r11, r8
mov r8d, dword [0x140dd9484]
mov edx, 1
movsxd r14, dword [0x140dd94ec]
sub r8d, edx
mov r12d, dword [0x140dd9518]
movzx ebx, word [0x140dd9498]
sub r12d, edx
mov qword [rsp + 0x78], rax
mov eax, 0xa92
sub rax, r10
mov dword [0x140dd9484], r8d
mov dword [0x140dd9518], r12d
add r10, rdx
mov qword [rsp + 0x88], rax
mov eax, 0x1761
sub eax, r8d
mov qword [rsp + 0x90], r14
cdqe
mov qword [rsp + 0x80], rax
movzx eax, word [0x140dd951c]
mov qword [rsp + 0xa0], rax
movzx eax, word [rcx]
add rcx, 2
add rax, 2
mov qword [rsp + 0x110], rcx
add rax, rax
mov r15, qword [r11 + rax*8]
movzx eax, word [0x140dd949c]
mov qword [0x140dd9500], r10
add r10, r10
movzx edx, word [rcx + r14*2]
mov edi, dword [r9 + rax*8]
movzx eax, word [rcx + 0x3602]
movzx ecx, word [0x140dd94e8]
xor rdx, rax
mov rax, qword [r11]
mov r10d, dword [r13 + r10*8]
shl ecx, 2
mov qword [rsp + 0x98], rdx
xor edx, edx
mov rsi, qword [r13 + rax*8]
mov eax, 0xbb0
mov dword [rsp + 0x64], edi
add edi, edi
div qword [r11 + rcx*8]
mov rcx, qword [0x140dd94c8]
sub r11, 8
mov rbp, rax
mov qword [rsp + 0x120], r11
mov rax, qword [rsp + 0x130]
mov r11, qword [0x140dd94a0]
movzx ecx, word [rax + rcx*2 + 0x42]
movzx edx, word [rax]
mov rax, qword [r9]
mov qword [rsp + 0xb0], rcx
mov rcx, qword [0x140dd9510]
mov r9, qword [r9 + rax*8]
mov qword [rsp + 0x30], r9
movzx r8d, word [rcx + rdx*2]
movsxd rcx, edi
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x20], r11
movzx edx, byte [rcx + r14]
mov ecx, ebx
sub edx, r8d
mov r8, rbp
inc rbp
movsxd rdx, edx
mov r9, rbp
mov qword [rsp + 0x70], rbp
call fcn.140011984
movsxd rcx, dword [0x140dd9518]
mov word [0x140dd951c], ax
mov rax, qword [0x140dd9510]
movzx edx, word [rax + rcx*2]
movzx eax, byte [r14 + 0x1d18]
xor rax, qword [rsp + 0x78]
mov r8, qword [0x140dd94d0]
and rdx, rax
mov ebx, dword [0x140dd9480]
lea eax, [rdi + 0x21]
movsxd r9, dword [0x140dd94fc]
mov r10d, 1
mov rdi, qword [rsp + 0x120]
mov r14b, r8b
movsxd rcx, eax
add r8, r10
mov rax, qword [rsp + 0x130]
mov qword [0x140dd9478], rdx
xor edx, edx
sub r14b, byte [r13 + rcx*8]
mov qword [0x140dd94d0], r8
movzx ecx, word [rax + 0x66a]
lea eax, [rdx + 0x4c]
div ecx
lea eax, [rbx + rbx]
movsxd rcx, eax
movsxd rbp, edx
mov rdx, qword [rsp + 0x70]
movzx eax, word [rsi + rcx*2]
mov rsi, qword [0x140dd9508]
add r9, qword [r13 + rdx*8]
sub rsi, rax
mov rcx, qword [rsp + 0x130]
movzx eax, r12w
mov rdi, qword [rdi + rax*8]
movzx eax, word [0x140dd94e8]
xor rdi, r8
add r8, r10
add eax, 0x23
mov qword [0x140dd94d0], r8
mov r8, rbp
mov r11, qword [r15 + rdx*8 + 0x80]
sub rdx, r10
mov qword [rsp + 0x70], rdx
mov r10d, 0xb18
mov cl, byte [rcx + rax*2]
mov rdx, qword [rsp + 0x110]
and cl, bl
mov rbx, qword [rsp + 0x80]
mov byte [rsp + 0x58], cl
mov rax, rbx
and eax, 0xa27
mov ecx, 0xdfe
sub r10w, word [rdx + 0x9d8]
mov dl, r14b
mov word [rsp + 0x50], r10w
mov qword [rsp + 0x48], 0x1c6b
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rax
call fcn.140001230
mov r14, qword [rsp + 0x120]
mov r9d, 1
mov rdi, qword [rsp + 0x70]
sub r12w, r9w
mov rsi, qword [rsp + 0x88]
movsxd rdx, eax
mov eax, dword [0x140dd9518]
mov qword [0x140dd9490], rdx
lea eax, [rax + rax*2]
cdqe
sub rdx, qword [r14 + rax*8]
mov qword [r14 + rax*8], rdx
xor qword [r13 + rdi*8], rbx
add rbx, r9
mov rax, qword [0x140dd9510]
mov r8, qword [0x140dd9478]
add r8, r9
movzx ecx, word [rax + 0x356c]
movzx eax, r12w
or rcx, 0x15fa
movzx edx, byte [rax + rsi + 5]
mov qword [0x140dd9478], r8
call fcn.140003710
mov r12, qword [rsp + 0x118]
mov r9d, 1
movsxd rcx, eax
movzx eax, word [0x140dd949c]
add eax, 7
mov qword [r15 + rax*8], rcx
movzx eax, word [0x140dd94e8]
movsxd r13, dword [0x140dd94ec]
mov rbp, r13
lea eax, [rax*2 + 0x1c]
cmp r13, qword [r14 + rax*8]
jb 0x1400025c6
movsxd r8, dword [rsp + 0x64]
mov ecx, 0xbd6
and bx, cx
lea ecx, [r13 + 5]
mov qword [rsp + 0x80], rbx
mov ebx, r13d
shl ebx, 2
lea r15, [r8 + 2]
mov dword [rsp + 0x60], ecx
shl r15, 4
lea rsi, [r8 + r8]
mov dword [rsp + 0x68], ebx
lea rcx, [r12 + r8*8]
add r15, r14
mov rdx, qword [r15]
add rcx, 8
mov qword [rsp + 0x118], rcx
lea r15, [r15 + 0x10]
movzx ecx, word [0x140dd94c0]
add r8d, r9d
mov eax, ecx
mov dword [rsp + 0x64], r8d
add cx, r9w
sub eax, r8d
mov word [0x140dd94c0], cx
add rsi, 2
movsxd r8, eax
mov ecx, 0x1483
and rdx, rbp
mov qword [rsp + 0xa8], rsi
call fcn.140003710
mov r10, qword [rsp + 0x110]
mov r11d, 1
movsxd rcx, eax
mov eax, 0x824a4e61
mov qword [0x140dd9500], rcx
movzx ecx, word [r10 + rdi*4]
mul ecx
shr edx, 0xb
imul eax, edx, 0xfb8
mov rdx, qword [rsp + 0x88]
movzx r9d, byte [rdx + 0x1b9]
sub ecx, eax
mov rax, qword [rsp + 0x90]
xor r9, rbp
movsxd r14, ecx
movzx r8d, byte [rsi + rax + 2]
mov rsi, rdi
movzx eax, word [0x140dd949c]
sub rdi, r11
and r8, qword [0x140dd94c8]
mov qword [rsp + 0x70], rdi
movsxd rdi, r13d
movzx ebp, word [r10 + rax*2]
mov r10, qword [rsp + 0x98]
movsxd rax, ebx
mov rdi, qword [r12 + rdi*8]
movzx ecx, byte [rax + r10]
mov rax, qword [rsp + 0x118]
imul rbp, rcx
or rdi, qword [rax]
movzx ecx, word [0x140dd94e8]
lea eax, [r11 + rcx]
movzx ebx, byte [rax + rdx]
mov eax, 0xffff
add cx, ax
xor rbx, 0x1684
movsxd rax, dword [rsp + 0x60]
mov word [0x140dd94e8], cx
mov rcx, r14
movzx r11d, byte [rax + r10]
mov rax, qword [rsp + 0xa0]
xor r11w, r13w
mov r10d, dword [rax + 0x61e8]
mov eax, 0x183af9b3
imul r10d
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xa90b46
movzx edx, r13b
sub r10d, eax
movzx eax, r13b
mov byte [rsp + 0x58], r10b
mov word [rsp + 0x50], r11w
imul edx, eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], 0xa90b46
mov qword [rsp + 0x20], rbp
call fcn.140001230
mov ebx, dword [rsp + 0x68]
mov r9d, 1
mov rdx, qword [rsp + 0x110]
add r13d, r9d
mov rdi, qword [rsp + 0x70]
add ebx, 4
add dword [rsp + 0x60], r9d
mov r8d, dword [rsp + 0x64]
mov rsi, qword [rsp + 0xa8]
mov dword [0x140dd94f8], eax
mov rax, qword [rsp + 0x128]
movsxd rbp, r13d
mov dword [rsp + 0x68], ebx
dec qword [rax]
mov rcx, qword [rax]
movzx eax, word [rsp + 0x80]
xor ax, di
mov word [rdx + rcx*2], ax
movzx eax, word [0x140dd94e8]
lea ecx, [rax*2 + 0x1c]
mov rax, qword [rsp + 0x120]
cmp rbp, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x118]
jae 0x1400023b6
mov rsi, qword [rsp + 0x88]
mov rax, qword [0x140dd94c8]
xor edx, edx
mov r8, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x90]
mov r8, qword [r8 + 0x8858]
movzx ecx, byte [rax + rcx]
mov rax, r8
div rcx
mov rcx, qword [r12]
mov rax, rdx
xor edx, edx
div qword [0x140dd9490]
mov rax, rdx
xor edx, edx
div r8
mov byte [rsi + rcx], al
mov rcx, qword [0x140dd94f0]
movzx edx, word [0x140dd949c]
mov rax, qword [0x140dd94a0]
sub rax, qword [rcx + rdx*8]
mov qword [rcx + rdx*8], rax
mov ecx, dword [0x140dd9518]
mov rdx, qword [rsp + 0x130]
sub ecx, r9d
mov dword [0x140dd9518], ecx
movsxd rcx, ecx
movzx eax, word [rdx]
movzx eax, word [rdx + rax*2]
mov rdx, qword [rsp + 0xb0]
movzx edx, word [rdx + rcx*2]
sub eax, edx
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret