Function at 0x20200f20
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
test ecx, ecx
je 0x20200f79
test edx, edx
je 0x20200fb9
test r8d, r8d
je 0x20200ff9
test r9d, r9d
je 0x20201079
movzx eax, byte [0x20468fb3]
cmp al, 0xd3
je 0x202011f9
mov cl, 0x58
nop word cs:[rax + rax]
mov al, 0xe4
lock cmpxchg byte [0x20468fb3], cl
je 0x202011c9
cmp al, 0xd3
jne 0x20200f60
jmp 0x202011f9
test edx, edx
je 0x20201039
test r8d, r8d
je 0x202010a9
movzx eax, byte [0x20468fe6]
cmp al, 0x8b
je 0x20201239
mov cl, 0x33
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x20468fe6], cl
je 0x20201205
cmp al, 0x8b
jne 0x20200fa0
jmp 0x20201239
test r8d, r8d
je 0x202010e9
test r9d, r9d
je 0x20201129
movzx eax, byte [0x20469009]
cmp al, 0xed
je 0x20201369
mov esi, dword [rsp + 0x60]
mov cl, 0xdb
mov al, 0xd6
lock cmpxchg byte [0x20469009], cl
je 0x202012d9
cmp al, 0xed
jne 0x20200fe0
jmp 0x20201369
test r9d, r9d
je 0x20201159
movzx eax, byte [0x20469075]
cmp al, 0x85
je 0x202013a9
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x54
lock cmpxchg byte [0x20469075], cl
je 0x20201375
cmp al, 0x85
jne 0x20201020
jmp 0x202013a9
test r8d, r8d
je 0x20201189
test r9d, r9d
je 0x20201245
movzx eax, byte [0x20468f82]
cmp al, 0x2b
je 0x20201449
mov cl, 0xe6
nop dword [rax]
mov al, 0x91
lock cmpxchg byte [0x20468f82], cl
je 0x2020141f
cmp al, 0x2b
jne 0x20201060
jmp 0x20201449
movzx eax, byte [0x2046914f]
cmp al, 0xad
je 0x202013e9
mov cl, 0xce
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x2046914f], cl
je 0x202013b5
cmp al, 0xad
jne 0x20201090
jmp 0x202013e9
test r9d, r9d
je 0x20201279
movzx eax, byte [0x204690a6]
cmp al, 0xa8
je 0x20201489
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0x47
lock cmpxchg byte [0x204690a6], cl
je 0x20201455
cmp al, 0xa8
jne 0x202010d0
jmp 0x20201489
test r9d, r9d
je 0x202012a9
movzx eax, byte [0x20469008]
cmp al, 0x57
je 0x202014c9
mov cl, 0x76
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x20469008], cl
je 0x20201495
cmp al, 0x57
jne 0x20201110
jmp 0x202014c9
movzx eax, byte [0x20468fa0]
cmp al, 0x8f
je 0x20201509
mov cl, 0xdc
nop word [rax + rax]
mov al, 0x70
lock cmpxchg byte [0x20468fa0], cl
je 0x202014d5
cmp al, 0x8f
jne 0x20201140
jmp 0x20201509
movzx eax, byte [0x20469192]
cmp al, 0x6e
je 0x20201549
mov cl, 0xaa
nop word [rax + rax]
mov al, 0xee
lock cmpxchg byte [0x20469192], cl
je 0x20201515
cmp al, 0x6e
jne 0x20201170
jmp 0x20201549
test r9d, r9d
je 0x202013f5
movzx eax, byte [0x2046913b]
cmp al, 0x34
je 0x20201589
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x2046913b], cl
je 0x20201555
cmp al, 0x34
jne 0x202011b0
jmp 0x20201589
xor eax, eax
lea rcx, [0x20468fb0]
lea rdx, [0x2037e110]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x202011e0
mov al, 0xd3
xchg byte [0x20468fb3], al
lea rax, [0x20468fb0]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20468fe0]
lea rdx, [0x2037e130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x20201220
mov al, 0x8b
xchg byte [0x20468fe6], al
lea rax, [0x20468fe0]
jmp 0x20201682
movzx eax, byte [0x20469182]
cmp al, 0xc5
je 0x202015c9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x88
lock cmpxchg byte [0x20469182], cl
je 0x20201595
cmp al, 0xc5
jne 0x20201260
jmp 0x202015c9
movzx eax, byte [0x20469123]
cmp al, 0x36
je 0x20201609
mov cl, 0x4c
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x20469123], cl
je 0x202015d5
cmp al, 0x36
jne 0x20201290
jmp 0x20201609
movzx eax, byte [0x204690b3]
cmp al, 0x76
je 0x20201649
mov cl, 0x86
nop word [rax + rax]
mov al, 0x54
lock cmpxchg byte [0x204690b3], cl
je 0x20201612
cmp al, 0x76
jne 0x202012c0
jmp 0x20201649
cmp qword [0x204a3058], 0
jne 0x2020133f
mov r9d, esi
xor r9d, 0x11660451
xor ebx, ebx
mov ecx, 1
xor edx, edx
mov r8d, 4
call fcn.202008d0
mov rdi, rax
mov qword [0x204a3058], rax
xor esi, 0x4dc8c0d1
lea rcx, [0x20200890]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x2037e160]
nop word cs:[rax + rax]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x20201330
mov rax, qword [0x204a3058]
xor ecx, ecx
lea rdx, [0x2037e170]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x20201350
mov al, 0xed
xchg byte [0x20469009], al
mov rax, qword [0x204a3058]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469060]
lea rdx, [0x2037e1f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20201390
mov al, 0x85
xchg byte [0x20469075], al
lea rax, [0x20469060]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469140]
lea rdx, [0x2037e2d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x202013d0
mov al, 0xad
xchg byte [0x2046914f], al
lea rax, [0x20469140]
jmp 0x20201682
movzx eax, byte [0x204691ab]
cmp al, 0xa6
je 0x2020167b
mov cl, 0x7c
mov al, 0xee
lock cmpxchg byte [0x204691ab], cl
je 0x20201652
cmp al, 0xa6
jne 0x20201406
jmp 0x2020167b
xor eax, eax
lea rcx, [0x20468f70]
lea rdx, [0x2037e0e0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20201430
mov al, 0x2b
xchg byte [0x20468f82], al
lea rax, [0x20468f70]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469090]
lea rdx, [0x2037e220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x20201470
mov al, 0xa8
xchg byte [0x204690a6], al
lea rax, [0x20469090]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20468ff0]
lea rdx, [0x2037e140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x202014b0
mov al, 0x57
xchg byte [0x20469008], al
lea rax, [0x20468ff0]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20468f90]
lea rdx, [0x2037e100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x202014f0
mov al, 0x8f
xchg byte [0x20468fa0], al
lea rax, [0x20468f90]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469190]
lea rdx, [0x2037e320]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20201530
mov al, 0x6e
xchg byte [0x20469192], al
lea rax, [0x20469190]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469130]
lea rdx, [0x2037e2c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20201570
mov al, 0x34
xchg byte [0x2046913b], al
lea rax, [0x20469130]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469180]
lea rdx, [0x2037e310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x202015b0
mov al, 0xc5
xchg byte [0x20469182], al
lea rax, [0x20469180]
jmp 0x20201682
xor eax, eax
lea rcx, [0x20469100]
lea rdx, [0x2037e290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x202015f0
mov al, 0x36
xchg byte [0x20469123], al
lea rax, [0x20469100]
jmp 0x20201682
xor eax, eax
lea rcx, [0x204690b0]
lea rdx, [0x2037e240]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20201630
mov al, 0x76
xchg byte [0x204690b3], al
lea rax, [0x204690b0]
jmp 0x20201682
xor eax, eax
lea rcx, [0x204691a0]
lea rdx, [0x2037e330]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20201662
mov al, 0xa6
xchg byte [0x204691ab], al
lea rax, [0x204691a0]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret