Function at 0x20206550
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov esi, dword [rsp + 0x60]
test ecx, ecx
je 0x202065a9
test edx, edx
je 0x202065f9
test r8d, r8d
je 0x20206639
test r9d, r9d
je 0x202066b9
movzx eax, byte [0x20469813]
cmp al, 0xbc
je 0x20206859
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x20469813], cl
je 0x20206829
cmp al, 0xbc
jne 0x20206590
jmp 0x20206859
test edx, edx
je 0x20206679
test r8d, r8d
je 0x202066e9
test r9d, r9d
je 0x20206769
movzx eax, byte [0x204697a5]
cmp al, 0xe
je 0x202068f9
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0xf4
lock cmpxchg byte [0x204697a5], cl
je 0x202068c9
cmp al, 0xe
jne 0x202065e0
jmp 0x202068f9
test r8d, r8d
je 0x20206729
test r9d, r9d
je 0x20206799
movzx eax, byte [0x204697e0]
cmp al, 0x71
je 0x20206939
mov cl, 0x5a
nop dword [rax]
mov al, 0x2c
lock cmpxchg byte [0x204697e0], cl
je 0x20206905
cmp al, 0x71
jne 0x20206620
jmp 0x20206939
test r9d, r9d
je 0x202067c9
movzx eax, byte [0x20469849]
cmp al, 0xf4
je 0x202069c9
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x20469849], cl
je 0x20206945
cmp al, 0xf4
jne 0x20206660
jmp 0x202069c9
test r8d, r8d
je 0x202067f9
movzx eax, byte [0x20469a4d]
cmp al, 0x84
je 0x20206a49
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x20469a4d], cl
je 0x20206a15
cmp al, 0x84
jne 0x202066a0
jmp 0x20206a49
movzx eax, byte [0x20469abc]
cmp al, 0x91
je 0x20206a09
mov cl, 0xfe
nop word [rax + rax]
mov al, 0x47
lock cmpxchg byte [0x20469abc], cl
je 0x202069d5
cmp al, 0x91
jne 0x202066d0
jmp 0x20206a09
test r9d, r9d
je 0x20206865
movzx eax, byte [0x2046984a]
cmp al, 0xe2
je 0x20206ad9
mov cl, 0xa
nop word cs:[rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2046984a], cl
je 0x20206a55
cmp al, 0xe2
jne 0x20206710
jmp 0x20206ad9
test r9d, r9d
je 0x20206899
movzx eax, byte [0x20469774]
cmp al, 0xfa
je 0x20206b19
mov cl, 0xf2
nop word cs:[rax + rax]
mov al, 0xff
lock cmpxchg byte [0x20469774], cl
je 0x20206ae5
cmp al, 0xfa
jne 0x20206750
jmp 0x20206b19
movzx eax, byte [0x20469875]
cmp al, 0xc1
je 0x20206b59
mov cl, 0xd4
nop word [rax + rax]
mov al, 0x60
lock cmpxchg byte [0x20469875], cl
je 0x20206b25
cmp al, 0xc1
jne 0x20206780
jmp 0x20206b59
movzx eax, byte [0x204698f3]
cmp al, 0x28
je 0x20206b99
mov cl, 0xed
nop word [rax + rax]
mov al, 1
lock cmpxchg byte [0x204698f3], cl
je 0x20206b65
cmp al, 0x28
jne 0x202067b0
jmp 0x20206b99
movzx eax, byte [0x20469692]
cmp al, 0x9b
je 0x20206bd9
mov cl, 0x34
nop word [rax + rax]
mov al, 0x6b
lock cmpxchg byte [0x20469692], cl
je 0x20206ba5
cmp al, 0x9b
jne 0x202067e0
jmp 0x20206bd9
movzx eax, byte [0x20469782]
cmp al, 0xba
je 0x20206c19
mov cl, 0xce
nop word [rax + rax]
mov al, 0x46
lock cmpxchg byte [0x20469782], cl
je 0x20206be5
cmp al, 0xba
jne 0x20206810
jmp 0x20206c19
xor eax, eax
lea rcx, [0x20469810]
lea rdx, [0x2037e940]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20206840
mov al, 0xbc
xchg byte [0x20469813], al
lea rax, [0x20469810]
jmp 0x20206ca0
movzx eax, byte [0x20469933]
cmp al, 0x26
je 0x20206c59
mov cl, 0x73
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x20469933], cl
je 0x20206c22
cmp al, 0x26
jne 0x20206880
jmp 0x20206c59
movzx eax, byte [0x204699d2]
cmp al, 0xe9
je 0x20206c99
mov cl, 0x79
nop word [rax + rax]
mov al, 0x71
lock cmpxchg byte [0x204699d2], cl
je 0x20206c62
cmp al, 0xe9
jne 0x202068b0
jmp 0x20206c99
xor eax, eax
lea rcx, [0x20469790]
lea rdx, [0x2037e8e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x202068e0
mov al, 0xe
xchg byte [0x204697a5], al
lea rax, [0x20469790]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x204697d0]
lea rdx, [0x2037e920]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20206920
mov al, 0x71
xchg byte [0x204697e0], al
lea rax, [0x204697d0]
jmp 0x20206ca0
cmp qword [0x204a30e8], 0
jne 0x2020699f
mov r9d, esi
xor r9d, 0xd0cfae47
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.20206510
mov rdi, rax
mov qword [0x204a30e8], rax
xor esi, 0x5823a6b
lea rcx, [0x20206060]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x2037e980]
nop
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x20206990
mov rax, qword [0x204a30e8]
xor ecx, ecx
lea rdx, [0x2037e990]
nop
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x202069b0
mov al, 0xf4
xchg byte [0x20469849], al
mov rax, qword [0x204a30e8]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469ab0]
lea rdx, [0x2037ec20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x202069f0
mov al, 0x91
xchg byte [0x20469abc], al
lea rax, [0x20469ab0]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469a40]
lea rdx, [0x2037ebb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20206a30
mov al, 0x84
xchg byte [0x20469a4d], al
lea rax, [0x20469a40]
jmp 0x20206ca0
cmp qword [0x204a30f0], 0
jne 0x20206aae
mov r9d, esi
xor r9d, 0x5bc0423
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
call fcn.20206510
mov rdi, rax
mov qword [0x204a30f0], rax
xor esi, 0xd0f1900f
lea rcx, [0x20206080]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x2037e9a0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x20206a9f
mov rax, qword [0x204a30f0]
xor ecx, ecx
lea rdx, [0x2037e9b0]
nop
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x20206ac0
mov al, 0xe2
xchg byte [0x2046984a], al
mov rax, qword [0x204a30f0]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469770]
lea rdx, [0x2037e8c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20206b00
mov al, 0xfa
xchg byte [0x20469774], al
lea rax, [0x20469770]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469860]
lea rdx, [0x2037e9d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20206b40
mov al, 0xc1
xchg byte [0x20469875], al
lea rax, [0x20469860]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x204698f0]
lea rdx, [0x2037ea60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20206b80
mov al, 0x28
xchg byte [0x204698f3], al
lea rax, [0x204698f0]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469690]
lea rdx, [0x2037e810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20206bc0
mov al, 0x9b
xchg byte [0x20469692], al
lea rax, [0x20469690]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469780]
lea rdx, [0x2037e8d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20206c00
mov al, 0xba
xchg byte [0x20469782], al
lea rax, [0x20469780]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x20469930]
lea rdx, [0x2037eaa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20206c40
mov al, 0x26
xchg byte [0x20469933], al
lea rax, [0x20469930]
jmp 0x20206ca0
xor eax, eax
lea rcx, [0x204699d0]
lea rdx, [0x2037eb40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20206c80
mov al, 0xe9
xchg byte [0x204699d2], al
lea rax, [0x204699d0]
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret