Function at 0x201de900
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
test ecx, ecx
je 0x201de94c
test edx, edx
je 0x201de99c
test r8d, r8d
je 0x201de9dc
test r9d, r9d
je 0x201dea59
movzx eax, byte [0x2058fa78]
cmp al, 0x4e
je 0x201de944
mov cl, 0xc5
nop dword [rax + rax]
mov al, 0xab
lock cmpxchg byte [0x2058fa78], cl
je 0x201debd9
cmp al, 0x4e
jne 0x201de930
lea rax, [0x2058fa70]
ret
test edx, edx
je 0x201dea1c
test r8d, r8d
je 0x201dea8c
test r9d, r9d
je 0x201deb09
movzx eax, byte [0x2058fccd]
cmp al, 0xf7
je 0x201de994
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0x8f
lock cmpxchg byte [0x2058fccd], cl
je 0x201deca9
cmp al, 0xf7
jne 0x201de980
lea rax, [0x2058fcc0]
ret
test r8d, r8d
je 0x201deac9
test r9d, r9d
je 0x201deb39
movzx eax, byte [0x2058fd31]
cmp al, 0x65
je 0x201de9d4
mov cl, 0x85
nop dword [rax + rax]
mov al, 0x69
lock cmpxchg byte [0x2058fd31], cl
je 0x201dece1
cmp al, 0x65
jne 0x201de9c0
lea rax, [0x2058fd20]
ret
test r9d, r9d
je 0x201deb69
movzx eax, byte [0x2058fced]
cmp al, 0x71
je 0x201dea14
mov cl, 0xe5
nop word cs:[rax + rax]
mov al, 0x34
lock cmpxchg byte [0x2058fced], cl
je 0x201ded21
cmp al, 0x71
jne 0x201dea00
lea rax, [0x2058fce0]
ret
test r8d, r8d
je 0x201deb99
test r9d, r9d
je 0x201dec11
movzx eax, byte [0x205900a1]
cmp al, 0x44
je 0x201dedf9
mov cl, 0x85
nop
mov al, 0x4c
lock cmpxchg byte [0x205900a1], cl
je 0x201dedcb
cmp al, 0x44
jne 0x201dea40
jmp 0x201dedf9
movzx eax, byte [0x2058f960]
cmp al, 0xaa
je 0x201dea84
mov cl, 0x1b
nop word cs:[rax + rax]
mov al, 0x87
lock cmpxchg byte [0x2058f960], cl
je 0x201ded61
cmp al, 0xaa
jne 0x201dea70
lea rax, [0x2058f950]
ret
test r9d, r9d
je 0x201dec49
movzx eax, byte [0x2058fd03]
cmp al, 0xcd
je 0x201dee39
mov cl, 0xde
nop word cs:[rax + rax]
mov al, 0x53
lock cmpxchg byte [0x2058fd03], cl
je 0x201dee01
cmp al, 0xcd
jne 0x201deab0
jmp 0x201dee39
test r9d, r9d
je 0x201dec79
movzx eax, byte [0x2058fcad]
cmp al, 0x25
je 0x201dee79
mov cl, 0xee
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x2058fcad], cl
je 0x201dee41
cmp al, 0x25
jne 0x201deaf0
jmp 0x201dee79
movzx eax, byte [0x2059005d]
cmp al, 0xd3
je 0x201deeb9
mov cl, 0x8b
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x2059005d], cl
je 0x201dee81
cmp al, 0xd3
jne 0x201deb20
jmp 0x201deeb9
movzx eax, byte [0x2058f731]
cmp al, 0x4f
je 0x201deef9
mov cl, 0x97
nop word [rax + rax]
mov al, 0xa4
lock cmpxchg byte [0x2058f731], cl
je 0x201deec1
cmp al, 0x4f
jne 0x201deb50
jmp 0x201deef9
movzx eax, byte [0x2058fc9d]
cmp al, 0x32
je 0x201def39
mov cl, 0xb7
nop word [rax + rax]
mov al, 0x14
lock cmpxchg byte [0x2058fc9d], cl
je 0x201def01
cmp al, 0x32
jne 0x201deb80
jmp 0x201def39
test r9d, r9d
je 0x201deda1
movzx eax, byte [0x2059010d]
cmp al, 0x6d
je 0x201def79
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x2059010d], cl
je 0x201def41
cmp al, 0x6d
jne 0x201debc0
jmp 0x201def79
xor eax, eax
lea rcx, [0x2058fa70]
lea rdx, [0x20477a40]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 8
jl 0x201debf0
mov al, 0x4e
xchg byte [0x2058fa78], al
lea rax, [0x2058fa70]
ret
movzx eax, byte [0x20590021]
cmp al, 3
je 0x201defb9
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0x63
lock cmpxchg byte [0x20590021], cl
je 0x201def81
cmp al, 3
jne 0x201dec30
jmp 0x201defb9
movzx eax, byte [0x2058ff7d]
cmp al, 6
je 0x201deff9
mov cl, 0x44
nop word [rax + rax]
mov al, 0x89
lock cmpxchg byte [0x2058ff7d], cl
je 0x201defc1
cmp al, 6
jne 0x201dec60
jmp 0x201deff9
movzx eax, byte [0x2058fc8d]
cmp al, 0x10
je 0x201df039
mov cl, 0x40
nop word [rax + rax]
mov al, 0x1e
lock cmpxchg byte [0x2058fc8d], cl
je 0x201df001
cmp al, 0x10
jne 0x201dec90
jmp 0x201df039
xor eax, eax
lea rcx, [0x2058fcc0]
lea rdx, [0x20477c80]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201decc0
mov al, 0xf7
xchg byte [0x2058fccd], al
lea rax, [0x2058fcc0]
ret
xor eax, eax
lea rcx, [0x2058fd20]
lea rdx, [0x20477ce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201ded00
mov al, 0x65
xchg byte [0x2058fd31], al
lea rax, [0x2058fd20]
ret
xor eax, eax
lea rcx, [0x2058fce0]
lea rdx, [0x20477ca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201ded40
mov al, 0x71
xchg byte [0x2058fced], al
lea rax, [0x2058fce0]
ret
xor eax, eax
lea rcx, [0x2058f950]
lea rdx, [0x20477940]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201ded80
mov al, 0xaa
xchg byte [0x2058f960], al
lea rax, [0x2058f950]
ret
movzx eax, byte [0x2058fc70]
cmp al, 0xcb
je 0x201df06a
mov cl, 0xd7
mov al, 0x6d
lock cmpxchg byte [0x2058fc70], cl
je 0x201df041
cmp al, 0xcb
jne 0x201dedb2
jmp 0x201df06a
xor eax, eax
lea rcx, [0x20590090]
lea rdx, [0x20478050]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201dede0
mov al, 0x44
xchg byte [0x205900a1], al
lea rax, [0x20590090]
ret
xor eax, eax
lea rcx, [0x2058fcf0]
lea rdx, [0x20477cb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x13
jl 0x201dee20
mov al, 0xcd
xchg byte [0x2058fd03], al
lea rax, [0x2058fcf0]
ret
xor eax, eax
lea rcx, [0x2058fca0]
lea rdx, [0x20477c60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201dee60
mov al, 0x25
xchg byte [0x2058fcad], al
lea rax, [0x2058fca0]
ret
xor eax, eax
lea rcx, [0x20590050]
lea rdx, [0x20478010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201deea0
mov al, 0xd3
xchg byte [0x2059005d], al
lea rax, [0x20590050]
ret
xor eax, eax
lea rcx, [0x2058f710]
lea rdx, [0x20477710]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x21
jl 0x201deee0
mov al, 0x4f
xchg byte [0x2058f731], al
lea rax, [0x2058f710]
ret
xor eax, eax
lea rcx, [0x2058fc90]
lea rdx, [0x20477c50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201def20
mov al, 0x32
xchg byte [0x2058fc9d], al
lea rax, [0x2058fc90]
ret
xor eax, eax
lea rcx, [0x20590100]
lea rdx, [0x204780c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201def60
mov al, 0x6d
xchg byte [0x2059010d], al
lea rax, [0x20590100]
ret
xor eax, eax
lea rcx, [0x20590010]
lea rdx, [0x20477fd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201defa0
mov al, 3
xchg byte [0x20590021], al
lea rax, [0x20590010]
ret
xor eax, eax
lea rcx, [0x2058ff70]
lea rdx, [0x20477f30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201defe0
mov al, 6
xchg byte [0x2058ff7d], al
lea rax, [0x2058ff70]
ret
xor eax, eax
lea rcx, [0x2058fc80]
lea rdx, [0x20477c40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201df020
mov al, 0x10
xchg byte [0x2058fc8d], al
lea rax, [0x2058fc80]
ret
xor eax, eax
lea rcx, [0x2058fc60]
lea rdx, [0x20477c30]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x201df051
mov al, 0xcb
xchg byte [0x2058fc70], al
lea rax, [0x2058fc60]
ret