Function at 0x201b3370
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, r8d
mov edi, edx
mov esi, ecx
mov r12, qword [0x20553830]
movsxd r13, dword [r12]
mov rax, r13
not rax
and r13, r12
not r12
mov rcx, rax
xor rcx, r12
or r12, rax
and r12, rcx
nop word [rax + rax]
mov eax, dword [0x205b3e5c]
cmp eax, 0x3a
jg 0x201b33c0
mov eax, 0xfa14a9ad
add eax, dword [0x20553a40]
lea rcx, [fcn.201b3370]
add ecx, ecx
add ecx, 0x2d20
test ecx, eax
jne 0x201b341e
mov r14d, dword [0x20472d38]
mov eax, dword [0x205b3e58]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, dword [0x20553a40]
mov edx, eax
xor edx, 0x2f2921f7
and eax, 0x2f2921f7
lea eax, [rdx + rax*2]
add eax, 0xcaeb87b5
cmp ecx, eax
je 0x201b3426
mov eax, dword [0x20472d38]
jmp 0x201b33e9
mov dword [rbp - 0xc], edi
test r9b, r9b
je 0x201b343c
mov rax, qword [0x205b3e08]
mov qword [0x205b3e10], rax
test edi, edi
je 0x201b38f5
cmp qword [0x205b3908], 0
jne 0x201b34b8
mov ecx, 0xe8
mov edx, 0xa14db22e
mov r8d, 0xc3e831e2
call fcn.2008daf0
lea rcx, [0x2046c3e8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
movzx ecx, byte [0x20553a44]
add cl, 0x6d
mov byte [rax + 0x18], cl
lea rcx, [0x2046c448]
mov qword [rax + 0x10], rcx
mov word [rax + 8], 0
mov ecx, 0x21f1
add ecx, dword [0x20553a48]
mov word [rax + 0xa], cx
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x205b3908], rax
mov rax, qword [0x205b3908]
mov rax, qword [rax + 0x38]
mov esi, esi
add rsi, rax
test bl, bl
je 0x201b350d
lea rdi, [rbp - 8]
mov rcx, rdi
mov edx, 0x78de6fb1
mov r8d, 0x621cb55
mov r9d, 0x477898de
call fcn.201b6c90
lea rdx, [0x205b3e08]
lea r9, [rbp - 0xc]
mov rcx, rdi
mov r8, rsi
call fcn.202430c0
lea rcx, [rbp - 8]
call fcn.2012ad70
jmp 0x201b38f5
test rax, rax
sete dl
movzx ecx, byte [0x205b38b9]
xor cl, dl
mov r8d, ecx
not r8b
xor eax, eax
test r8b, dl
jne 0x201b3582
test cl, 1
jne 0x201b3582
mov ecx, edi
add rcx, rsi
xor eax, eax
movabs rdx, 0x86024cc3620574ac
mov r8, rsi
nop word cs:[rax + rax]
mov r9d, dword [r8 + 4]
test r9, r9
je 0x201b3582
lea r10, [r9 - 8]
shr r10, 1
mov r11, r10
xor r11, rax
and r10, rax
mov rax, qword [0x20553a38]
add rax, rdx
imul rax, r10
add rax, r11
add r8, r9
cmp r8, rcx
jb 0x201b3550
mov rdx, qword [0x205b3e10]
mov rcx, qword [0x205b3e08]
sub rdx, rcx
sar rdx, 3
add rdx, rax
mov rax, qword [0x205b3e18]
sub rax, rcx
sar rax, 3
cmp rax, rdx
jae 0x201b35c6
mov rax, rdx
shr rax, 0x3d
jne 0x201b390d
lea rcx, [0x205b3e08]
call fcn.201b4ab0
mov eax, dword [rbp - 0xc]
mov qword [rbp - 8], 0
mov qword [rbp - 0x18], rax
test rax, rax
je 0x201b38a5
lea r12, [r12 + r13*2]
add qword [rbp - 0x18], rsi
jmp 0x201b3607
mov eax, dword [rsi + 4]
add rax, qword [0x205b3928]
add rsi, rax
cmp rsi, qword [rbp - 0x18]
jae 0x201b38a5
mov ecx, dword [rsi + 4]
mov r13d, dword [0x20553820]
lea edx, [r13 + 1]
mov dword [0x20553820], edx
mov r8d, r13d
not r8d
mov r9d, dword [0x20553a40]
mov eax, 0xfa14a9ab
add r9d, eax
mov r10d, r8d
xor r10d, r9d
mov eax, r9d
not eax
mov r11d, r13d
and r11d, eax
or r11d, r10d
not r11d
mov r10d, r13d
xor r10d, eax
and r8d, r9d
or r8d, r10d
not r8d
or r8d, r11d
xor eax, r9d
and eax, edx
xor eax, r9d
and eax, r8d
xor r13d, edx
nop word [rax + rax]
mov edx, dword [0x205b3e5c]
cmp edx, 0x40
jg 0x201b368f
mov edx, dword [0x205b3e58]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x201b36a0
mov edx, dword [0x205b3e5c]
cmp edx, 0xc
jge 0x201b3670
jmp 0x201b367b
or r13d, eax
not r13d
xor r15d, r15d
test r13d, r13d
jne 0x201b36c0
test r14d, r14d
jg 0x201b36e2
nop word cs:[rax + rax]
mov eax, dword [0x205b3e5c]
mov edx, dword [0x20553a40]
mov r8d, 0xfa14aa07
add edx, r8d
cmp eax, edx
jge 0x201b3790
jmp 0x201b3770
xor eax, eax
xor r15d, r15d
jmp 0x201b3724
not r15d
mov r8d, r15d
and r8d, edx
not edx
xor r15d, edx
and r15d, edx
mov edx, 0x5eb5650
sub edx, dword [0x20553a40]
or r15d, r8d
neg eax
mov r8d, eax
xor r8d, edx
and eax, edx
lea eax, [r8 + rax*2]
neg eax
cmp eax, r14d
jge 0x201b36c0
movsxd rdx, eax
mov edx, dword [r12 + rdx]
nop dword [rax + rax]
mov r8d, dword [0x205b3e58]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x201b375a
mov r8d, dword [0x205b3e58]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x201b36f0
mov r8d, dword [0x205b3e5c]
cmp r8d, 0x53
jge 0x201b3730
jmp 0x201b3745
mov eax, dword [0x205b3e58]
mov edx, dword [0x20553a40]
not edx
add edx, eax
imul edx, eax
test dl, 1
je 0x201b37d0
nop dword [rax + rax]
mov edx, dword [0x205b3e58]
lea eax, [rdx - 1]
imul eax, edx
mov edx, dword [0x20553a40]
mov r8d, edx
xor r8d, 0xfa14a9ae
and edx, 0x7a14a9ae
lea r8d, [r8 + rdx*2]
xor edx, edx
div r8d
test edx, edx
jne 0x201b3790
jmp 0x201b3770
mov eax, dword [0x20553a40]
mov edx, 0xfa14a9ac
add eax, edx
cmp ecx, eax
je 0x201b38a5
movabs rax, 0x1fffffff8
add rax, rcx
shr rax, 1
test eax, eax
jle 0x201b35f0
movsxd rdi, eax
dec rdi
xor ebx, ebx
nop word cs:[rax + rax]
mov ecx, dword [rsi]
mov qword [rbp - 8], rcx
shl rcx, 4
movzx eax, word [rsi + rbx*2 + 8]
add rax, rcx
mov qword [rbp - 8], rax
mov rdx, qword [0x205b3e10]
cmp rdx, qword [0x205b3e18]
je 0x201b3850
mov qword [rdx], rax
add qword [0x205b3e10], 8
cmp edi, ebx
jne 0x201b389d
jmp 0x201b35f0
mov eax, dword [0x20472d30]
mov ecx, dword [0x20553a40]
mov r8d, ecx
xor r8d, 0xfa14a9ad
and ecx, 0x7a14a9ad
lea ecx, [r8 + rcx*2]
cmp r13d, 1
adc ecx, 0xffffffff
neg ecx
sub eax, r15d
and eax, ecx
add qword [0x205b3928], rax
lea rcx, [0x205b3e08]
lea r8, [rbp - 8]
call fcn.201b4c20
cmp edi, ebx
je 0x201b35f0
inc rbx
jmp 0x201b3810
lea rcx, [0x205b3e08]
call fcn.201b4700
mov rdx, qword [0x205b3e10]
mov rcx, qword [0x205b3e08]
movabs rax, 0x523e0dcb4a60d70e
add rax, rdx
mov r8, rcx
neg r8
mov r9, rax
xor r9, r8
and r8, rax
lea rax, [r9 + r8*2]
movabs r8, 0xadc1f234b59f28f2
add r8, rax
sar r8, 3
call fcn.201b5040
lea rax, [0x205b3e08]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.20108b60
int3