Function at 0x2017ea60
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2017eaac
test edx, edx
je 0x2017eafc
test r8d, r8d
je 0x2017eb3c
test r9d, r9d
je 0x2017ebb9
movzx eax, byte [0x203c953c]
cmp al, 0x74
je 0x2017eaa4
mov cl, 0x18
nop dword [rax + rax]
mov al, 0x90
lock cmpxchg byte [0x203c953c], cl
je 0x2017ed39
cmp al, 0x74
jne 0x2017ea90
lea rax, [0x203c9520]
ret
test edx, edx
je 0x2017eb7c
test r8d, r8d
je 0x2017ebec
test r9d, r9d
je 0x2017ec69
movzx eax, byte [0x203c9516]
cmp al, 0x1b
je 0x2017eaf4
mov cl, 0xa5
nop word cs:[rax + rax]
mov al, 0x37
lock cmpxchg byte [0x203c9516], cl
je 0x2017ee09
cmp al, 0x1b
jne 0x2017eae0
lea rax, [0x203c94e0]
ret
test r8d, r8d
je 0x2017ec29
test r9d, r9d
je 0x2017ec99
movzx eax, byte [0x203c9599]
cmp al, 0xef
je 0x2017eb34
mov cl, 0x60
nop dword [rax + rax]
mov al, 0x2a
lock cmpxchg byte [0x203c9599], cl
je 0x2017ee41
cmp al, 0xef
jne 0x2017eb20
lea rax, [0x203c9580]
ret
test r9d, r9d
je 0x2017ecc9
movzx eax, byte [0x203c9b15]
cmp al, 0x32
je 0x2017eb74
mov cl, 7
nop word cs:[rax + rax]
mov al, 0x16
lock cmpxchg byte [0x203c9b15], cl
je 0x2017ee81
cmp al, 0x32
jne 0x2017eb60
lea rax, [0x203c9b00]
ret
test r8d, r8d
je 0x2017ecf9
test r9d, r9d
je 0x2017ed71
movzx eax, byte [0x203c9732]
cmp al, 0xba
je 0x2017ef59
mov cl, 0x46
nop
mov al, 0xb7
lock cmpxchg byte [0x203c9732], cl
je 0x2017ef2b
cmp al, 0xba
jne 0x2017eba0
jmp 0x2017ef59
movzx eax, byte [0x203c9bbc]
cmp al, 0x6e
je 0x2017ebe4
mov cl, 0x31
nop word cs:[rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x203c9bbc], cl
je 0x2017eec1
cmp al, 0x6e
jne 0x2017ebd0
lea rax, [0x203c9bb0]
ret
test r9d, r9d
je 0x2017eda9
movzx eax, byte [0x203c9bad]
cmp al, 0x76
je 0x2017ef99
mov cl, 0x13
nop word cs:[rax + rax]
mov al, 0x8e
lock cmpxchg byte [0x203c9bad], cl
je 0x2017ef61
cmp al, 0x76
jne 0x2017ec10
jmp 0x2017ef99
test r9d, r9d
je 0x2017edd9
movzx eax, byte [0x203c9d91]
cmp al, 0xef
je 0x2017efd9
mov cl, 0x3a
nop word cs:[rax + rax]
mov al, 0xe
lock cmpxchg byte [0x203c9d91], cl
je 0x2017efa1
cmp al, 0xef
jne 0x2017ec50
jmp 0x2017efd9
movzx eax, byte [0x203c9c5d]
cmp al, 0x87
je 0x2017f019
mov cl, 0xe5
nop word [rax + rax]
mov al, 0xe7
lock cmpxchg byte [0x203c9c5d], cl
je 0x2017efe1
cmp al, 0x87
jne 0x2017ec80
jmp 0x2017f019
movzx eax, byte [0x203c9767]
cmp al, 0xac
je 0x2017f059
mov cl, 0xb2
nop word [rax + rax]
mov al, 0xc0
lock cmpxchg byte [0x203c9767], cl
je 0x2017f021
cmp al, 0xac
jne 0x2017ecb0
jmp 0x2017f059
movzx eax, byte [0x203c9ccd]
cmp al, 0x8f
je 0x2017f099
mov cl, 0xed
nop word [rax + rax]
mov al, 0x5f
lock cmpxchg byte [0x203c9ccd], cl
je 0x2017f061
cmp al, 0x8f
jne 0x2017ece0
jmp 0x2017f099
test r9d, r9d
je 0x2017ef01
movzx eax, byte [0x203c9942]
cmp al, 0xa3
je 0x2017f0d9
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x203c9942], cl
je 0x2017f0a1
cmp al, 0xa3
jne 0x2017ed20
jmp 0x2017f0d9
xor eax, eax
lea rcx, [0x203c9520]
lea rdx, [0x202faf90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2017ed50
mov al, 0x74
xchg byte [0x203c953c], al
lea rax, [0x203c9520]
ret
movzx eax, byte [0x203c990f]
cmp al, 0x2b
je 0x2017f119
mov cl, 0xce
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x203c990f], cl
je 0x2017f0e1
cmp al, 0x2b
jne 0x2017ed90
jmp 0x2017f119
movzx eax, byte [0x203c9d1c]
cmp al, 0xd0
je 0x2017f159
mov cl, 0x4a
nop word [rax + rax]
mov al, 0x17
lock cmpxchg byte [0x203c9d1c], cl
je 0x2017f121
cmp al, 0xd0
jne 0x2017edc0
jmp 0x2017f159
movzx eax, byte [0x203c94af]
cmp al, 0xd6
je 0x2017f199
mov cl, 0xc6
nop word [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x203c94af], cl
je 0x2017f161
cmp al, 0xd6
jne 0x2017edf0
jmp 0x2017f199
xor eax, eax
lea rcx, [0x203c94e0]
lea rdx, [0x202faf50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x36
jl 0x2017ee20
mov al, 0x1b
xchg byte [0x203c9516], al
lea rax, [0x203c94e0]
ret
xor eax, eax
lea rcx, [0x203c9580]
lea rdx, [0x202faff0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x19
jl 0x2017ee60
mov al, 0xef
xchg byte [0x203c9599], al
lea rax, [0x203c9580]
ret
xor eax, eax
lea rcx, [0x203c9b00]
lea rdx, [0x202fb540]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2017eea0
mov al, 0x32
xchg byte [0x203c9b15], al
lea rax, [0x203c9b00]
ret
xor eax, eax
lea rcx, [0x203c9bb0]
lea rdx, [0x202fb5f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2017eee0
mov al, 0x6e
xchg byte [0x203c9bbc], al
lea rax, [0x203c9bb0]
ret
movzx eax, byte [0x203c9b63]
cmp al, 0x3e
je 0x2017f1ca
mov cl, 0xcd
mov al, 0x79
lock cmpxchg byte [0x203c9b63], cl
je 0x2017f1a1
cmp al, 0x3e
jne 0x2017ef12
jmp 0x2017f1ca
xor eax, eax
lea rcx, [0x203c9720]
lea rdx, [0x202fb170]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2017ef40
mov al, 0xba
xchg byte [0x203c9732], al
lea rax, [0x203c9720]
ret
xor eax, eax
lea rcx, [0x203c9ba0]
lea rdx, [0x202fb5e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017ef80
mov al, 0x76
xchg byte [0x203c9bad], al
lea rax, [0x203c9ba0]
ret
xor eax, eax
lea rcx, [0x203c9d80]
lea rdx, [0x202fb7c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x2017efc0
mov al, 0xef
xchg byte [0x203c9d91], al
lea rax, [0x203c9d80]
ret
xor eax, eax
lea rcx, [0x203c9c50]
lea rdx, [0x202fb690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f000
mov al, 0x87
xchg byte [0x203c9c5d], al
lea rax, [0x203c9c50]
ret
xor eax, eax
lea rcx, [0x203c9760]
lea rdx, [0x202fb1b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x2017f040
mov al, 0xac
xchg byte [0x203c9767], al
lea rax, [0x203c9760]
ret
xor eax, eax
lea rcx, [0x203c9cc0]
lea rdx, [0x202fb700]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f080
mov al, 0x8f
xchg byte [0x203c9ccd], al
lea rax, [0x203c9cc0]
ret
xor eax, eax
lea rcx, [0x203c9940]
lea rdx, [0x202fb390]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2017f0c0
mov al, 0xa3
xchg byte [0x203c9942], al
lea rax, [0x203c9940]
ret
xor eax, eax
lea rcx, [0x203c9900]
lea rdx, [0x202fb350]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2017f100
mov al, 0x2b
xchg byte [0x203c990f], al
lea rax, [0x203c9900]
ret
xor eax, eax
lea rcx, [0x203c9d10]
lea rdx, [0x202fb750]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2017f140
mov al, 0xd0
xchg byte [0x203c9d1c], al
lea rax, [0x203c9d10]
ret
xor eax, eax
lea rcx, [0x203c9490]
lea rdx, [0x202faf10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1f
jl 0x2017f180
mov al, 0xd6
xchg byte [0x203c94af], al
lea rax, [0x203c9490]
ret
xor eax, eax
lea rcx, [0x203c9b50]
lea rdx, [0x202fb590]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x2017f1b1
mov al, 0x3e
xchg byte [0x203c9b63], al
lea rax, [0x203c9b50]
ret