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

Disassembly:
test ecx, ecx
je 0x20081b8c
test edx, edx
je 0x20081bdc
test r8d, r8d
je 0x20081c1c
test r9d, r9d
je 0x20081c99
movzx eax, byte [0x204393fd]
cmp al, 0xd3
je 0x20081b84
mov cl, 0xca
nop dword [rax + rax]
mov al, 0x16
lock cmpxchg byte [0x204393fd], cl
je 0x20081e19
cmp al, 0xd3
jne 0x20081b70
lea rax, [0x204393f0]
ret
test edx, edx
je 0x20081c5c
test r8d, r8d
je 0x20081ccc
test r9d, r9d
je 0x20081d49
movzx eax, byte [0x2043925c]
cmp al, 0x90
je 0x20081bd4
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 0xb1
lock cmpxchg byte [0x2043925c], cl
je 0x20081f21
cmp al, 0x90
jne 0x20081bc0
lea rax, [0x20439240]
ret
test r8d, r8d
je 0x20081d09
test r9d, r9d
je 0x20081d79
movzx eax, byte [0x20439108]
cmp al, 0xf0
je 0x20081c14
mov cl, 0xcf
nop dword [rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x20439108], cl
je 0x20081f61
cmp al, 0xf0
jne 0x20081c00
lea rax, [0x204390f0]
ret
test r9d, r9d
je 0x20081da9
movzx eax, byte [0x204392a3]
cmp al, 0xd2
je 0x20081c54
mov cl, 0xca
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x204392a3], cl
je 0x20081fa1
cmp al, 0xd2
jne 0x20081c40
lea rax, [0x20439280]
ret
test r8d, r8d
je 0x20081dd9
test r9d, r9d
je 0x20081e51
movzx eax, byte [0x20439231]
cmp al, 0xcd
je 0x20082039
mov cl, 0xa5
nop
mov al, 0x7b
lock cmpxchg byte [0x20439231], cl
je 0x2008200b
cmp al, 0xcd
jne 0x20081c80
jmp 0x20082039
cmp byte [0x2043921e], 0
je 0x20081cc4
mov cl, 0xac
nop word cs:[rax + rax]
mov al, 0xcb
lock cmpxchg byte [0x2043921e], cl
je 0x20081ee9
test al, al
jne 0x20081cb0
lea rax, [0x20439210]
ret
test r9d, r9d
je 0x20081e89
movzx eax, byte [0x20439199]
cmp al, 0x80
je 0x20082079
mov cl, 0xeb
nop word cs:[rax + rax]
mov al, 0x79
lock cmpxchg byte [0x20439199], cl
je 0x20082041
cmp al, 0x80
jne 0x20081cf0
jmp 0x20082079
test r9d, r9d
je 0x20081eb9
movzx eax, byte [0x20439265]
cmp al, 0x78
je 0x200820b9
mov cl, 0xe6
nop word cs:[rax + rax]
mov al, 0xb9
lock cmpxchg byte [0x20439265], cl
je 0x20082081
cmp al, 0x78
jne 0x20081d30
jmp 0x200820b9
movzx eax, byte [0x204391c3]
cmp al, 0xa6
je 0x200820f9
mov cl, 2
nop word [rax + rax]
mov al, 0xa8
lock cmpxchg byte [0x204391c3], cl
je 0x200820c1
cmp al, 0xa6
jne 0x20081d60
jmp 0x200820f9
movzx eax, byte [0x2043932b]
cmp al, 0x3e
je 0x20082139
mov cl, 0xf7
nop word [rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x2043932b], cl
je 0x20082101
cmp al, 0x3e
jne 0x20081d90
jmp 0x20082139
movzx eax, byte [0x2043936f]
cmp al, 0x2c
je 0x20082179
mov cl, 0x82
nop word [rax + rax]
mov al, 2
lock cmpxchg byte [0x2043936f], cl
je 0x20082141
cmp al, 0x2c
jne 0x20081dc0
jmp 0x20082179
test r9d, r9d
je 0x20081fe1
movzx eax, byte [0x204390e2]
cmp al, 0xb0
je 0x200821b9
mov cl, 0x72
nop word cs:[rax + rax]
mov al, 0x5a
lock cmpxchg byte [0x204390e2], cl
je 0x20082181
cmp al, 0xb0
jne 0x20081e00
jmp 0x200821b9
xor eax, eax
lea rcx, [0x204393f0]
lea rdx, [0x2036e3d0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20081e30
mov al, 0xd3
xchg byte [0x204393fd], al
lea rax, [0x204393f0]
ret
movzx eax, byte [0x204392bb]
cmp al, 0x75
je 0x200821f9
mov cl, 0xee
nop word cs:[rax + rax]
mov al, 0x1a
lock cmpxchg byte [0x204392bb], cl
je 0x200821c1
cmp al, 0x75
jne 0x20081e70
jmp 0x200821f9
movzx eax, byte [0x20439145]
cmp al, 0x56
je 0x20082239
mov cl, 0x3c
nop word [rax + rax]
mov al, 0xe8
lock cmpxchg byte [0x20439145], cl
je 0x20082201
cmp al, 0x56
jne 0x20081ea0
jmp 0x20082239
movzx eax, byte [0x20439166]
cmp al, 0xb4
je 0x20082279
mov cl, 0xdc
nop word [rax + rax]
mov al, 4
lock cmpxchg byte [0x20439166], cl
je 0x20082241
cmp al, 0xb4
jne 0x20081ed0
jmp 0x20082279
xor eax, eax
lea rcx, [0x20439210]
lea rdx, [0x2036e1f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x20081f00
xor eax, eax
xchg byte [0x2043921e], al
lea rax, [0x20439210]
ret
xor eax, eax
lea rcx, [0x20439240]
lea rdx, [0x2036e220]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x20081f40
mov al, 0x90
xchg byte [0x2043925c], al
lea rax, [0x20439240]
ret
xor eax, eax
lea rcx, [0x204390f0]
lea rdx, [0x2036e090]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x20081f80
mov al, 0xf0
xchg byte [0x20439108], al
lea rax, [0x204390f0]
ret
xor eax, eax
lea rcx, [0x20439280]
lea rdx, [0x2036e260]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20081fc0
mov al, 0xd2
xchg byte [0x204392a3], al
lea rax, [0x20439280]
ret
movzx eax, byte [0x204393c4]
cmp al, 0xbe
je 0x200822aa
mov cl, 0x39
mov al, 0x50
lock cmpxchg byte [0x204393c4], cl
je 0x20082281
cmp al, 0xbe
jne 0x20081ff2
jmp 0x200822aa
xor eax, eax
lea rcx, [0x20439220]
lea rdx, [0x2036e200]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x20082020
mov al, 0xcd
xchg byte [0x20439231], al
lea rax, [0x20439220]
ret
xor eax, eax
lea rcx, [0x20439190]
lea rdx, [0x2036e120]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x20082060
mov al, 0x80
xchg byte [0x20439199], al
lea rax, [0x20439190]
ret
xor eax, eax
lea rcx, [0x20439260]
lea rdx, [0x2036e240]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x200820a0
mov al, 0x78
xchg byte [0x20439265], al
lea rax, [0x20439260]
ret
xor eax, eax
lea rcx, [0x204391c0]
lea rdx, [0x2036e150]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x200820e0
mov al, 0xa6
xchg byte [0x204391c3], al
lea rax, [0x204391c0]
ret
xor eax, eax
lea rcx, [0x20439320]
lea rdx, [0x2036e300]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20082120
mov al, 0x3e
xchg byte [0x2043932b], al
lea rax, [0x20439320]
ret
xor eax, eax
lea rcx, [0x20439360]
lea rdx, [0x2036e340]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20082160
mov al, 0x2c
xchg byte [0x2043936f], al
lea rax, [0x20439360]
ret
xor eax, eax
lea rcx, [0x204390d0]
lea rdx, [0x2036e070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x200821a0
mov al, 0xb0
xchg byte [0x204390e2], al
lea rax, [0x204390d0]
ret
xor eax, eax
lea rcx, [0x204392b0]
lea rdx, [0x2036e290]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x200821e0
mov al, 0x75
xchg byte [0x204392bb], al
lea rax, [0x204392b0]
ret
xor eax, eax
lea rcx, [0x20439130]
lea rdx, [0x2036e0c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x20082220
mov al, 0x56
xchg byte [0x20439145], al
lea rax, [0x20439130]
ret
xor eax, eax
lea rcx, [0x20439150]
lea rdx, [0x2036e0e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x20082260
mov al, 0xb4
xchg byte [0x20439166], al
lea rax, [0x20439150]
ret
xor eax, eax
lea rcx, [0x204393b0]
lea rdx, [0x2036e390]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x20082291
mov al, 0xbe
xchg byte [0x204393c4], al
lea rax, [0x204393b0]
ret