Function at 0x20288450
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2028849c
test edx, edx
je 0x202884dc
test r8d, r8d
je 0x2028851c
test r9d, r9d
je 0x20288599
movzx eax, byte [0x203f2e9d]
cmp al, 0x70
je 0x20288494
mov cl, 0x46
nop dword [rax + rax]
mov al, 3
lock cmpxchg byte [0x203f2e9d], cl
je 0x202886e9
cmp al, 0x70
jne 0x20288480
lea rax, [0x203f2e90]
ret
test edx, edx
je 0x2028855c
test r8d, r8d
je 0x202885cc
movzx eax, byte [0x203f2e0d]
cmp al, 0x7c
je 0x202884d4
mov cl, 0xc8
nop word [rax + rax]
mov al, 0xbd
lock cmpxchg byte [0x203f2e0d], cl
je 0x20288721
cmp al, 0x7c
jne 0x202884c0
lea rax, [0x203f2e00]
ret
test r8d, r8d
je 0x20288609
test r9d, r9d
je 0x20288649
movzx eax, byte [0x203f316d]
cmp al, 0x86
je 0x20288514
mov cl, 0xdd
nop dword [rax + rax]
mov al, 0x22
lock cmpxchg byte [0x203f316d], cl
je 0x202887f9
cmp al, 0x86
jne 0x20288500
lea rax, [0x203f3160]
ret
test r9d, r9d
je 0x20288679
movzx eax, byte [0x203f313f]
cmp al, 0x13
je 0x20288554
mov cl, 0xbf
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x203f313f], cl
je 0x20288831
cmp al, 0x13
jne 0x20288540
lea rax, [0x203f3130]
ret
test r8d, r8d
je 0x202886a9
test r9d, r9d
je 0x20288761
movzx eax, byte [0x203f2838]
cmp al, 0x43
je 0x20288909
mov cl, 0xec
nop
mov al, 0xb7
lock cmpxchg byte [0x203f2838], cl
je 0x202888db
cmp al, 0x43
jne 0x20288580
jmp 0x20288909
movzx eax, byte [0x203f284e]
cmp al, 0x45
je 0x202885c4
mov cl, 0xb6
nop word cs:[rax + rax]
mov al, 0x39
lock cmpxchg byte [0x203f284e], cl
je 0x20288871
cmp al, 0x45
jne 0x202885b0
lea rax, [0x203f2840]
ret
test r9d, r9d
je 0x20288799
movzx eax, byte [0x203f302d]
cmp al, 0x86
je 0x20288949
mov cl, 0xc1
nop word cs:[rax + rax]
mov al, 8
lock cmpxchg byte [0x203f302d], cl
je 0x20288911
cmp al, 0x86
jne 0x202885f0
jmp 0x20288949
test r9d, r9d
je 0x202887c9
movzx eax, byte [0x203f2e8c]
cmp al, 0x23
je 0x20288989
mov cl, 0xdd
nop word cs:[rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x203f2e8c], cl
je 0x20288951
cmp al, 0x23
jne 0x20288630
jmp 0x20288989
movzx eax, byte [0x203f282d]
cmp al, 0xeb
je 0x202889c9
mov cl, 0x77
nop word [rax + rax]
mov al, 0xa
lock cmpxchg byte [0x203f282d], cl
je 0x20288991
cmp al, 0xeb
jne 0x20288660
jmp 0x202889c9
movzx eax, byte [0x203f2ddd]
cmp al, 0x2a
je 0x20288a09
mov cl, 0xf9
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x203f2ddd], cl
je 0x202889d1
cmp al, 0x2a
jne 0x20288690
jmp 0x20288a09
test r9d, r9d
je 0x202888b1
movzx eax, byte [0x203f2e1b]
cmp al, 2
je 0x20288a49
mov cl, 0x82
nop word cs:[rax + rax]
mov al, 0x7c
lock cmpxchg byte [0x203f2e1b], cl
je 0x20288a11
cmp al, 2
jne 0x202886d0
jmp 0x20288a49
xor eax, eax
lea rcx, [0x203f2e90]
lea rdx, [0x20317fb0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288700
mov al, 0x70
xchg byte [0x203f2e9d], al
lea rax, [0x203f2e90]
ret
xor eax, eax
lea rcx, [0x203f2e00]
lea rdx, [0x20317f20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288740
mov al, 0x7c
xchg byte [0x203f2e0d], al
lea rax, [0x203f2e00]
ret
movzx eax, byte [0x203f2ecf]
cmp al, 0xc9
je 0x20288a89
mov cl, 0x13
nop word cs:[rax + rax]
mov al, 0x51
lock cmpxchg byte [0x203f2ecf], cl
je 0x20288a51
cmp al, 0xc9
jne 0x20288780
jmp 0x20288a89
movzx eax, byte [0x203f2d5d]
cmp al, 0xb5
je 0x20288ac9
mov cl, 0x22
nop word [rax + rax]
mov al, 0xd4
lock cmpxchg byte [0x203f2d5d], cl
je 0x20288a91
cmp al, 0xb5
jne 0x202887b0
jmp 0x20288ac9
movzx eax, byte [0x203f290c]
cmp al, 0x2f
je 0x20288b09
mov cl, 0xfc
nop word [rax + rax]
mov al, 3
lock cmpxchg byte [0x203f290c], cl
je 0x20288ad1
cmp al, 0x2f
jne 0x202887e0
jmp 0x20288b09
xor eax, eax
lea rcx, [0x203f3160]
lea rdx, [0x20318280]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288810
mov al, 0x86
xchg byte [0x203f316d], al
lea rax, [0x203f3160]
ret
xor eax, eax
lea rcx, [0x203f3130]
lea rdx, [0x20318250]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20288850
mov al, 0x13
xchg byte [0x203f313f], al
lea rax, [0x203f3130]
ret
xor eax, eax
lea rcx, [0x203f2840]
lea rdx, [0x20317970]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x20288890
mov al, 0x45
xchg byte [0x203f284e], al
lea rax, [0x203f2840]
ret
movzx eax, byte [0x203f2cfc]
cmp al, 0xd7
je 0x20288b3a
mov cl, 0x9d
mov al, 0x22
lock cmpxchg byte [0x203f2cfc], cl
je 0x20288b11
cmp al, 0xd7
jne 0x202888c2
jmp 0x20288b3a
xor eax, eax
lea rcx, [0x203f2830]
lea rdx, [0x20317960]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 8
jl 0x202888f0
mov al, 0x43
xchg byte [0x203f2838], al
lea rax, [0x203f2830]
ret
xor eax, eax
lea rcx, [0x203f3020]
lea rdx, [0x20318140]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288930
mov al, 0x86
xchg byte [0x203f302d], al
lea rax, [0x203f3020]
ret
xor eax, eax
lea rcx, [0x203f2e80]
lea rdx, [0x20317fa0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x20288970
mov al, 0x23
xchg byte [0x203f2e8c], al
lea rax, [0x203f2e80]
ret
xor eax, eax
lea rcx, [0x203f2810]
lea rdx, [0x20317940]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x202889b0
mov al, 0xeb
xchg byte [0x203f282d], al
lea rax, [0x203f2810]
ret
xor eax, eax
lea rcx, [0x203f2dd0]
lea rdx, [0x20317ef0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x202889f0
mov al, 0x2a
xchg byte [0x203f2ddd], al
lea rax, [0x203f2dd0]
ret
xor eax, eax
lea rcx, [0x203f2e10]
lea rdx, [0x20317f30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20288a30
mov al, 2
xchg byte [0x203f2e1b], al
lea rax, [0x203f2e10]
ret
xor eax, eax
lea rcx, [0x203f2ec0]
lea rdx, [0x20317fe0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20288a70
mov al, 0xc9
xchg byte [0x203f2ecf], al
lea rax, [0x203f2ec0]
ret
xor eax, eax
lea rcx, [0x203f2d50]
lea rdx, [0x20317e70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288ab0
mov al, 0xb5
xchg byte [0x203f2d5d], al
lea rax, [0x203f2d50]
ret
xor eax, eax
lea rcx, [0x203f2900]
lea rdx, [0x20317a20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x20288af0
mov al, 0x2f
xchg byte [0x203f290c], al
lea rax, [0x203f2900]
ret
xor eax, eax
lea rcx, [0x203f2cf0]
lea rdx, [0x20317e10]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x20288b21
mov al, 0xd7
xchg byte [0x203f2cfc], al
lea rax, [0x203f2cf0]
ret