Function at 0x200e9460
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov r14, rdx
mov rdi, rcx
mov rcx, qword [rcx + 0x108]
lea r9, [rdx + 0xc150]
mov edx, dword [rdx + 0xc154]
mov r8d, dword [r14 + 0xc158]
add rdx, qword [rdi + 0x198]
mov dword [rsp + 0x38], 0xf16c8ae1
mov dword [rsp + 0x30], 0xb49e8864
mov dword [rsp + 0x28], 0x9b696940
mov byte [rsp + 0x20], 1
call fcn.200f1f20
test al, al
jne 0x200e98e5
mov byte [rbp + 0x2f], al
movzx edx, word [r14 + 0xc5d9]
mov rcx, qword [rdi + 0x190]
mov r8d, 0x9e005d4a
mov r9d, 0x53da4cb5
call fcn.2008fa70
mov r15, rax
test rax, rax
lea rsi, [0x2046cd28]
cmove r15, rsi
mov eax, dword [0x205b381c]
cmp eax, 0x41
jge 0x200e9526
movsxd rax, dword [0x2046e3b4]
mov ecx, dword [0x205b381c]
cmp ecx, 0x40
jle 0x200e952e
mov eax, dword [0x2046e3b4]
jmp 0x200e9514
mov ecx, dword [0x205b381c]
lea rcx, [0x2046e3b4]
add rax, rcx
movabs rcx, 0xcd0392339f1a9480
add rcx, rax
movabs rax, 0x32fc6dcc60e56b80
mov rdx, rcx
xor rdx, rax
and rcx, rax
lea r9, [rdx + rcx*2]
nop word cs:[rax + rax]
mov eax, dword [0x205b381c]
mov ecx, dword [0x205416ec]
mov edx, ecx
xor edx, 0x4765e89
and ecx, 0x4765e89
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jge 0x200e9570
jmp 0x200e95db
mov eax, dword [0x2046e3d4]
mov ecx, dword [0x205b3818]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x205416ec]
mov edx, ecx
xor edx, 0x4765e3c
mov r8d, ecx
and r8d, 0x4765e3c
lea r8d, [rdx + r8*2]
xor edx, edx
div r8d
add ecx, 0x4765e3a
cmp edx, ecx
mov ebx, dword [0x2046e3d4]
mov eax, dword [0x205b381c]
cmp eax, 0x18
jg 0x200e95a0
mov qword [rbp - 0x30], r9
mov rax, qword [0x205416f0]
movabs r12, 0xe9c5a30f9afb576
lea rcx, [rax + r12]
mov qword [rbp + 0x18], rcx
movabs rcx, 0xe9c5a30f9afb585
add rcx, rax
mov qword [rbp + 0x20], rcx
movzx eax, byte [0x205416e8]
mov ecx, eax
xor cl, 0x87
and al, 7
add al, al
add al, cl
mov byte [rbp + 8], al
mov edx, 0xf5258b75
add edx, dword [0x205416ec]
mov rcx, r15
call fcn.200f09b0
mov r13, rax
cmp rax, 0xf
jbe 0x200e965c
lea rcx, [rbp + 8]
mov rdx, r13
mov r9, r15
call fcn.2006bec0
jmp 0x200e967d
mov qword [rbp + 0x18], r13
lea rcx, [rbp + 8]
mov rdx, r15
mov r8, r13
call fcn.2044f800
movzx eax, byte [0x205416e8]
add al, 0x87
mov byte [rbp + r13 + 8], al
lea r15, [0x2046c448]
mov qword [rbp], r15
movzx edx, word [r14 + 0xc5e9]
mov rcx, qword [rdi + 0x190]
call fcn.2024c130
test rax, rax
cmovne rsi, rax
add r12, qword [0x205416f0]
lea rdi, [rbp - 0x20]
mov qword [rbp - 0x10], r12
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], 0
mov rcx, rsi
mov edx, 0xf0af2d3b
call fcn.200f09b0
mov r14, rax
cmp rax, 0xf
jbe 0x200e96e4
mov rcx, rdi
mov rdx, r14
mov r9, rsi
call fcn.2006bec0
jmp 0x200e96fc
mov qword [rbp - 0x10], r14
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.2044f800
mov byte [rbp + r14 - 0x20], 0
mov qword [rbp - 0x28], r15
lea rcx, [rbp - 0x38]
lea rdx, [rbp - 0x28]
mov r8, rbp
call fcn.20100d10
mov rax, qword [rbp - 8]
cmp rax, 0x10
mov r12, qword [rbp - 0x30]
jb 0x200e9777
mov rcx, qword [rbp - 0x20]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x200e9772
mov r8, qword [rcx - 8]
sub rcx, qword [0x205416f0]
sub rcx, r8
movabs rdx, 0xf163a5cf06504a82
add rdx, rcx
cmp rdx, 0x20
jae 0x200e99b4
mov rcx, rax
xor rcx, 0x28
movabs rdx, 0x7fffffffffffffd7
xor rdx, rax
and rdx, rax
lea rdx, [rcx + rdx*2]
mov rcx, r8
call fcn.2008bfb0
mov r8, qword [rbp + 0x20]
cmp r8, 0x10
jb 0x200e98e1
mov ecx, 0x4765e62
nop word [rax + rax]
mov eax, dword [0x205b381c]
mov edx, dword [0x205416ec]
add edx, ecx
cmp eax, edx
jge 0x200e97bb
mov eax, dword [0x205b37c4]
mov edx, dword [0x205416ec]
mov r9d, dword [0x205b381c]
cmp r9d, 0x19
jle 0x200e97c8
mov eax, dword [0x205b381c]
cmp eax, 0x39
jge 0x200e9790
jmp 0x200e97a2
mov ecx, edx
xor ecx, 0x39436d81
and edx, 0x39436d81
lea ecx, [rcx + rdx*2]
add ecx, eax
inc ecx
add ecx, 0xcb32f0b9
mov dword [0x205b37c4], ecx
mov r9d, eax
xor r9d, ecx
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x205b3818]
lea r10d, [rdx - 1]
imul r10d, edx
test r10b, 1
jne 0x200e9800
xor eax, ecx
and eax, ecx
or r9d, eax
xor r10d, r10d
xor r9d, 0xffffffff
mov r11d, 0
jne 0x200e9840
xor ecx, ecx
mov r10d, 0
mov r11d, 0
test ebx, ebx
jg 0x200e98f9
mov rcx, qword [rbp + 8]
mov rax, r8
xor rax, 1
mov edx, r8d
and edx, 1
lea rdx, [rax + rdx*2]
cmp rdx, 0xfff
jbe 0x200e98dc
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x200e99b9
xor ecx, ecx
test r9d, r9d
setne cl
mov rdx, qword [0x2046e3c8]
xor r9d, r9d
add rcx, 0xffffffffffffffff
adc r9, 0xffffffffffffffff
mov rsi, qword [0x2046e3c0]
sub rsi, r10
sbb rdx, r11
xor r9, rdx
xor rcx, rsi
not r9
not rcx
and rcx, rsi
and r9, rdx
or r9, rcx
setne cl
or cl, byte [0x205b3830]
mov dl, 1
test dl, dl
jne 0x200e98c9
mov edx, ecx
and dl, 1
mov byte [0x205b3830], dl
add r8, 0x28
and cl, 1
mov byte [0x205b3830], cl
mov rdx, r8
mov rcx, rax
call fcn.2008bfb0
movzx eax, byte [rbp + 0x2f]
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov esi, 0x4765e3c
xor edi, edi
xor r10d, r10d
xor r11d, r11d
jmp 0x200e991b
add edi, r14d
cmp edi, ebx
jge 0x200e9840
movsxd rax, edi
mov rdx, qword [r12 + rax]
mov rax, qword [r12 + rax + 8]
mov r14d, dword [0x205b381c]
cmp r14d, 0x38
mov r14d, dword [0x205b3818]
mov r15d, dword [0x205416ec]
add r15d, r14d
inc r15d
imul r15d, r14d
test r15b, 1
jne 0x200e9932
mov r14, rax
xor r14, rax
mov r15, rdx
xor r15, rdx
not r15
and r10, r15
xor r10, rdx
not r14
and r11, r14
xor r11, rax
mov r14d, edi
xor r14d, 0x10
and edi, 0x10
add edi, edi
nop word [rax + rax]
test cl, cl
jne 0x200e99a7
mov edx, dword [0x205b3818]
lea eax, [rdx - 1]
imul eax, edx
mov r15d, dword [0x205416ec]
add r15d, esi
xor edx, edx
div r15d
test edx, edx
je 0x200e9910
mov eax, dword [0x205b381c]
cmp eax, 0x19
jge 0x200e9980
jmp 0x200e9984
call fcn.20407a4c
call fcn.20407a4c
int3