Function at 0x20287cd0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x20287d1c
test edx, edx
je 0x20287d6c
test r8d, r8d
je 0x20287dac
test r9d, r9d
je 0x20287e29
movzx eax, byte [0x203f2e5d]
cmp al, 0x43
je 0x20287d14
xor ecx, ecx
nop dword [rax + rax]
mov al, 0xf
lock cmpxchg byte [0x203f2e5d], cl
je 0x20287fa9
cmp al, 0x43
jne 0x20287d00
lea rax, [0x203f2e50]
ret
test edx, edx
je 0x20287dec
test r8d, r8d
je 0x20287e5c
test r9d, r9d
je 0x20287ed9
movzx eax, byte [0x203f312d]
cmp al, 0xb
je 0x20287d64
mov cl, 0x6c
nop word cs:[rax + rax]
mov al, 0x34
lock cmpxchg byte [0x203f312d], cl
je 0x20288079
cmp al, 0xb
jne 0x20287d50
lea rax, [0x203f3120]
ret
test r8d, r8d
je 0x20287e99
test r9d, r9d
je 0x20287f09
movzx eax, byte [0x203f2e43]
cmp al, 0x10
je 0x20287da4
mov cl, 0xc2
nop dword [rax + rax]
mov al, 0x93
lock cmpxchg byte [0x203f2e43], cl
je 0x202880b1
cmp al, 0x10
jne 0x20287d90
lea rax, [0x203f2e30]
ret
test r9d, r9d
je 0x20287f39
movzx eax, byte [0x203f297f]
cmp al, 0xf3
je 0x20287de4
mov cl, 0x4b
nop word cs:[rax + rax]
mov al, 0x28
lock cmpxchg byte [0x203f297f], cl
je 0x202880f1
cmp al, 0xf3
jne 0x20287dd0
lea rax, [0x203f2970]
ret
test r8d, r8d
je 0x20287f69
test r9d, r9d
je 0x20287fe1
movzx eax, byte [0x203f314d]
cmp al, 0xd3
je 0x202881c9
mov cl, 0x3e
nop
mov al, 0x2f
lock cmpxchg byte [0x203f314d], cl
je 0x2028819b
cmp al, 0xd3
jne 0x20287e10
jmp 0x202881c9
movzx eax, byte [0x203f305d]
cmp al, 0xe8
je 0x20287e54
mov cl, 0x15
nop word cs:[rax + rax]
mov al, 0x10
lock cmpxchg byte [0x203f305d], cl
je 0x20288131
cmp al, 0xe8
jne 0x20287e40
lea rax, [0x203f3050]
ret
test r9d, r9d
je 0x20288019
movzx eax, byte [0x203f304a]
cmp al, 0x5e
je 0x20288209
mov cl, 0xdb
nop word cs:[rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x203f304a], cl
je 0x202881d1
cmp al, 0x5e
jne 0x20287e80
jmp 0x20288209
test r9d, r9d
je 0x20288049
movzx eax, byte [0x203f3078]
cmp al, 0xaf
je 0x20288249
mov cl, 0x2f
nop word cs:[rax + rax]
mov al, 0x97
lock cmpxchg byte [0x203f3078], cl
je 0x20288211
cmp al, 0xaf
jne 0x20287ec0
jmp 0x20288249
movzx eax, byte [0x203f2802]
cmp al, 0x4a
je 0x20288289
mov cl, 0xec
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x203f2802], cl
je 0x20288251
cmp al, 0x4a
jne 0x20287ef0
jmp 0x20288289
movzx eax, byte [0x203f301e]
cmp al, 0x94
je 0x202882c9
mov cl, 0x89
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x203f301e], cl
je 0x20288291
cmp al, 0x94
jne 0x20287f20
jmp 0x202882c9
movzx eax, byte [0x203f2fab]
cmp al, 0x15
je 0x20288309
mov cl, 0x19
nop word [rax + rax]
mov al, 0xd9
lock cmpxchg byte [0x203f2fab], cl
je 0x202882d1
cmp al, 0x15
jne 0x20287f50
jmp 0x20288309
test r9d, r9d
je 0x20288171
movzx eax, byte [0x203f2b35]
cmp al, 0x9c
je 0x20288349
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x203f2b35], cl
je 0x20288311
cmp al, 0x9c
jne 0x20287f90
jmp 0x20288349
xor eax, eax
lea rcx, [0x203f2e50]
lea rdx, [0x20317f70]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20287fc0
mov al, 0x43
xchg byte [0x203f2e5d], al
lea rax, [0x203f2e50]
ret
movzx eax, byte [0x203f2dad]
cmp al, 0x18
je 0x20288389
mov cl, 0xde
nop word cs:[rax + rax]
mov al, 0x62
lock cmpxchg byte [0x203f2dad], cl
je 0x20288351
cmp al, 0x18
jne 0x20288000
jmp 0x20288389
movzx eax, byte [0x203f2f7d]
cmp al, 0x19
je 0x202883c9
mov cl, 0xc8
nop word [rax + rax]
mov al, 0x85
lock cmpxchg byte [0x203f2f7d], cl
je 0x20288391
cmp al, 0x19
jne 0x20288030
jmp 0x202883c9
movzx eax, byte [0x203f2fed]
cmp al, 0x6c
je 0x20288409
mov cl, 0x99
nop word [rax + rax]
mov al, 0xe2
lock cmpxchg byte [0x203f2fed], cl
je 0x202883d1
cmp al, 0x6c
jne 0x20288060
jmp 0x20288409
xor eax, eax
lea rcx, [0x203f3120]
lea rdx, [0x20318240]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288090
mov al, 0xb
xchg byte [0x203f312d], al
lea rax, [0x203f3120]
ret
xor eax, eax
lea rcx, [0x203f2e30]
lea rdx, [0x20317f50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x202880d0
mov al, 0x10
xchg byte [0x203f2e43], al
lea rax, [0x203f2e30]
ret
xor eax, eax
lea rcx, [0x203f2970]
lea rdx, [0x20317a90]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20288110
mov al, 0xf3
xchg byte [0x203f297f], al
lea rax, [0x203f2970]
ret
xor eax, eax
lea rcx, [0x203f3050]
lea rdx, [0x20318170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288150
mov al, 0xe8
xchg byte [0x203f305d], al
lea rax, [0x203f3050]
ret
movzx eax, byte [0x203f2be1]
cmp al, 0x75
je 0x2028843a
mov cl, 0x35
mov al, 0xad
lock cmpxchg byte [0x203f2be1], cl
je 0x20288411
cmp al, 0x75
jne 0x20288182
jmp 0x2028843a
xor eax, eax
lea rcx, [0x203f3140]
lea rdx, [0x20318260]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x202881b0
mov al, 0xd3
xchg byte [0x203f314d], al
lea rax, [0x203f3140]
ret
xor eax, eax
lea rcx, [0x203f3030]
lea rdx, [0x20318150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x202881f0
mov al, 0x5e
xchg byte [0x203f304a], al
lea rax, [0x203f3030]
ret
xor eax, eax
lea rcx, [0x203f3060]
lea rdx, [0x20318180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x20288230
mov al, 0xaf
xchg byte [0x203f3078], al
lea rax, [0x203f3060]
ret
xor eax, eax
lea rcx, [0x203f27f0]
lea rdx, [0x20317920]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x20288270
mov al, 0x4a
xchg byte [0x203f2802], al
lea rax, [0x203f27f0]
ret
xor eax, eax
lea rcx, [0x203f3010]
lea rdx, [0x20318130]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x202882b0
mov al, 0x94
xchg byte [0x203f301e], al
lea rax, [0x203f3010]
ret
xor eax, eax
lea rcx, [0x203f2fa0]
lea rdx, [0x203180c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x202882f0
mov al, 0x15
xchg byte [0x203f2fab], al
lea rax, [0x203f2fa0]
ret
xor eax, eax
lea rcx, [0x203f2ad0]
lea rdx, [0x20317bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x65
jl 0x20288330
mov al, 0x9c
xchg byte [0x203f2b35], al
lea rax, [0x203f2ad0]
ret
xor eax, eax
lea rcx, [0x203f2da0]
lea rdx, [0x20317ec0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20288370
mov al, 0x18
xchg byte [0x203f2dad], al
lea rax, [0x203f2da0]
ret
xor eax, eax
lea rcx, [0x203f2f70]
lea rdx, [0x20318090]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x202883b0
mov al, 0x19
xchg byte [0x203f2f7d], al
lea rax, [0x203f2f70]
ret
xor eax, eax
lea rcx, [0x203f2fe0]
lea rdx, [0x20318100]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x202883f0
mov al, 0x6c
xchg byte [0x203f2fed], al
lea rax, [0x203f2fe0]
ret
xor eax, eax
lea rcx, [0x203f2bd0]
lea rdx, [0x20317cf0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x20288421
mov al, 0x75
xchg byte [0x203f2be1], al
lea rax, [0x203f2bd0]
ret