Function at 0x200ff0b0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x200ff109
test edx, edx
je 0x200ff159
test r8d, r8d
je 0x200ff199
test r9d, r9d
je 0x200ff219
movzx eax, byte [0x2044b8da]
cmp al, 5
je 0x200ff3f9
mov cl, 0xcc
nop word cs:[rax + rax]
mov al, 0xf6
lock cmpxchg byte [0x2044b8da], cl
je 0x200ff389
cmp al, 5
jne 0x200ff0f0
jmp 0x200ff3f9
test edx, edx
je 0x200ff1d9
test r8d, r8d
je 0x200ff249
test r9d, r9d
je 0x200ff2c9
movzx eax, byte [0x2044b8e0]
cmp al, 0xf5
je 0x200ff4d9
mov cl, 0x75
nop word cs:[rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x2044b8e0], cl
je 0x200ff469
cmp al, 0xf5
jne 0x200ff140
jmp 0x200ff4d9
test r8d, r8d
je 0x200ff289
test r9d, r9d
je 0x200ff2f9
movzx eax, byte [0x2044bb1c]
cmp al, 0xd2
je 0x200ff519
mov cl, 0x81
nop dword [rax]
mov al, 0x31
lock cmpxchg byte [0x2044bb1c], cl
je 0x200ff4e5
cmp al, 0xd2
jne 0x200ff180
jmp 0x200ff519
test r9d, r9d
je 0x200ff329
movzx eax, byte [0x2044b8e1]
cmp al, 0x93
je 0x200ff599
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xd4
lock cmpxchg byte [0x2044b8e1], cl
je 0x200ff525
cmp al, 0x93
jne 0x200ff1c0
jmp 0x200ff599
test r8d, r8d
je 0x200ff359
movzx eax, byte [0x2044b8d9]
cmp al, 0x92
je 0x200ff659
mov cl, 0x55
nop word cs:[rax + rax]
mov al, 0xa3
lock cmpxchg byte [0x2044b8d9], cl
je 0x200ff5e5
cmp al, 0x92
jne 0x200ff200
jmp 0x200ff659
movzx eax, byte [0x2044b9e5]
cmp al, 0xe1
je 0x200ff5d9
mov cl, 0x5b
nop word [rax + rax]
mov al, 0x7e
lock cmpxchg byte [0x2044b9e5], cl
je 0x200ff5a5
cmp al, 0xe1
jne 0x200ff230
jmp 0x200ff5d9
test r9d, r9d
je 0x200ff405
movzx eax, byte [0x2044b8d3]
cmp al, 0x10
je 0x200ff699
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0x21
lock cmpxchg byte [0x2044b8d3], cl
je 0x200ff665
cmp al, 0x10
jne 0x200ff270
jmp 0x200ff699
test r9d, r9d
je 0x200ff439
movzx eax, byte [0x2044b8d7]
cmp al, 0x5d
je 0x200ff719
mov cl, 0xbf
nop word cs:[rax + rax]
mov al, 0xd9
lock cmpxchg byte [0x2044b8d7], cl
je 0x200ff6a5
cmp al, 0x5d
jne 0x200ff2b0
jmp 0x200ff719
movzx eax, byte [0x2044b925]
cmp al, 0xfb
je 0x200ff759
mov cl, 0xe9
nop word [rax + rax]
mov al, 0x36
lock cmpxchg byte [0x2044b925], cl
je 0x200ff725
cmp al, 0xfb
jne 0x200ff2e0
jmp 0x200ff759
movzx eax, byte [0x2044b8d5]
cmp al, 0x74
je 0x200ff7d9
mov cl, 0xb3
nop word [rax + rax]
mov al, 0xaa
lock cmpxchg byte [0x2044b8d5], cl
je 0x200ff765
cmp al, 0x74
jne 0x200ff310
jmp 0x200ff7d9
movzx eax, byte [0x2044ba92]
cmp al, 0x2f
je 0x200ff819
mov cl, 0x43
nop word [rax + rax]
mov al, 0xee
lock cmpxchg byte [0x2044ba92], cl
je 0x200ff7e5
cmp al, 0x2f
jne 0x200ff340
jmp 0x200ff819
movzx eax, byte [0x2044b900]
cmp al, 0x34
je 0x200ff859
mov cl, 0xdc
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x2044b900], cl
je 0x200ff825
cmp al, 0x34
jne 0x200ff370
jmp 0x200ff859
cmp qword [0x204a1da8], 0
jne 0x200ff3cf
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1da8], rax
lea rcx, [0x200fe670]
call fcn.2032c150
xor eax, eax
lea rcx, [0x203718b0]
nop dword [rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff3c0
mov rax, qword [0x204a1da8]
xor ecx, ecx
lea rdx, [0x203718c0]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff3e0
mov al, 5
xchg byte [0x2044b8da], al
mov rax, qword [0x204a1da8]
jmp 0x200ff8e0
movzx eax, byte [0x2044b9f3]
cmp al, 0x29
je 0x200ff899
mov cl, 0x90
nop word cs:[rax + rax]
mov al, 0x58
lock cmpxchg byte [0x2044b9f3], cl
je 0x200ff862
cmp al, 0x29
jne 0x200ff420
jmp 0x200ff899
movzx eax, byte [0x2044b972]
cmp al, 0xa7
je 0x200ff8d9
mov cl, 3
nop word [rax + rax]
mov al, 0x3c
lock cmpxchg byte [0x2044b972], cl
je 0x200ff8a2
cmp al, 0xa7
jne 0x200ff450
jmp 0x200ff8d9
cmp qword [0x204a1dd8], 0
jne 0x200ff4af
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1dd8], rax
lea rcx, [0x200fe730]
call fcn.2032c150
xor eax, eax
lea rcx, [0x20371970]
nop dword [rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff4a0
mov rax, qword [0x204a1dd8]
xor ecx, ecx
lea rdx, [0x20371980]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff4c0
mov al, 0xf5
xchg byte [0x2044b8e0], al
mov rax, qword [0x204a1dd8]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044bb10]
lea rdx, [0x20371bd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x200ff500
mov al, 0xd2
xchg byte [0x2044bb1c], al
lea rax, [0x2044bb10]
jmp 0x200ff8e0
cmp qword [0x204a1de0], 0
jne 0x200ff56f
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1de0], rax
lea rcx, [0x200fe750]
call fcn.2032c150
xor eax, eax
lea rcx, [0x20371990]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff560
mov rax, qword [0x204a1de0]
xor ecx, ecx
lea rdx, [0x203719a0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff580
mov al, 0x93
xchg byte [0x2044b8e1], al
mov rax, qword [0x204a1de0]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b9e0]
lea rdx, [0x20371aa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x200ff5c0
mov al, 0xe1
xchg byte [0x2044b9e5], al
lea rax, [0x2044b9e0]
jmp 0x200ff8e0
cmp qword [0x204a1da0], 0
jne 0x200ff62f
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1da0], rax
lea rcx, [0x200fe650]
call fcn.2032c150
xor eax, eax
lea rcx, [0x20371890]
nop dword [rax + rax]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff620
mov rax, qword [0x204a1da0]
xor ecx, ecx
lea rdx, [0x203718a0]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff640
mov al, 0x92
xchg byte [0x2044b8d9], al
mov rax, qword [0x204a1da0]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b8d0]
lea rdx, [0x203717e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x200ff680
mov al, 0x10
xchg byte [0x2044b8d3], al
lea rax, [0x2044b8d0]
jmp 0x200ff8e0
cmp qword [0x204a1d90], 0
jne 0x200ff6e7
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1d90], rax
lea rcx, [0x200fe610]
call fcn.2032c150
xor eax, eax
lea rcx, [0x20371850]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff6d8
mov rax, qword [0x204a1d90]
xor ecx, ecx
lea rdx, [0x20371860]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff700
mov al, 0x5d
xchg byte [0x2044b8d7], al
mov rax, qword [0x204a1d90]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b910]
lea rdx, [0x203719e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x200ff740
mov al, 0xfb
xchg byte [0x2044b925], al
lea rax, [0x2044b910]
jmp 0x200ff8e0
cmp qword [0x204a1d80], 0
jne 0x200ff7a7
mov ecx, 4
call fcn.2030c544
mov rsi, rax
mov qword [0x204a1d80], rax
lea rcx, [0x200fe5d0]
call fcn.2032c150
xor eax, eax
lea rcx, [0x20371810]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x200ff798
mov rax, qword [0x204a1d80]
xor ecx, ecx
lea rdx, [0x20371820]
nop word [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x200ff7c0
mov al, 0x74
xchg byte [0x2044b8d5], al
mov rax, qword [0x204a1d80]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044ba90]
lea rdx, [0x20371b50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x200ff800
mov al, 0x2f
xchg byte [0x2044ba92], al
lea rax, [0x2044ba90]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b8f0]
lea rdx, [0x203719d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x200ff840
mov al, 0x34
xchg byte [0x2044b900], al
lea rax, [0x2044b8f0]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b9f0]
lea rdx, [0x20371ab0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x200ff880
mov al, 0x29
xchg byte [0x2044b9f3], al
lea rax, [0x2044b9f0]
jmp 0x200ff8e0
xor eax, eax
lea rcx, [0x2044b970]
lea rdx, [0x20371a40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x200ff8c0
mov al, 0xa7
xchg byte [0x2044b972], al
lea rax, [0x2044b970]
add rsp, 0x20
pop rsi
ret