Function at 0x201b03c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x201b0419
test edx, edx
je 0x201b0469
test r8d, r8d
je 0x201b04a9
movzx eax, byte [0x2045f828]
cmp al, 7
je 0x201b05d9
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x2045f828], cl
je 0x201b05a9
cmp al, 7
jne 0x201b0400
jmp 0x201b05d9
test edx, edx
je 0x201b04e9
test r8d, r8d
je 0x201b0529
test r9d, r9d
je 0x201b05e5
movzx eax, byte [0x2045f763]
cmp al, 0xd2
je 0x201b0779
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x19
lock cmpxchg byte [0x2045f763], cl
je 0x201b0749
cmp al, 0xd2
jne 0x201b0450
jmp 0x201b0779
test r8d, r8d
je 0x201b0569
test r9d, r9d
je 0x201b0619
movzx eax, byte [0x2045f80d]
cmp al, 0x51
je 0x201b07b9
mov cl, 0xfe
nop dword [rax]
mov al, 0x6a
lock cmpxchg byte [0x2045f80d], cl
je 0x201b0785
cmp al, 0x51
jne 0x201b0490
jmp 0x201b07b9
test r9d, r9d
je 0x201b0649
movzx eax, byte [0x2045f66d]
cmp al, 0x1f
je 0x201b07f9
mov cl, 0x4e
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x2045f66d], cl
je 0x201b07c5
cmp al, 0x1f
jne 0x201b04d0
jmp 0x201b07f9
test r8d, r8d
je 0x201b0679
test r9d, r9d
je 0x201b06b9
movzx eax, byte [0x2045f4fd]
cmp al, 0xff
je 0x201b0859
mov cl, 0xe9
nop dword [rax]
mov al, 0xaf
lock cmpxchg byte [0x2045f4fd], cl
je 0x201b082f
cmp al, 0xff
jne 0x201b0510
jmp 0x201b0859
test r9d, r9d
je 0x201b06e9
movzx eax, byte [0x2045ef99]
cmp al, 0x45
je 0x201b08f9
mov cl, 0x57
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x2045ef99], cl
je 0x201b0865
cmp al, 0x45
jne 0x201b0550
jmp 0x201b08f9
test r9d, r9d
je 0x201b0719
movzx eax, byte [0x2045f4ad]
cmp al, 0xba
je 0x201b0939
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x2045f4ad], cl
je 0x201b0905
cmp al, 0xba
jne 0x201b0590
jmp 0x201b0939
xor eax, eax
lea rcx, [0x2045f810]
lea rdx, [0x20379750]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x201b05c0
mov al, 7
xchg byte [0x2045f828], al
lea rax, [0x2045f810]
jmp 0x201b0b92
movzx eax, byte [0x2045f67f]
cmp al, 0xc9
je 0x201b0979
mov cl, 0x51
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x2045f67f], cl
je 0x201b0945
cmp al, 0xc9
jne 0x201b0600
jmp 0x201b0979
movzx eax, byte [0x2045ee19]
cmp al, 0x3d
je 0x201b0a19
mov cl, 0xb0
nop word [rax + rax]
mov al, 0x7a
lock cmpxchg byte [0x2045ee19], cl
je 0x201b0985
cmp al, 0x3d
jne 0x201b0630
jmp 0x201b0a19
movzx eax, byte [0x2045f5ad]
cmp al, 0xc9
je 0x201b0a59
mov cl, 3
nop word [rax + rax]
mov al, 0x18
lock cmpxchg byte [0x2045f5ad], cl
je 0x201b0a25
cmp al, 0xc9
jne 0x201b0660
jmp 0x201b0a59
test r9d, r9d
je 0x201b0805
movzx eax, byte [0x2045f441]
cmp al, 0x5c
je 0x201b0a99
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xec
lock cmpxchg byte [0x2045f441], cl
je 0x201b0a65
cmp al, 0x5c
jne 0x201b06a0
jmp 0x201b0a99
movzx eax, byte [0x2045f77d]
cmp al, 0x8b
je 0x201b0ad9
mov cl, 0xef
nop word [rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x2045f77d], cl
je 0x201b0aa5
cmp al, 0x8b
jne 0x201b06d0
jmp 0x201b0ad9
movzx eax, byte [0x2045f8ae]
cmp al, 0xe2
je 0x201b0b19
mov cl, 0x94
nop word [rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x2045f8ae], cl
je 0x201b0ae5
cmp al, 0xe2
jne 0x201b0700
jmp 0x201b0b19
movzx eax, byte [0x2045f69a]
cmp al, 0x73
je 0x201b0b59
mov cl, 0x5e
nop word [rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x2045f69a], cl
je 0x201b0b22
cmp al, 0x73
jne 0x201b0730
jmp 0x201b0b59
xor eax, eax
lea rcx, [0x2045f750]
lea rdx, [0x203796c0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201b0760
mov al, 0xd2
xchg byte [0x2045f763], al
lea rax, [0x2045f750]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f800]
lea rdx, [0x20379740]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b07a0
mov al, 0x51
xchg byte [0x2045f80d], al
lea rax, [0x2045f800]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f660]
lea rdx, [0x203795d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b07e0
mov al, 0x1f
xchg byte [0x2045f66d], al
lea rax, [0x2045f660]
jmp 0x201b0b92
movzx eax, byte [0x2045f2fd]
cmp al, 0x38
je 0x201b0b8b
mov cl, 0xe8
mov al, 0xaa
lock cmpxchg byte [0x2045f2fd], cl
je 0x201b0b62
cmp al, 0x38
jne 0x201b0816
jmp 0x201b0b8b
xor eax, eax
lea rcx, [0x2045f4f0]
lea rdx, [0x20379460]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0840
mov al, 0xff
xchg byte [0x2045f4fd], al
lea rax, [0x2045f4f0]
jmp 0x201b0b92
cmp qword [0x204a2610], 0
jne 0x201b08cb
mov eax, esi
xor eax, 0x4c4f5b26
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0xc
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a2610], rax
xor esi, 0xd06f8a7b
lea rcx, [0x201ad730]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378e90]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xa
jle 0x201b08bc
mov rax, qword [0x204a2610]
xor ecx, ecx
lea rdx, [0x20378ea0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xb
jl 0x201b08e0
mov al, 0x45
xchg byte [0x2045ef99], al
mov rax, qword [0x204a2610]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f4a0]
lea rdx, [0x20379410]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0920
mov al, 0xba
xchg byte [0x2045f4ad], al
lea rax, [0x2045f4a0]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f670]
lea rdx, [0x203795e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x201b0960
mov al, 0xc9
xchg byte [0x2045f67f], al
lea rax, [0x2045f670]
jmp 0x201b0b92
cmp qword [0x204a25d8], 0
jne 0x201b09eb
mov eax, esi
xor eax, 0xd7f045e
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a25d8], rax
xor esi, 0x915fd503
lea rcx, [0x201ad650]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378bd0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x201b09dc
mov rax, qword [0x204a25d8]
xor ecx, ecx
lea rdx, [0x20378be0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x201b0a00
mov al, 0x3d
xchg byte [0x2045ee19], al
mov rax, qword [0x204a25d8]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f5a0]
lea rdx, [0x20379510]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0a40
mov al, 0xc9
xchg byte [0x2045f5ad], al
lea rax, [0x2045f5a0]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f430]
lea rdx, [0x203793a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201b0a80
mov al, 0x5c
xchg byte [0x2045f441], al
lea rax, [0x2045f430]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f770]
lea rdx, [0x203796e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0ac0
mov al, 0x8b
xchg byte [0x2045f77d], al
lea rax, [0x2045f770]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f8a0]
lea rdx, [0x203797e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201b0b00
mov al, 0xe2
xchg byte [0x2045f8ae], al
lea rax, [0x2045f8a0]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f690]
lea rdx, [0x20379600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x201b0b40
mov al, 0x73
xchg byte [0x2045f69a], al
lea rax, [0x2045f690]
jmp 0x201b0b92
xor eax, eax
lea rcx, [0x2045f2f0]
lea rdx, [0x20379270]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b0b72
mov al, 0x38
xchg byte [0x2045f2fd], al
lea rax, [0x2045f2f0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret