Function at 0x201df800
Capabilities:
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201df84c
test edx, edx
je 0x201df89c
test r8d, r8d
je 0x201df8dc
test r9d, r9d
je 0x201df959
movzx eax, byte [0x2059008d]
cmp al, 0xcf
je 0x201df844
mov cl, 2
nop dword [rax + rax]
mov al, 0x67
lock cmpxchg byte [0x2059008d], cl
je 0x201dfad9
cmp al, 0xcf
jne 0x201df830
lea rax, [0x20590080]
ret
test edx, edx
je 0x201df91c
test r8d, r8d
je 0x201df98c
test r9d, r9d
je 0x201dfa09
movzx eax, byte [0x2058fd65]
cmp al, 0xd
je 0x201df894
mov cl, 0x52
nop word cs:[rax + rax]
mov al, 0x39
lock cmpxchg byte [0x2058fd65], cl
je 0x201dfba9
cmp al, 0xd
jne 0x201df880
lea rax, [0x2058fd50]
ret
test r8d, r8d
je 0x201df9c9
test r9d, r9d
je 0x201dfa39
movzx eax, byte [0x2058fc5d]
cmp al, 3
je 0x201df8d4
mov cl, 0x92
nop dword [rax + rax]
mov al, 0xfd
lock cmpxchg byte [0x2058fc5d], cl
je 0x201dfbe1
cmp al, 3
jne 0x201df8c0
lea rax, [0x2058fc50]
ret
test r9d, r9d
je 0x201dfa69
movzx eax, byte [0x2058fdad]
cmp al, 0xaf
je 0x201df914
mov cl, 0x38
nop word cs:[rax + rax]
mov al, 0x42
lock cmpxchg byte [0x2058fdad], cl
je 0x201dfc21
cmp al, 0xaf
jne 0x201df900
lea rax, [0x2058fda0]
ret
test r8d, r8d
je 0x201dfa99
test r9d, r9d
je 0x201dfb11
movzx eax, byte [0x2058f70c]
cmp al, 0x90
je 0x201dfcf9
mov cl, 0x7a
nop
mov al, 0xc2
lock cmpxchg byte [0x2058f70c], cl
je 0x201dfccb
cmp al, 0x90
jne 0x201df940
jmp 0x201dfcf9
movzx eax, byte [0x205ecad8]
cmp al, 0x70
je 0x201df984
mov cl, 0xdd
nop word cs:[rax + rax]
xor eax, eax
lock cmpxchg byte [0x205ecad8], cl
je 0x201dfc61
cmp al, 0x70
jne 0x201df970
lea rax, [0x2058fc30]
ret
test r9d, r9d
je 0x201dfb49
movzx eax, byte [0x2059000d]
cmp al, 0x98
je 0x201dfd39
mov cl, 0x46
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x2059000d], cl
je 0x201dfd01
cmp al, 0x98
jne 0x201df9b0
jmp 0x201dfd39
test r9d, r9d
je 0x201dfb79
movzx eax, byte [0x2058fead]
cmp al, 0x9b
je 0x201dfd79
mov cl, 0x17
nop word cs:[rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x2058fead], cl
je 0x201dfd41
cmp al, 0x9b
jne 0x201df9f0
jmp 0x201dfd79
movzx eax, byte [0x2058fbc3]
cmp al, 0x24
je 0x201dfdb9
mov cl, 0x17
nop word [rax + rax]
mov al, 0xe1
lock cmpxchg byte [0x2058fbc3], cl
je 0x201dfd81
cmp al, 0x24
jne 0x201dfa20
jmp 0x201dfdb9
movzx eax, byte [0x2058ff5d]
cmp al, 0x2d
je 0x201dfdf9
mov cl, 5
nop word [rax + rax]
mov al, 0x14
lock cmpxchg byte [0x2058ff5d], cl
je 0x201dfdc1
cmp al, 0x2d
jne 0x201dfa50
jmp 0x201dfdf9
movzx eax, byte [0x2058fc4b]
cmp al, 0x22
je 0x201dfe39
mov cl, 0xbd
nop word [rax + rax]
mov al, 0xe
lock cmpxchg byte [0x2058fc4b], cl
je 0x201dfe01
cmp al, 0x22
jne 0x201dfa80
jmp 0x201dfe39
test r9d, r9d
je 0x201dfca1
movzx eax, byte [0x2058fd1d]
cmp al, 0x48
je 0x201dfe79
mov cl, 0xe4
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x2058fd1d], cl
je 0x201dfe41
cmp al, 0x48
jne 0x201dfac0
jmp 0x201dfe79
xor eax, eax
lea rcx, [0x20590080]
lea rdx, [0x20478040]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfaf0
mov al, 0xcf
xchg byte [0x2059008d], al
lea rax, [0x20590080]
ret
movzx eax, byte [0x2058fa63]
cmp al, 0x29
je 0x201dfeb9
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0x3d
lock cmpxchg byte [0x2058fa63], cl
je 0x201dfe81
cmp al, 0x29
jne 0x201dfb30
jmp 0x201dfeb9
movzx eax, byte [0x2058fbdb]
cmp al, 0x15
je 0x201dfef9
mov cl, 0xa3
nop word [rax + rax]
mov al, 0xf1
lock cmpxchg byte [0x2058fbdb], cl
je 0x201dfec1
cmp al, 0x15
jne 0x201dfb60
jmp 0x201dfef9
movzx eax, byte [0x2058fb2e]
cmp al, 0x22
je 0x201dff39
mov cl, 0x75
nop word [rax + rax]
mov al, 0x66
lock cmpxchg byte [0x2058fb2e], cl
je 0x201dff01
cmp al, 0x22
jne 0x201dfb90
jmp 0x201dff39
xor eax, eax
lea rcx, [0x2058fd50]
lea rdx, [0x20477d10]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x201dfbc0
mov al, 0xd
xchg byte [0x2058fd65], al
lea rax, [0x2058fd50]
ret
xor eax, eax
lea rcx, [0x2058fc50]
lea rdx, [0x20477c20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfc00
mov al, 3
xchg byte [0x2058fc5d], al
lea rax, [0x2058fc50]
ret
xor eax, eax
lea rcx, [0x2058fda0]
lea rdx, [0x20477d60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfc40
mov al, 0xaf
xchg byte [0x2058fdad], al
lea rax, [0x2058fda0]
ret
xor eax, eax
lea rcx, [0x2058fc30]
lea rdx, [0x20477c00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x201dfc80
mov al, 0x70
xchg byte [0x205ecad8], al
lea rax, [0x2058fc30]
ret
movzx eax, byte [0x2058fd7d]
cmp al, 0xd8
je 0x201dff6a
mov cl, 0x74
mov al, 0xf7
lock cmpxchg byte [0x2058fd7d], cl
je 0x201dff41
cmp al, 0xd8
jne 0x201dfcb2
jmp 0x201dff6a
xor eax, eax
lea rcx, [0x2058f6f0]
lea rdx, [0x204776f0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x201dfce0
mov al, 0x90
xchg byte [0x2058f70c], al
lea rax, [0x2058f6f0]
ret
xor eax, eax
lea rcx, [0x20590000]
lea rdx, [0x20477fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfd20
mov al, 0x98
xchg byte [0x2059000d], al
lea rax, [0x20590000]
ret
xor eax, eax
lea rcx, [0x2058fea0]
lea rdx, [0x20477e60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfd60
mov al, 0x9b
xchg byte [0x2058fead], al
lea rax, [0x2058fea0]
ret
xor eax, eax
lea rcx, [0x2058fba0]
lea rdx, [0x20477b70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x201dfda0
mov al, 0x24
xchg byte [0x2058fbc3], al
lea rax, [0x2058fba0]
ret
xor eax, eax
lea rcx, [0x2058ff50]
lea rdx, [0x20477f10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfde0
mov al, 0x2d
xchg byte [0x2058ff5d], al
lea rax, [0x2058ff50]
ret
xor eax, eax
lea rcx, [0x2058fc40]
lea rdx, [0x20477c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201dfe20
mov al, 0x22
xchg byte [0x2058fc4b], al
lea rax, [0x2058fc40]
ret
xor eax, eax
lea rcx, [0x2058fd10]
lea rdx, [0x20477cd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dfe60
mov al, 0x48
xchg byte [0x2058fd1d], al
lea rax, [0x2058fd10]
ret
xor eax, eax
lea rcx, [0x2058fa50]
lea rdx, [0x20477a20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201dfea0
mov al, 0x29
xchg byte [0x2058fa63], al
lea rax, [0x2058fa50]
ret
xor eax, eax
lea rcx, [0x2058fbd0]
lea rdx, [0x20477ba0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201dfee0
mov al, 0x15
xchg byte [0x2058fbdb], al
lea rax, [0x2058fbd0]
ret
xor eax, eax
lea rcx, [0x2058fb20]
lea rdx, [0x20477af0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201dff20
mov al, 0x22
xchg byte [0x2058fb2e], al
lea rax, [0x2058fb20]
ret
xor eax, eax
lea rcx, [0x2058fd70]
lea rdx, [0x20477d30]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dff51
mov al, 0xd8
xchg byte [0x2058fd7d], al
lea rax, [0x2058fd70]
ret