Function at 0x2017f960
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2017f9ac
test edx, edx
je 0x2017f9fc
test r8d, r8d
je 0x2017fa3c
test r9d, r9d
je 0x2017fab9
movzx eax, byte [0x203c9be4]
cmp al, 0x95
je 0x2017f9a4
mov cl, 0x83
nop dword [rax + rax]
mov al, 0x4e
lock cmpxchg byte [0x203c9be4], cl
je 0x2017fc39
cmp al, 0x95
jne 0x2017f990
lea rax, [0x203c9bd0]
ret
test edx, edx
je 0x2017fa7c
test r8d, r8d
je 0x2017faec
test r9d, r9d
je 0x2017fb69
movzx eax, byte [0x203c9cb4]
cmp al, 0x79
je 0x2017f9f4
mov cl, 0xd
nop word cs:[rax + rax]
mov al, 0x8d
lock cmpxchg byte [0x203c9cb4], cl
je 0x2017fd09
cmp al, 0x79
jne 0x2017f9e0
lea rax, [0x203c9ca0]
ret
test r8d, r8d
je 0x2017fb29
test r9d, r9d
je 0x2017fb99
movzx eax, byte [0x203c98a5]
cmp al, 0x66
je 0x2017fa34
mov cl, 0xb8
nop dword [rax + rax]
mov al, 0x90
lock cmpxchg byte [0x203c98a5], cl
je 0x2017fd41
cmp al, 0x66
jne 0x2017fa20
lea rax, [0x203c98a0]
ret
test r9d, r9d
je 0x2017fbc9
movzx eax, byte [0x203c989c]
cmp al, 0xb
je 0x2017fa74
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0x21
lock cmpxchg byte [0x203c989c], cl
je 0x2017fd81
cmp al, 0xb
jne 0x2017fa60
lea rax, [0x203c9880]
ret
test r8d, r8d
je 0x2017fbf9
test r9d, r9d
je 0x2017fc71
movzx eax, byte [0x203c9bfd]
cmp al, 0x8d
je 0x2017fe59
mov cl, 0xec
nop
mov al, 3
lock cmpxchg byte [0x203c9bfd], cl
je 0x2017fe2b
cmp al, 0x8d
jne 0x2017faa0
jmp 0x2017fe59
movzx eax, byte [0x203c9390]
cmp al, 0xde
je 0x2017fae4
mov cl, 9
nop word cs:[rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x203c9390], cl
je 0x2017fdc1
cmp al, 0xde
jne 0x2017fad0
lea rax, [0x203c9370]
ret
test r9d, r9d
je 0x2017fca9
movzx eax, byte [0x203c93dd]
cmp al, 0x23
je 0x2017fe99
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x203c93dd], cl
je 0x2017fe61
cmp al, 0x23
jne 0x2017fb10
jmp 0x2017fe99
test r9d, r9d
je 0x2017fcd9
movzx eax, byte [0x203c98b3]
cmp al, 0xa4
je 0x2017fed9
mov cl, 0x67
nop word cs:[rax + rax]
mov al, 0xd
lock cmpxchg byte [0x203c98b3], cl
je 0x2017fea1
cmp al, 0xa4
jne 0x2017fb50
jmp 0x2017fed9
movzx eax, byte [0x203c9c2d]
cmp al, 0x9b
je 0x2017ff19
mov cl, 0x97
nop word [rax + rax]
mov al, 0x9d
lock cmpxchg byte [0x203c9c2d], cl
je 0x2017fee1
cmp al, 0x9b
jne 0x2017fb80
jmp 0x2017ff19
movzx eax, byte [0x203c9e41]
cmp al, 0x5d
je 0x2017ff59
mov cl, 0xdc
nop word [rax + rax]
mov al, 0x42
lock cmpxchg byte [0x203c9e41], cl
je 0x2017ff21
cmp al, 0x5d
jne 0x2017fbb0
jmp 0x2017ff59
movzx eax, byte [0x203c9afd]
cmp al, 0x5c
je 0x2017ff99
mov cl, 0xe7
nop word [rax + rax]
mov al, 0x77
lock cmpxchg byte [0x203c9afd], cl
je 0x2017ff61
cmp al, 0x5c
jne 0x2017fbe0
jmp 0x2017ff99
test r9d, r9d
je 0x2017fe01
movzx eax, byte [0x203c9228]
cmp al, 0x8f
je 0x2017ffd9
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0x6c
lock cmpxchg byte [0x203c9228], cl
je 0x2017ffa1
cmp al, 0x8f
jne 0x2017fc20
jmp 0x2017ffd9
xor eax, eax
lea rcx, [0x203c9bd0]
lea rdx, [0x202fb610]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x2017fc50
mov al, 0x95
xchg byte [0x203c9be4], al
lea rax, [0x203c9bd0]
ret
movzx eax, byte [0x203c9a6d]
cmp al, 0x7d
je 0x20180019
mov cl, 0xf
nop word cs:[rax + rax]
mov al, 0xab
lock cmpxchg byte [0x203c9a6d], cl
je 0x2017ffe1
cmp al, 0x7d
jne 0x2017fc90
jmp 0x20180019
movzx eax, byte [0x203c9483]
cmp al, 0x66
je 0x20180059
mov cl, 0xa9
nop word [rax + rax]
mov al, 0x49
lock cmpxchg byte [0x203c9483], cl
je 0x20180021
cmp al, 0x66
jne 0x2017fcc0
jmp 0x20180059
movzx eax, byte [0x203c920d]
cmp al, 0x17
je 0x20180099
mov cl, 0x2f
nop word [rax + rax]
mov al, 0x34
lock cmpxchg byte [0x203c920d], cl
je 0x20180061
cmp al, 0x17
jne 0x2017fcf0
jmp 0x20180099
xor eax, eax
lea rcx, [0x203c9ca0]
lea rdx, [0x202fb6e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x2017fd20
mov al, 0x79
xchg byte [0x203c9cb4], al
lea rax, [0x203c9ca0]
ret
xor eax, eax
lea rcx, [0x203c98a0]
lea rdx, [0x202fb2f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x2017fd60
mov al, 0x66
xchg byte [0x203c98a5], al
lea rax, [0x203c98a0]
ret
xor eax, eax
lea rcx, [0x203c9880]
lea rdx, [0x202fb2d0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2017fda0
mov al, 0xb
xchg byte [0x203c989c], al
lea rax, [0x203c9880]
ret
xor eax, eax
lea rcx, [0x203c9370]
lea rdx, [0x202fae00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x20
jl 0x2017fde0
mov al, 0xde
xchg byte [0x203c9390], al
lea rax, [0x203c9370]
ret
movzx eax, byte [0x203c96a4]
cmp al, 0x83
je 0x201800ca
mov cl, 0xf7
mov al, 0xeb
lock cmpxchg byte [0x203c96a4], cl
je 0x201800a1
cmp al, 0x83
jne 0x2017fe12
jmp 0x201800ca
xor eax, eax
lea rcx, [0x203c9bf0]
lea rdx, [0x202fb630]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017fe40
mov al, 0x8d
xchg byte [0x203c9bfd], al
lea rax, [0x203c9bf0]
ret
xor eax, eax
lea rcx, [0x203c93c0]
lea rdx, [0x202fae40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x2017fe80
mov al, 0x23
xchg byte [0x203c93dd], al
lea rax, [0x203c93c0]
ret
xor eax, eax
lea rcx, [0x203c98b0]
lea rdx, [0x202fb300]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2017fec0
mov al, 0xa4
xchg byte [0x203c98b3], al
lea rax, [0x203c98b0]
ret
xor eax, eax
lea rcx, [0x203c9c20]
lea rdx, [0x202fb660]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017ff00
mov al, 0x9b
xchg byte [0x203c9c2d], al
lea rax, [0x203c9c20]
ret
xor eax, eax
lea rcx, [0x203c9e30]
lea rdx, [0x202fb870]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x2017ff40
mov al, 0x5d
xchg byte [0x203c9e41], al
lea rax, [0x203c9e30]
ret
xor eax, eax
lea rcx, [0x203c9af0]
lea rdx, [0x202fb530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017ff80
mov al, 0x5c
xchg byte [0x203c9afd], al
lea rax, [0x203c9af0]
ret
xor eax, eax
lea rcx, [0x203c9210]
lea rdx, [0x202faca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x2017ffc0
mov al, 0x8f
xchg byte [0x203c9228], al
lea rax, [0x203c9210]
ret
xor eax, eax
lea rcx, [0x203c9a60]
lea rdx, [0x202fb4a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20180000
mov al, 0x7d
xchg byte [0x203c9a6d], al
lea rax, [0x203c9a60]
ret
xor eax, eax
lea rcx, [0x203c9460]
lea rdx, [0x202faee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20180040
mov al, 0x66
xchg byte [0x203c9483], al
lea rax, [0x203c9460]
ret
xor eax, eax
lea rcx, [0x203c91f0]
lea rdx, [0x202fac80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1d
jl 0x20180080
mov al, 0x17
xchg byte [0x203c920d], al
lea rax, [0x203c91f0]
ret
xor eax, eax
lea rcx, [0x203c9690]
lea rdx, [0x202fb0f0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x201800b1
mov al, 0x83
xchg byte [0x203c96a4], al
lea rax, [0x203c9690]
ret