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

Disassembly:
test ecx, ecx
je 0x2016d38c
test edx, edx
je 0x2016d3dc
test r8d, r8d
je 0x2016d41c
test r9d, r9d
je 0x2016d499
movzx eax, byte [0x20459aad]
cmp al, 0xb9
je 0x2016d384
mov cl, 0xf9
nop dword [rax + rax]
mov al, 0x59
lock cmpxchg byte [0x20459aad], cl
je 0x2016d619
cmp al, 0xb9
jne 0x2016d370
lea rax, [0x20459aa0]
ret
test edx, edx
je 0x2016d45c
test r8d, r8d
je 0x2016d4cc
test r9d, r9d
je 0x2016d549
movzx eax, byte [0x20459add]
cmp al, 0x8b
je 0x2016d3d4
mov cl, 0xd4
nop word cs:[rax + rax]
mov al, 0xeb
lock cmpxchg byte [0x20459add], cl
je 0x2016d6e9
cmp al, 0x8b
jne 0x2016d3c0
lea rax, [0x20459ad0]
ret
test r8d, r8d
je 0x2016d509
test r9d, r9d
je 0x2016d579
movzx eax, byte [0x20459aed]
cmp al, 0x60
je 0x2016d414
mov cl, 0xa7
nop dword [rax + rax]
mov al, 0xea
lock cmpxchg byte [0x20459aed], cl
je 0x2016d721
cmp al, 0x60
jne 0x2016d400
lea rax, [0x20459ae0]
ret
test r9d, r9d
je 0x2016d5a9
movzx eax, byte [0x20459a1b]
cmp al, 0xbe
je 0x2016d454
mov cl, 0x84
nop word cs:[rax + rax]
mov al, 0xcb
lock cmpxchg byte [0x20459a1b], cl
je 0x2016d761
cmp al, 0xbe
jne 0x2016d440
lea rax, [0x20459a10]
ret
test r8d, r8d
je 0x2016d5d9
test r9d, r9d
je 0x2016d651
movzx eax, byte [0x20459965]
cmp al, 0x48
je 0x2016d839
mov cl, 0xaf
nop
mov al, 0x9c
lock cmpxchg byte [0x20459965], cl
je 0x2016d80b
cmp al, 0x48
jne 0x2016d480
jmp 0x2016d839
movzx eax, byte [0x20459a56]
cmp al, 0x5b
je 0x2016d4c4
mov cl, 0x8c
nop word cs:[rax + rax]
mov al, 0x57
lock cmpxchg byte [0x20459a56], cl
je 0x2016d7a1
cmp al, 0x5b
jne 0x2016d4b0
lea rax, [0x20459a30]
ret
test r9d, r9d
je 0x2016d689
movzx eax, byte [0x20459a72]
cmp al, 0x92
je 0x2016d879
mov cl, 0x14
nop word cs:[rax + rax]
mov al, 0xed
lock cmpxchg byte [0x20459a72], cl
je 0x2016d841
cmp al, 0x92
jne 0x2016d4f0
jmp 0x2016d879
test r9d, r9d
je 0x2016d6b9
movzx eax, byte [0x20459afb]
cmp al, 0xfb
je 0x2016d8b9
mov cl, 0xe3
nop word cs:[rax + rax]
mov al, 0xb3
lock cmpxchg byte [0x20459afb], cl
je 0x2016d881
cmp al, 0xfb
jne 0x2016d530
jmp 0x2016d8b9
movzx eax, byte [0x2045999e]
cmp al, 0xcd
je 0x2016d8f9
mov cl, 0x31
nop word [rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x2045999e], cl
je 0x2016d8c1
cmp al, 0xcd
jne 0x2016d560
jmp 0x2016d8f9
movzx eax, byte [0x20459a8b]
cmp al, 0x26
je 0x2016d939
mov cl, 0x83
nop word [rax + rax]
mov al, 0xcc
lock cmpxchg byte [0x20459a8b], cl
je 0x2016d901
cmp al, 0x26
jne 0x2016d590
jmp 0x2016d939
movzx eax, byte [0x20459a03]
cmp al, 0xef
je 0x2016d979
mov cl, 0x1c
nop word [rax + rax]
mov al, 0x39
lock cmpxchg byte [0x20459a03], cl
je 0x2016d941
cmp al, 0xef
jne 0x2016d5c0
jmp 0x2016d979
test r9d, r9d
je 0x2016d7e1
movzx eax, byte [0x204599d3]
cmp al, 0xe3
je 0x2016d9b9
mov cl, 0x85
nop word cs:[rax + rax]
mov al, 0x87
lock cmpxchg byte [0x204599d3], cl
je 0x2016d981
cmp al, 0xe3
jne 0x2016d600
jmp 0x2016d9b9
xor eax, eax
lea rcx, [0x20459aa0]
lea rdx, [0x20375410]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016d630
mov al, 0xb9
xchg byte [0x20459aad], al
lea rax, [0x20459aa0]
ret
movzx eax, byte [0x204599bc]
cmp al, 0x46
je 0x2016d9f9
mov cl, 0xed
nop word cs:[rax + rax]
mov al, 0xdb
lock cmpxchg byte [0x204599bc], cl
je 0x2016d9c1
cmp al, 0x46
jne 0x2016d670
jmp 0x2016d9f9
movzx eax, byte [0x20459a9d]
cmp al, 0x79
je 0x2016da39
mov cl, 0x73
nop word [rax + rax]
mov al, 0xac
lock cmpxchg byte [0x20459a9d], cl
je 0x2016da01
cmp al, 0x79
jne 0x2016d6a0
jmp 0x2016da39
movzx eax, byte [0x20459940]
cmp al, 0xa1
je 0x2016da79
mov cl, 0x29
nop word [rax + rax]
mov al, 0x3f
lock cmpxchg byte [0x20459940], cl
je 0x2016da41
cmp al, 0xa1
jne 0x2016d6d0
jmp 0x2016da79
xor eax, eax
lea rcx, [0x20459ad0]
lea rdx, [0x20375440]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016d700
mov al, 0x8b
xchg byte [0x20459add], al
lea rax, [0x20459ad0]
ret
xor eax, eax
lea rcx, [0x20459ae0]
lea rdx, [0x20375450]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016d740
mov al, 0x60
xchg byte [0x20459aed], al
lea rax, [0x20459ae0]
ret
xor eax, eax
lea rcx, [0x20459a10]
lea rdx, [0x20375380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2016d780
mov al, 0xbe
xchg byte [0x20459a1b], al
lea rax, [0x20459a10]
ret
xor eax, eax
lea rcx, [0x20459a30]
lea rdx, [0x203753a0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x26
jl 0x2016d7c0
mov al, 0x5b
xchg byte [0x20459a56], al
lea rax, [0x20459a30]
ret
movzx eax, byte [0x20459982]
cmp al, 0x3f
je 0x2016daaa
mov cl, 0xcf
mov al, 0xcc
lock cmpxchg byte [0x20459982], cl
je 0x2016da81
cmp al, 0x3f
jne 0x2016d7f2
jmp 0x2016daaa
xor eax, eax
lea rcx, [0x20459950]
lea rdx, [0x203752c0]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x2016d820
mov al, 0x48
xchg byte [0x20459965], al
lea rax, [0x20459950]
ret
xor eax, eax
lea rcx, [0x20459a70]
lea rdx, [0x203753e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x2016d860
mov al, 0x92
xchg byte [0x20459a72], al
lea rax, [0x20459a70]
ret
xor eax, eax
lea rcx, [0x20459af0]
lea rdx, [0x20375460]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2016d8a0
mov al, 0xfb
xchg byte [0x20459afb], al
lea rax, [0x20459af0]
ret
xor eax, eax
lea rcx, [0x20459990]
lea rdx, [0x20375300]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x2016d8e0
mov al, 0xcd
xchg byte [0x2045999e], al
lea rax, [0x20459990]
ret
xor eax, eax
lea rcx, [0x20459a80]
lea rdx, [0x203753f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x2016d920
mov al, 0x26
xchg byte [0x20459a8b], al
lea rax, [0x20459a80]
ret
xor eax, eax
lea rcx, [0x204599e0]
lea rdx, [0x20375350]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x2016d960
mov al, 0xef
xchg byte [0x20459a03], al
lea rax, [0x204599e0]
ret
xor eax, eax
lea rcx, [0x204599d0]
lea rdx, [0x20375340]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x2016d9a0
mov al, 0xe3
xchg byte [0x204599d3], al
lea rax, [0x204599d0]
ret
xor eax, eax
lea rcx, [0x204599a0]
lea rdx, [0x20375310]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x2016d9e0
mov al, 0x46
xchg byte [0x204599bc], al
lea rax, [0x204599a0]
ret
xor eax, eax
lea rcx, [0x20459a90]
lea rdx, [0x20375400]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x2016da20
mov al, 0x79
xchg byte [0x20459a9d], al
lea rax, [0x20459a90]
ret
xor eax, eax
lea rcx, [0x20459930]
lea rdx, [0x203752b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x2016da60
mov al, 0xa1
xchg byte [0x20459940], al
lea rax, [0x20459930]
ret
xor eax, eax
lea rcx, [0x20459970]
lea rdx, [0x203752e0]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x2016da91
mov al, 0x3f
xchg byte [0x20459982], al
lea rax, [0x20459970]
ret