Function at 0x2019db30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x268
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1e0], 0xfffffffffffffffe
mov edi, r9d
mov ebx, r8d
mov r14d, edx
mov esi, dword [rbp + 0x250]
cmp edx, 0x17
ja 0x2019db90
cmp ebx, 0x3b
ja 0x2019db90
cmp edi, 0x3b
ja 0x2019db90
cmp esi, 0x3e8
jae 0x2019db90
add rsp, 0x268
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [rbp + 0x88]
mov edx, 1
call fcn.20086ae0
lea rcx, [rbp + 0x98]
mov edx, r14d
call fcn.2019e520
mov rcx, rax
movzx eax, byte [0x203cd8c2]
cmp al, 0x2e
je 0x2019dbe8
mov dl, 0xfd
mov al, 0x76
lock cmpxchg byte [0x203cd8c2], dl
je 0x2019dbd2
cmp al, 0x2e
jne 0x2019dbc0
jmp 0x2019dbe8
add byte [0x203cd8c0], 0x8c
add byte [0x203cd8c1], 0xb2
mov al, 0x2e
xchg byte [0x203cd8c2], al
lea rdx, [0x203cd8c0]
call fcn.20086d10
mov r14, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
mov byte [r14 + rax + 0x58], 0x30
lea rcx, [rbp + 0x180]
mov edx, 2
call fcn.201a1d40
movsxd r13, dword [0x202fd520]
mov r15d, dword [0x202fd530]
mov rax, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x188]
mov rcx, qword [r14]
movsxd r8, dword [rcx + 4]
mov rcx, r14
add rcx, r8
call qword [case.0x200b73a7.0]
mov rcx, r14
mov edx, ebx
call fcn.2019e520
mov rcx, rax
movzx eax, byte [0x203cd8c2]
cmp al, 0x2e
je 0x2019dc86
mov dl, 0xfd
mov al, 0x76
lock cmpxchg byte [0x203cd8c2], dl
je 0x2019dc70
cmp al, 0x2e
jne 0x2019dc5e
jmp 0x2019dc86
add byte [0x203cd8c0], 0x8c
add byte [0x203cd8c1], 0xb2
mov al, 0x2e
xchg byte [0x203cd8c2], al
lea rdx, [0x203cd8c0]
call fcn.20086d10
mov rbx, rax
mov rax, qword [rax]
mov ecx, dword [0x203cdc30]
lea r14d, [rcx + 1]
mov dword [0x203cdc30], r14d
mov qword [rbp + 0x1d8], rcx
test r14d, ecx
jne 0x2019dcdb
cmp dword [0x203cdc34], 0xaedf0de1
jne 0x2019dcd2
mov dword [0x203cdc34], 0xcb4a218d
mov ecx, 9
jmp 0x2019dcd4
xor ecx, ecx
xor edx, edx
test r15d, r15d
jg 0x2019dce0
xor r12d, r12d
jmp 0x2019dd00
lea r8, [0x202fd520]
add r13, r8
xor r12d, r12d
movsxd rdx, edx
lea r8, [rdx + r13]
xor r12, qword [r8 + rcx*8]
add edx, 8
cmp edx, r15d
jl 0x2019dced
movsxd rax, dword [rax + 4]
mov byte [rbx + rax + 0x58], 0x30
lea rcx, [rbp + 0x1b8]
mov edx, 2
call fcn.201a1d40
mov rax, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1c0]
mov rcx, qword [rbx]
movsxd r8, dword [rcx + 4]
mov rcx, rbx
add rcx, r8
call qword [case.0x200b73a7.0]
mov rcx, rbx
mov edx, edi
call fcn.2019e520
mov rcx, rax
movzx eax, byte [0x203cd9b2]
cmp al, 0x30
je 0x2019dd7d
mov dl, 0xf5
mov al, 0xc4
lock cmpxchg byte [0x203cd9b2], dl
je 0x2019dd67
cmp al, 0x30
jne 0x2019dd55
jmp 0x2019dd7d
xor byte [0x203cd9b0], 0xd0
xor byte [0x203cd9b1], 0xe7
mov al, 0x30
xchg byte [0x203cd9b2], al
lea rdx, [0x203cd9b0]
call fcn.20086d10
mov rdi, rax
mov rax, qword [rax]
movsxd rax, dword [rax + 4]
cmp dword [0x203cdc38], 0x67267e87
mov rcx, qword [0x202fd528]
jne 0x2019ddcb
and r14d, dword [rbp + 0x1d8]
mov dword [0x203cdc40], 0x8b73c51
xor ecx, ecx
cmp r14d, 1
mov edx, 0
sbb rdx, rdx
or rdx, 1
jmp 0x2019ddde
and r14d, dword [rbp + 0x1d8]
xor edx, edx
cmp r14d, 1
sbb rdx, rdx
neg rcx
add rcx, r12
cmp dword [0x203cdc3c], 0x2d1e9c92
jne 0x2019de07
imul rcx, rcx
imul rcx, rcx
not rcx
mov r8, rdx
sub r8, rcx
imul r8, rcx
xor rcx, r8
jmp 0x2019de0d
dec rcx
xor rcx, rdx
and rcx, rdx
add qword [0x20401970], rcx
mov byte [rdi + rax + 0x58], 0x30
lea rcx, [rbp + 0x1a8]
mov edx, 3
call fcn.201a1d40
mov rax, qword [rbp + 0x1a8]
mov rdx, qword [rbp + 0x1b0]
mov rcx, qword [rdi]
movsxd r8, dword [rcx + 4]
mov rcx, rdi
add rcx, r8
call qword [case.0x200b73a7.0]
mov rcx, rdi
mov edx, esi
call fcn.2019e520
call fcn.20197420
mov rsi, rax
call fcn.20197420
mov rdi, rax
call fcn.20197420
mov rbx, rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x1b8]
call fcn.200a5da0
lea rcx, [rbp + 0x180]
lea rdx, [rbp + 0x1b8]
call fcn.20087750
mov qword [rsp + 0x20], rsi
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x180]
mov r8, rbx
mov r9, rdi
call fcn.201a1d70
lea rdx, [0x20372ca0]
lea rcx, [rbp - 0x50]
call fcn.20080940
int3