Function at 0x2017d5b0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2017d5fc
test edx, edx
je 0x2017d63c
test r8d, r8d
je 0x2017d67c
test r9d, r9d
je 0x2017d6fc
movzx eax, byte [0x203c975a]
cmp al, 0x2d
je 0x2017d5f4
mov cl, 0xca
nop dword [rax + rax]
mov al, 0x3e
lock cmpxchg byte [0x203c975a], cl
je 0x2017d829
cmp al, 0x2d
jne 0x2017d5e0
lea rax, [0x203c9740]
ret
test edx, edx
je 0x2017d6bc
test r8d, r8d
je 0x2017d72c
movzx eax, byte [0x203c9b3c]
cmp al, 0xf1
je 0x2017d634
mov cl, 0xda
nop word [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x203c9b3c], cl
je 0x2017d861
cmp al, 0xf1
jne 0x2017d620
lea rax, [0x203c9b30]
ret
test r8d, r8d
je 0x2017d75c
test r9d, r9d
je 0x2017d799
movzx eax, byte [0x203c96f0]
cmp al, 0x64
je 0x2017d674
mov cl, 0x5d
nop dword [rax + rax]
mov al, 0x87
lock cmpxchg byte [0x203c96f0], cl
je 0x2017d8d9
cmp al, 0x64
jne 0x2017d660
lea rax, [0x203c96e0]
ret
test r9d, r9d
je 0x2017d7c9
movzx eax, byte [0x203c9d6c]
cmp al, 0xfa
je 0x2017d6b4
mov cl, 0x5f
nop word cs:[rax + rax]
mov al, 0x40
lock cmpxchg byte [0x203c9d6c], cl
je 0x2017d911
cmp al, 0xfa
jne 0x2017d6a0
lea rax, [0x203c9d60]
ret
test r8d, r8d
je 0x2017d7f9
movzx eax, byte [0x203c95c7]
cmp al, 0xea
je 0x2017d6f4
mov cl, 0x6d
nop word cs:[rax + rax]
mov al, 0x87
lock cmpxchg byte [0x203c95c7], cl
je 0x2017d991
cmp al, 0xea
jne 0x2017d6e0
lea rax, [0x203c95a0]
ret
movzx eax, byte [0x203c97ca]
cmp al, 0x44
je 0x2017d724
mov cl, 0x97
nop dword [rax]
mov al, 0x86
lock cmpxchg byte [0x203c97ca], cl
je 0x2017d951
cmp al, 0x44
jne 0x2017d710
lea rax, [0x203c97b0]
ret
movzx eax, byte [0x203c966b]
cmp al, 0x5d
je 0x2017d754
mov cl, 0xf0
nop dword [rax]
mov al, 0xba
lock cmpxchg byte [0x203c966b], cl
je 0x2017d9d1
cmp al, 0x5d
jne 0x2017d740
lea rax, [0x203c9650]
ret
test r9d, r9d
je 0x2017d8a1
movzx eax, byte [0x203c9e18]
cmp al, 0xdb
je 0x2017da49
mov cl, 0xbe
nop word cs:[rax + rax]
mov al, 0x92
lock cmpxchg byte [0x203c9e18], cl
je 0x2017da11
cmp al, 0xdb
jne 0x2017d780
jmp 0x2017da49
movzx eax, byte [0x203c9c8f]
cmp al, 0x40
je 0x2017da89
mov cl, 0x29
nop word [rax + rax]
mov al, 0x7c
lock cmpxchg byte [0x203c9c8f], cl
je 0x2017da51
cmp al, 0x40
jne 0x2017d7b0
jmp 0x2017da89
movzx eax, byte [0x203c9403]
cmp al, 0x9f
je 0x2017dac9
mov cl, 0xee
nop word [rax + rax]
mov al, 0x57
lock cmpxchg byte [0x203c9403], cl
je 0x2017da91
cmp al, 0x9f
jne 0x2017d7e0
jmp 0x2017dac9
movzx eax, byte [0x203c9ddd]
cmp al, 0x95
je 0x2017db09
mov cl, 0xdf
nop word [rax + rax]
mov al, 0x15
lock cmpxchg byte [0x203c9ddd], cl
je 0x2017dad1
cmp al, 0x95
jne 0x2017d810
jmp 0x2017db09
xor eax, eax
lea rcx, [0x203c9740]
lea rdx, [0x202fb190]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x2017d840
mov al, 0x2d
xchg byte [0x203c975a], al
lea rax, [0x203c9740]
ret
xor eax, eax
lea rcx, [0x203c9b30]
lea rdx, [0x202fb570]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2017d880
mov al, 0xf1
xchg byte [0x203c9b3c], al
lea rax, [0x203c9b30]
ret
movzx eax, byte [0x203c9362]
cmp al, 0x23
je 0x2017db49
mov cl, 0x24
nop word cs:[rax + rax]
mov al, 0xb0
lock cmpxchg byte [0x203c9362], cl
je 0x2017db11
cmp al, 0x23
jne 0x2017d8c0
jmp 0x2017db49
xor eax, eax
lea rcx, [0x203c96e0]
lea rdx, [0x202fb140]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2017d8f0
mov al, 0x64
xchg byte [0x203c96f0], al
lea rax, [0x203c96e0]
ret
xor eax, eax
lea rcx, [0x203c9d60]
lea rdx, [0x202fb7a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x2017d930
mov al, 0xfa
xchg byte [0x203c9d6c], al
lea rax, [0x203c9d60]
ret
xor eax, eax
lea rcx, [0x203c97b0]
lea rdx, [0x202fb200]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x2017d970
mov al, 0x44
xchg byte [0x203c97ca], al
lea rax, [0x203c97b0]
ret
xor eax, eax
lea rcx, [0x203c95a0]
lea rdx, [0x202fb010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x27
jl 0x2017d9b0
mov al, 0xea
xchg byte [0x203c95c7], al
lea rax, [0x203c95a0]
ret
xor eax, eax
lea rcx, [0x203c9650]
lea rdx, [0x202fb0c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x2017d9f0
mov al, 0x5d
xchg byte [0x203c966b], al
lea rax, [0x203c9650]
ret
xor eax, eax
lea rcx, [0x203c9e00]
lea rdx, [0x202fb840]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x2017da30
mov al, 0xdb
xchg byte [0x203c9e18], al
lea rax, [0x203c9e00]
ret
xor eax, eax
lea rcx, [0x203c9c80]
lea rdx, [0x202fb6c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x2017da70
mov al, 0x40
xchg byte [0x203c9c8f], al
lea rax, [0x203c9c80]
ret
xor eax, eax
lea rcx, [0x203c93e0]
lea rdx, [0x202fae60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2017dab0
mov al, 0x9f
xchg byte [0x203c9403], al
lea rax, [0x203c93e0]
ret
xor eax, eax
lea rcx, [0x203c9dd0]
lea rdx, [0x202fb810]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017daf0
mov al, 0x95
xchg byte [0x203c9ddd], al
lea rax, [0x203c9dd0]
ret
xor eax, eax
lea rcx, [0x203c9340]
lea rdx, [0x202fadd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x22
jl 0x2017db30
mov al, 0x23
xchg byte [0x203c9362], al
lea rax, [0x203c9340]
ret