Function at 0x2017f1e0
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x2017f22c
test edx, edx
je 0x2017f27c
test r8d, r8d
je 0x2017f2bc
test r9d, r9d
je 0x2017f339
movzx eax, byte [0x203c9dad]
cmp al, 0xcf
je 0x2017f224
mov cl, 2
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x203c9dad], cl
je 0x2017f4b9
cmp al, 0xcf
jne 0x2017f210
lea rax, [0x203c9da0]
ret
test edx, edx
je 0x2017f2fc
test r8d, r8d
je 0x2017f36c
test r9d, r9d
je 0x2017f3e9
movzx eax, byte [0x203c9a85]
cmp al, 0xd
je 0x2017f274
mov cl, 0x52
nop word cs:[rax + rax]
mov al, 0x39
lock cmpxchg byte [0x203c9a85], cl
je 0x2017f589
cmp al, 0xd
jne 0x2017f260
lea rax, [0x203c9a70]
ret
test r8d, r8d
je 0x2017f3a9
test r9d, r9d
je 0x2017f419
movzx eax, byte [0x203c997d]
cmp al, 3
je 0x2017f2b4
mov cl, 0x92
nop dword [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x203c997d], cl
je 0x2017f5c1
cmp al, 3
jne 0x2017f2a0
lea rax, [0x203c9970]
ret
test r9d, r9d
je 0x2017f449
movzx eax, byte [0x203c9acd]
cmp al, 0xaf
je 0x2017f2f4
mov cl, 0x38
nop word cs:[rax + rax]
mov al, 0x42
lock cmpxchg byte [0x203c9acd], cl
je 0x2017f601
cmp al, 0xaf
jne 0x2017f2e0
lea rax, [0x203c9ac0]
ret
test r8d, r8d
je 0x2017f479
test r9d, r9d
je 0x2017f4f1
movzx eax, byte [0x203c942c]
cmp al, 0x90
je 0x2017f6d9
mov cl, 0x7a
nop
mov al, 0xc2
lock cmpxchg byte [0x203c942c], cl
je 0x2017f6ab
cmp al, 0x90
jne 0x2017f320
jmp 0x2017f6d9
movzx eax, byte [0x20402318]
cmp al, 0x70
je 0x2017f364
mov cl, 0xdd
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x20402318], cl
je 0x2017f641
cmp al, 0x70
jne 0x2017f350
lea rax, [0x203c9950]
ret
test r9d, r9d
je 0x2017f529
movzx eax, byte [0x203c9d2d]
cmp al, 0x98
je 0x2017f719
mov cl, 0x46
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x203c9d2d], cl
je 0x2017f6e1
cmp al, 0x98
jne 0x2017f390
jmp 0x2017f719
test r9d, r9d
je 0x2017f559
movzx eax, byte [0x203c9bcd]
cmp al, 0x9b
je 0x2017f759
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x203c9bcd], cl
je 0x2017f721
cmp al, 0x9b
jne 0x2017f3d0
jmp 0x2017f759
movzx eax, byte [0x203c98e3]
cmp al, 0x24
je 0x2017f799
mov cl, 0x17
nop word [rax + rax]
mov al, 0xe1
lock cmpxchg byte [0x203c98e3], cl
je 0x2017f761
cmp al, 0x24
jne 0x2017f400
jmp 0x2017f799
movzx eax, byte [0x203c9c7d]
cmp al, 0x2d
je 0x2017f7d9
mov cl, 5
nop word [rax + rax]
mov al, 0x14
lock cmpxchg byte [0x203c9c7d], cl
je 0x2017f7a1
cmp al, 0x2d
jne 0x2017f430
jmp 0x2017f7d9
movzx eax, byte [0x203c996b]
cmp al, 0x22
je 0x2017f819
mov cl, 0xbd
nop word [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x203c996b], cl
je 0x2017f7e1
cmp al, 0x22
jne 0x2017f460
jmp 0x2017f819
test r9d, r9d
je 0x2017f681
movzx eax, byte [0x203c9a3d]
cmp al, 0x48
je 0x2017f859
mov cl, 0xe4
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x203c9a3d], cl
je 0x2017f821
cmp al, 0x48
jne 0x2017f4a0
jmp 0x2017f859
xor eax, eax
lea rcx, [0x203c9da0]
lea rdx, [0x202fb7e0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f4d0
mov al, 0xcf
xchg byte [0x203c9dad], al
lea rax, [0x203c9da0]
ret
movzx eax, byte [0x203c9783]
cmp al, 0x29
je 0x2017f899
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x203c9783], cl
je 0x2017f861
cmp al, 0x29
jne 0x2017f510
jmp 0x2017f899
movzx eax, byte [0x203c98fb]
cmp al, 0x15
je 0x2017f8d9
mov cl, 0xa3
nop word [rax + rax]
mov al, 0xf1
lock cmpxchg byte [0x203c98fb], cl
je 0x2017f8a1
cmp al, 0x15
jne 0x2017f540
jmp 0x2017f8d9
movzx eax, byte [0x203c984e]
cmp al, 0x22
je 0x2017f919
mov cl, 0x75
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x203c984e], cl
je 0x2017f8e1
cmp al, 0x22
jne 0x2017f570
jmp 0x2017f919
xor eax, eax
lea rcx, [0x203c9a70]
lea rdx, [0x202fb4b0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2017f5a0
mov al, 0xd
xchg byte [0x203c9a85], al
lea rax, [0x203c9a70]
ret
xor eax, eax
lea rcx, [0x203c9970]
lea rdx, [0x202fb3c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f5e0
mov al, 3
xchg byte [0x203c997d], al
lea rax, [0x203c9970]
ret
xor eax, eax
lea rcx, [0x203c9ac0]
lea rdx, [0x202fb500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f620
mov al, 0xaf
xchg byte [0x203c9acd], al
lea rax, [0x203c9ac0]
ret
xor eax, eax
lea rcx, [0x203c9950]
lea rdx, [0x202fb3a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2017f660
mov al, 0x70
xchg byte [0x20402318], al
lea rax, [0x203c9950]
ret
movzx eax, byte [0x203c9a9d]
cmp al, 0xd8
je 0x2017f94a
mov cl, 0x74
mov al, 0xf7
lock cmpxchg byte [0x203c9a9d], cl
je 0x2017f921
cmp al, 0xd8
jne 0x2017f692
jmp 0x2017f94a
xor eax, eax
lea rcx, [0x203c9410]
lea rdx, [0x202fae90]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2017f6c0
mov al, 0x90
xchg byte [0x203c942c], al
lea rax, [0x203c9410]
ret
xor eax, eax
lea rcx, [0x203c9d20]
lea rdx, [0x202fb760]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f700
mov al, 0x98
xchg byte [0x203c9d2d], al
lea rax, [0x203c9d20]
ret
xor eax, eax
lea rcx, [0x203c9bc0]
lea rdx, [0x202fb600]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f740
mov al, 0x9b
xchg byte [0x203c9bcd], al
lea rax, [0x203c9bc0]
ret
xor eax, eax
lea rcx, [0x203c98c0]
lea rdx, [0x202fb310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2017f780
mov al, 0x24
xchg byte [0x203c98e3], al
lea rax, [0x203c98c0]
ret
xor eax, eax
lea rcx, [0x203c9c70]
lea rdx, [0x202fb6b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f7c0
mov al, 0x2d
xchg byte [0x203c9c7d], al
lea rax, [0x203c9c70]
ret
xor eax, eax
lea rcx, [0x203c9960]
lea rdx, [0x202fb3b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2017f800
mov al, 0x22
xchg byte [0x203c996b], al
lea rax, [0x203c9960]
ret
xor eax, eax
lea rcx, [0x203c9a30]
lea rdx, [0x202fb470]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f840
mov al, 0x48
xchg byte [0x203c9a3d], al
lea rax, [0x203c9a30]
ret
xor eax, eax
lea rcx, [0x203c9770]
lea rdx, [0x202fb1c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x2017f880
mov al, 0x29
xchg byte [0x203c9783], al
lea rax, [0x203c9770]
ret
xor eax, eax
lea rcx, [0x203c98f0]
lea rdx, [0x202fb340]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2017f8c0
mov al, 0x15
xchg byte [0x203c98fb], al
lea rax, [0x203c98f0]
ret
xor eax, eax
lea rcx, [0x203c9840]
lea rdx, [0x202fb290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x2017f900
mov al, 0x22
xchg byte [0x203c984e], al
lea rax, [0x203c9840]
ret
xor eax, eax
lea rcx, [0x203c9a90]
lea rdx, [0x202fb4d0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2017f931
mov al, 0xd8
xchg byte [0x203c9a9d], al
lea rax, [0x203c9a90]
ret