Function at 0x20200900
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x20200959
test edx, edx
je 0x20200999
test r8d, r8d
je 0x202009d9
test r9d, r9d
je 0x20200a59
movzx eax, byte [0x20469035]
cmp al, 0x32
je 0x20200bb9
mov cl, 0x9b
nop word cs:[rax + rax]
mov al, 0xd3
lock cmpxchg byte [0x20469035], cl
je 0x20200b89
cmp al, 0x32
jne 0x20200940
jmp 0x20200bb9
test edx, edx
je 0x20200a19
test r8d, r8d
je 0x20200a89
movzx eax, byte [0x20468f65]
cmp al, 0x63
je 0x20200bf9
mov cl, 0x73
nop dword [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x20468f65], cl
je 0x20200bc5
cmp al, 0x63
jne 0x20200980
jmp 0x20200bf9
test r8d, r8d
je 0x20200ab9
test r9d, r9d
je 0x20200af9
movzx eax, byte [0x20468f42]
cmp al, 0x7d
je 0x20200c69
mov cl, 0x39
nop dword [rax]
mov al, 0xb7
lock cmpxchg byte [0x20468f42], cl
je 0x20200c39
cmp al, 0x7d
jne 0x202009c0
jmp 0x20200c69
test r9d, r9d
je 0x20200b29
movzx eax, byte [0x204690f3]
cmp al, 0x6e
je 0x20200ca9
mov cl, 0xc4
nop word cs:[rax + rax]
mov al, 0x80
lock cmpxchg byte [0x204690f3], cl
je 0x20200c75
cmp al, 0x6e
jne 0x20200a00
jmp 0x20200ca9
test r8d, r8d
je 0x20200b59
movzx eax, byte [0x20469056]
cmp al, 0x4d
je 0x20200d29
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x20469056], cl
je 0x20200cf5
cmp al, 0x4d
jne 0x20200a40
jmp 0x20200d29
movzx eax, byte [0x204690e5]
cmp al, 0xee
je 0x20200ce9
mov cl, 0x2c
nop word [rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x204690e5], cl
je 0x20200cb5
cmp al, 0xee
jne 0x20200a70
jmp 0x20200ce9
movzx eax, byte [0x20469019]
cmp al, 0x39
je 0x20200d69
mov cl, 0x13
nop word [rax + rax]
mov al, 0xe9
lock cmpxchg byte [0x20469019], cl
je 0x20200d35
cmp al, 0x39
jne 0x20200aa0
jmp 0x20200d69
test r9d, r9d
je 0x20200c05
movzx eax, byte [0x20468fd0]
cmp al, 0xb4
je 0x20200da9
mov cl, 0xe
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x20468fd0], cl
je 0x20200d75
cmp al, 0xb4
jne 0x20200ae0
jmp 0x20200da9
movzx eax, byte [0x204690dc]
cmp al, 0x29
je 0x20200de9
mov cl, 0x84
nop word [rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x204690dc], cl
je 0x20200db5
cmp al, 0x29
jne 0x20200b10
jmp 0x20200de9
movzx eax, byte [0x2046900a]
cmp al, 0x3f
je 0x20200e89
mov esi, dword [rsp + 0x60]
mov cl, 0xa3
nop
mov al, 0x38
lock cmpxchg byte [0x2046900a], cl
je 0x20200df5
cmp al, 0x3f
jne 0x20200b40
jmp 0x20200e89
movzx eax, byte [0x20469176]
cmp al, 0xae
je 0x20200ec9
mov cl, 0x82
nop word [rax + rax]
mov al, 0x7b
lock cmpxchg byte [0x20469176], cl
je 0x20200e92
cmp al, 0xae
jne 0x20200b70
jmp 0x20200ec9
xor eax, eax
lea rcx, [0x20469020]
lea rdx, [0x2037e1b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20200ba0
mov al, 0x32
xchg byte [0x20469035], al
lea rax, [0x20469020]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20468f50]
lea rdx, [0x2037e0c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20200be0
mov al, 0x63
xchg byte [0x20468f65], al
lea rax, [0x20468f50]
jmp 0x20200f10
movzx eax, byte [0x20469089]
cmp al, 0x8d
je 0x20200f09
mov cl, 0xb7
nop word cs:[rax + rax]
mov al, 0x17
lock cmpxchg byte [0x20469089], cl
je 0x20200ed2
cmp al, 0x8d
jne 0x20200c20
jmp 0x20200f09
xor eax, eax
lea rcx, [0x20468f40]
lea rdx, [0x2037e0b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20200c50
mov al, 0x7d
xchg byte [0x20468f42], al
lea rax, [0x20468f40]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x204690f0]
lea rdx, [0x2037e280]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20200c90
mov al, 0x6e
xchg byte [0x204690f3], al
lea rax, [0x204690f0]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x204690e0]
lea rdx, [0x2037e270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20200cd0
mov al, 0xee
xchg byte [0x204690e5], al
lea rax, [0x204690e0]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20469040]
lea rdx, [0x2037e1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x20200d10
mov al, 0x4d
xchg byte [0x20469056], al
lea rax, [0x20469040]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20469010]
lea rdx, [0x2037e1a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x20200d50
mov al, 0x39
xchg byte [0x20469019], al
lea rax, [0x20469010]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20468fc0]
lea rdx, [0x2037e120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20200d90
mov al, 0xb4
xchg byte [0x20468fd0], al
lea rax, [0x20468fc0]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x204690c0]
lea rdx, [0x2037e250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20200dd0
mov al, 0x29
xchg byte [0x204690dc], al
lea rax, [0x204690c0]
jmp 0x20200f10
cmp qword [0x204a3060], 0
jne 0x20200e51
mov r9d, esi
xor r9d, 0x48f11605
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.202008d0
mov rdi, rax
mov qword [0x204a3060], rax
xor esi, 0x145fd285
lea rcx, [0x202008b0]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x2037e180]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x20200e42
mov rax, qword [0x204a3060]
xor ecx, ecx
lea rdx, [0x2037e190]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x20200e70
mov al, 0x3f
xchg byte [0x2046900a], al
mov rax, qword [0x204a3060]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20469150]
lea rdx, [0x2037e2e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x20200eb0
mov al, 0xae
xchg byte [0x20469176], al
lea rax, [0x20469150]
jmp 0x20200f10
xor eax, eax
lea rcx, [0x20469080]
lea rdx, [0x2037e210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x20200ef0
mov al, 0x8d
xchg byte [0x20469089], al
lea rax, [0x20469080]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret