Function at 0x2020b650
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x20
test ecx, ecx
je 0x2020b6a9
test edx, edx
je 0x2020b6f9
test r8d, r8d
je 0x2020b739
test r9d, r9d
je 0x2020b7b9
movzx eax, byte [0x2046a1c9]
cmp al, 0x21
je 0x2020b969
mov cl, 0xe8
nop word cs:[rax + rax]
mov al, 0x64
lock cmpxchg byte [0x2046a1c9], cl
je 0x2020b939
cmp al, 0x21
jne 0x2020b690
jmp 0x2020b969
test edx, edx
je 0x2020b779
test r8d, r8d
je 0x2020b7e9
test r9d, r9d
je 0x2020b869
movzx eax, byte [0x2046a115]
cmp al, 0xda
je 0x2020ba39
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0x5c
lock cmpxchg byte [0x2046a115], cl
je 0x2020ba09
cmp al, 0xda
jne 0x2020b6e0
jmp 0x2020ba39
test r8d, r8d
je 0x2020b829
test r9d, r9d
je 0x2020b899
movzx eax, byte [0x2046a219]
cmp al, 0x5f
je 0x2020ba79
mov cl, 0xe
nop dword [rax]
mov al, 0xec
lock cmpxchg byte [0x2046a219], cl
je 0x2020ba45
cmp al, 0x5f
jne 0x2020b720
jmp 0x2020ba79
test r9d, r9d
je 0x2020b8c9
movzx eax, byte [0x2046a1b5]
cmp al, 2
je 0x2020bab9
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x2046a1b5], cl
je 0x2020ba85
cmp al, 2
jne 0x2020b760
jmp 0x2020bab9
test r8d, r8d
je 0x2020b8f9
test r9d, r9d
je 0x2020b975
movzx eax, byte [0x2046a2f6]
cmp al, 0x89
je 0x2020bb59
mov cl, 0x49
nop dword [rax]
mov al, 0x2e
lock cmpxchg byte [0x2046a2f6], cl
je 0x2020bb2f
cmp al, 0x89
jne 0x2020b7a0
jmp 0x2020bb59
movzx eax, byte [0x2046a2cf]
cmp al, 0xd8
je 0x2020baf9
mov cl, 0xef
nop word [rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x2046a2cf], cl
je 0x2020bac5
cmp al, 0xd8
jne 0x2020b7d0
jmp 0x2020baf9
test r9d, r9d
je 0x2020b9a9
movzx eax, byte [0x2046a237]
cmp al, 0x20
je 0x2020bbe9
mov cl, 0xde
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x2046a237], cl
je 0x2020bb65
cmp al, 0x20
jne 0x2020b810
jmp 0x2020bbe9
test r9d, r9d
je 0x2020b9d9
movzx eax, byte [0x2046a158]
cmp al, 0xb4
je 0x2020bc29
mov cl, 0x94
nop word cs:[rax + rax]
mov al, 0x53
lock cmpxchg byte [0x2046a158], cl
je 0x2020bbf5
cmp al, 0xb4
jne 0x2020b850
jmp 0x2020bc29
movzx eax, byte [0x2046a0d4]
cmp al, 0x87
je 0x2020bc69
mov cl, 0xfd
nop word [rax + rax]
mov al, 0x2d
lock cmpxchg byte [0x2046a0d4], cl
je 0x2020bc35
cmp al, 0x87
jne 0x2020b880
jmp 0x2020bc69
movzx eax, byte [0x2046a236]
cmp al, 0xa6
je 0x2020bca9
mov cl, 0xa5
nop word [rax + rax]
mov al, 0xa0
lock cmpxchg byte [0x2046a236], cl
je 0x2020bc75
cmp al, 0xa6
jne 0x2020b8b0
jmp 0x2020bca9
movzx eax, byte [0x2046a196]
cmp al, 0x19
je 0x2020bce9
mov cl, 0xd8
nop word [rax + rax]
mov al, 0xce
lock cmpxchg byte [0x2046a196], cl
je 0x2020bcb5
cmp al, 0x19
jne 0x2020b8e0
jmp 0x2020bce9
test r9d, r9d
je 0x2020bb05
cmp byte [0x2046a130], 0
je 0x2020bd29
mov cl, 0x33
nop word cs:[rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x2046a130], cl
je 0x2020bcf5
test al, al
jne 0x2020b920
jmp 0x2020bd29
xor eax, eax
lea rcx, [0x2046a1c0]
lea rdx, [0x2037f1a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x2020b950
mov al, 0x21
xchg byte [0x2046a1c9], al
lea rax, [0x2046a1c0]
jmp 0x2020be22
movzx eax, byte [0x2046a312]
cmp al, 0x6e
je 0x2020bd69
mov cl, 0xa1
nop word cs:[rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x2046a312], cl
je 0x2020bd35
cmp al, 0x6e
jne 0x2020b990
jmp 0x2020bd69
movzx eax, byte [0x2046a200]
cmp al, 0x2b
je 0x2020bda9
mov cl, 0xd3
nop word [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x2046a200], cl
je 0x2020bd75
cmp al, 0x2b
jne 0x2020b9c0
jmp 0x2020bda9
movzx eax, byte [0x2046a265]
cmp al, 0x2b
je 0x2020bde9
mov cl, 0x8f
nop word [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x2046a265], cl
je 0x2020bdb2
cmp al, 0x2b
jne 0x2020b9f0
jmp 0x2020bde9
xor eax, eax
lea rcx, [0x2046a100]
lea rdx, [0x2037f0f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2020ba20
mov al, 0xda
xchg byte [0x2046a115], al
lea rax, [0x2046a100]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a210]
lea rdx, [0x2037f1e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x2020ba60
mov al, 0x5f
xchg byte [0x2046a219], al
lea rax, [0x2046a210]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a1a0]
lea rdx, [0x2037f180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2020baa0
mov al, 2
xchg byte [0x2046a1b5], al
lea rax, [0x2046a1a0]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a2c0]
lea rdx, [0x2037f2d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2020bae0
mov al, 0xd8
xchg byte [0x2046a2cf], al
lea rax, [0x2046a2c0]
jmp 0x2020be22
movzx eax, byte [0x2046a33b]
cmp al, 9
je 0x2020be1b
mov cl, 0xcc
mov al, 0xd4
lock cmpxchg byte [0x2046a33b], cl
je 0x2020bdf2
cmp al, 9
jne 0x2020bb16
jmp 0x2020be1b
xor eax, eax
lea rcx, [0x2046a2d0]
lea rdx, [0x2037f2e0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2020bb40
mov al, 0x89
xchg byte [0x2046a2f6], al
lea rax, [0x2046a2d0]
jmp 0x2020be22
cmp qword [0x204a31a0], 0
jne 0x2020bbbd
mov ecx, 1
mov edx, 1
mov r8d, 4
mov r9d, 0x7e720511
call fcn.2020b610
mov rsi, rax
mov qword [0x204a31a0], rax
lea rcx, [0x2020b5c0]
mov edx, 0xc08932c9
call fcn.200ec9f0
xor eax, eax
lea rcx, [0x2037f210]
movzx edx, byte [rax + rcx]
mov byte [rsi + rax], dl
inc rax
cmp eax, 2
jle 0x2020bbae
mov rax, qword [0x204a31a0]
xor ecx, ecx
lea rdx, [0x2037f220]
nop dword [rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x2020bbd0
mov al, 0x20
xchg byte [0x2046a237], al
mov rax, qword [0x204a31a0]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a140]
lea rdx, [0x2037f120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x2020bc10
mov al, 0xb4
xchg byte [0x2046a158], al
lea rax, [0x2046a140]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a0d0]
lea rdx, [0x2037f0c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x2020bc50
mov al, 0x87
xchg byte [0x2046a0d4], al
lea rax, [0x2046a0d0]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a230]
lea rdx, [0x2037f200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x2020bc90
mov al, 0xa6
xchg byte [0x2046a236], al
lea rax, [0x2046a230]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a180]
lea rdx, [0x2037f160]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x2020bcd0
mov al, 0x19
xchg byte [0x2046a196], al
lea rax, [0x2046a180]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a120]
lea rdx, [0x2037f110]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2020bd10
xor eax, eax
xchg byte [0x2046a130], al
lea rax, [0x2046a120]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a310]
lea rdx, [0x2037f320]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2020bd50
mov al, 0x6e
xchg byte [0x2046a312], al
lea rax, [0x2046a310]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a1f0]
lea rdx, [0x2037f1d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2020bd90
mov al, 0x2b
xchg byte [0x2046a200], al
lea rax, [0x2046a1f0]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a260]
lea rdx, [0x2037f270]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x2020bdd0
mov al, 0x2b
xchg byte [0x2046a265], al
lea rax, [0x2046a260]
jmp 0x2020be22
xor eax, eax
lea rcx, [0x2046a330]
lea rdx, [0x2037f340]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2020be02
mov al, 9
xchg byte [0x2046a33b], al
lea rax, [0x2046a330]
add rsp, 0x20
pop rsi
ret