Function at 0x200fec60
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x200feca9
test edx, edx
je 0x200fece9
test r8d, r8d
je 0x200fed29
movzx eax, byte [0x2044ba3b]
cmp al, 0x2e
je 0x200fee29
mov cl, 0x95
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x2044ba3b], cl
je 0x200fedf9
cmp al, 0x2e
jne 0x200fec90
jmp 0x200fee29
test edx, edx
je 0x200fed59
test r8d, r8d
je 0x200fed99
movzx eax, byte [0x2044b982]
cmp al, 0xf4
je 0x200fee99
mov cl, 0x56
nop dword [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2044b982], cl
je 0x200fee69
cmp al, 0xf4
jne 0x200fecd0
jmp 0x200fee99
test r8d, r8d
je 0x200fedc9
movzx eax, byte [0x2044baab]
cmp al, 0xc4
je 0x200feed9
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x99
lock cmpxchg byte [0x2044baab], cl
je 0x200feea5
cmp al, 0xc4
jne 0x200fed10
jmp 0x200feed9
movzx eax, byte [0x2044babd]
cmp al, 0x1c
je 0x200fef19
mov cl, 6
nop word [rax + rax]
mov al, 0x6d
lock cmpxchg byte [0x2044babd], cl
je 0x200feee5
cmp al, 0x1c
jne 0x200fed40
jmp 0x200fef19
test r8d, r8d
je 0x200fee35
movzx eax, byte [0x2044b8d4]
cmp al, 0x3f
je 0x200fef99
mov cl, 0xf4
nop word cs:[rax + rax]
mov al, 0x3b
lock cmpxchg byte [0x2044b8d4], cl
je 0x200fef25
cmp al, 0x3f
jne 0x200fed80
jmp 0x200fef99
movzx eax, byte [0x2044ba4f]
cmp al, 0xfe
je 0x200fefd9
mov cl, 0x85
nop word [rax + rax]
mov al, 0xa
lock cmpxchg byte [0x2044ba4f], cl
je 0x200fefa5
cmp al, 0xfe
jne 0x200fedb0
jmp 0x200fefd9
movzx eax, byte [0x2044b9dc]
cmp al, 0xa1
je 0x200ff019
mov cl, 0x4b
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x2044b9dc], cl
je 0x200fefe5
cmp al, 0xa1
jne 0x200fede0
jmp 0x200ff019
xor eax, eax
lea rcx, [0x2044ba30]
lea rdx, [0x20371af0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x200fee10
mov al, 0x2e
xchg byte [0x2044ba3b], al
lea rax, [0x2044ba30]
jmp 0x200ff0a0
movzx eax, byte [0x2044b8dc]
cmp al, 0x54
je 0x200ff099
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x45
lock cmpxchg byte [0x2044b8dc], cl
je 0x200ff022
cmp al, 0x54
jne 0x200fee50
jmp 0x200ff099
xor eax, eax
lea rcx, [0x2044b980]
lea rdx, [0x20371a50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x200fee80
mov al, 0xf4
xchg byte [0x2044b982], al
lea rax, [0x2044b980]
jmp 0x200ff0a0
xor eax, eax
lea rcx, [0x2044baa0]
lea rdx, [0x20371b60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x200feec0
mov al, 0xc4
xchg byte [0x2044baab], al
lea rax, [0x2044baa0]
jmp 0x200ff0a0
xor eax, eax
lea rcx, [0x2044bab0]
lea rdx, [0x20371b70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x200fef00
mov al, 0x1c
xchg byte [0x2044babd], al
lea rax, [0x2044bab0]
jmp 0x200ff0a0
cmp qword [0x204a1d78], 0
jne 0x200fef6f
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1d78], rax
lea rcx, [0x200fe5b0]
call fcn.2032c150
xor eax, eax
lea rcx, [0x203717f0]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200fef60
mov rax, qword [0x204a1d78]
xor ecx, ecx
lea rdx, [0x20371800]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200fef80
mov al, 0x3f
xchg byte [0x2044b8d4], al
mov rax, qword [0x204a1d78]
jmp 0x200ff0a0
xor eax, eax
lea rcx, [0x2044ba40]
lea rdx, [0x20371b00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x200fefc0
mov al, 0xfe
xchg byte [0x2044ba4f], al
lea rax, [0x2044ba40]
jmp 0x200ff0a0
xor eax, eax
lea rcx, [0x2044b9c0]
lea rdx, [0x20371a80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x200ff000
mov al, 0xa1
xchg byte [0x2044b9dc], al
lea rax, [0x2044b9c0]
jmp 0x200ff0a0
cmp qword [0x204a1db8], 0
jne 0x200ff064
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1db8], rax
lea rcx, [0x200fe6b0]
call fcn.2032c150
xor eax, eax
lea rcx, [0x203718f0]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff055
mov rax, qword [0x204a1db8]
xor ecx, ecx
lea rdx, [0x20371900]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff080
mov al, 0x54
xchg byte [0x2044b8dc], al
mov rax, qword [0x204a1db8]
add rsp, 0x20
pop rsi
ret