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

Disassembly:
test ecx, ecx
je 0x202248ec
test edx, edx
je 0x2022493c
test r8d, r8d
je 0x2022497c
test r9d, r9d
je 0x202249f9
movzx eax, byte [0x2046f2ed]
cmp al, 0x33
je 0x202248e4
mov cl, 0xf3
nop dword [rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x2046f2ed], cl
je 0x20224b79
cmp al, 0x33
jne 0x202248d0
lea rax, [0x2046f2e0]
ret
test edx, edx
je 0x202249bc
test r8d, r8d
je 0x20224a2c
test r9d, r9d
je 0x20224aa9
movzx eax, byte [0x2046f21d]
cmp al, 0x85
je 0x20224934
mov cl, 0xfb
nop word cs:[rax + rax]
mov al, 0xcb
lock cmpxchg byte [0x2046f21d], cl
je 0x20224c49
cmp al, 0x85
jne 0x20224920
lea rax, [0x2046f210]
ret
test r8d, r8d
je 0x20224a69
test r9d, r9d
je 0x20224ad9
movzx eax, byte [0x2046f31c]
cmp al, 0xca
je 0x20224974
mov cl, 0x21
nop dword [rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x2046f31c], cl
je 0x20224c81
cmp al, 0xca
jne 0x20224960
lea rax, [0x2046f310]
ret
test r9d, r9d
je 0x20224b09
movzx eax, byte [0x2046f24f]
cmp al, 0xa4
je 0x202249b4
mov cl, 0xed
nop word cs:[rax + rax]
mov al, 0xc9
lock cmpxchg byte [0x2046f24f], cl
je 0x20224cc1
cmp al, 0xa4
jne 0x202249a0
lea rax, [0x2046f240]
ret
test r8d, r8d
je 0x20224b39
test r9d, r9d
je 0x20224bb1
movzx eax, byte [0x2046f1fd]
cmp al, 0x9b
je 0x20224d99
mov cl, 0x4b
nop
mov al, 0x81
lock cmpxchg byte [0x2046f1fd], cl
je 0x20224d6b
cmp al, 0x9b
jne 0x202249e0
jmp 0x20224d99
movzx eax, byte [0x2046f25d]
cmp al, 0xd7
je 0x20224a24
mov cl, 0xa9
nop word cs:[rax + rax]
mov al, 0xe6
lock cmpxchg byte [0x2046f25d], cl
je 0x20224d01
cmp al, 0xd7
jne 0x20224a10
lea rax, [0x2046f250]
ret
test r9d, r9d
je 0x20224be9
movzx eax, byte [0x2046f143]
cmp al, 0x34
je 0x20224dd9
mov cl, 0xb4
nop word cs:[rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x2046f143], cl
je 0x20224da1
cmp al, 0x34
jne 0x20224a50
jmp 0x20224dd9
test r9d, r9d
je 0x20224c19
movzx eax, byte [0x2046f32d]
cmp al, 0x50
je 0x20224e19
mov cl, 5
nop word cs:[rax + rax]
mov al, 0xaa
lock cmpxchg byte [0x2046f32d], cl
je 0x20224de1
cmp al, 0x50
jne 0x20224a90
jmp 0x20224e19
movzx eax, byte [0x2046f28d]
cmp al, 0xb4
je 0x20224e59
mov cl, 0xcc
nop word [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x2046f28d], cl
je 0x20224e21
cmp al, 0xb4
jne 0x20224ac0
jmp 0x20224e59
movzx eax, byte [0x2046f2ad]
cmp al, 0xc0
je 0x20224e99
mov cl, 0xe
nop word [rax + rax]
mov al, 0x1f
lock cmpxchg byte [0x2046f2ad], cl
je 0x20224e61
cmp al, 0xc0
jne 0x20224af0
jmp 0x20224e99
movzx eax, byte [0x2046f2fd]
cmp al, 0x20
je 0x20224ed9
mov cl, 0x82
nop word [rax + rax]
mov al, 0xb4
lock cmpxchg byte [0x2046f2fd], cl
je 0x20224ea1
cmp al, 0x20
jne 0x20224b20
jmp 0x20224ed9
test r9d, r9d
je 0x20224d41
movzx eax, byte [0x2046f113]
cmp al, 0x13
je 0x20224f19
mov cl, 0xa7
nop word cs:[rax + rax]
mov al, 0x9b
lock cmpxchg byte [0x2046f113], cl
je 0x20224ee1
cmp al, 0x13
jne 0x20224b60
jmp 0x20224f19
xor eax, eax
lea rcx, [0x2046f2e0]
lea rdx, [0x203826f0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224b90
mov al, 0x33
xchg byte [0x2046f2ed], al
lea rax, [0x2046f2e0]
ret
movzx eax, byte [0x2046f1a2]
cmp al, 0xf3
je 0x20224f59
mov cl, 0xa0
nop word cs:[rax + rax]
mov al, 0x15
lock cmpxchg byte [0x2046f1a2], cl
je 0x20224f21
cmp al, 0xf3
jne 0x20224bd0
jmp 0x20224f59
movzx eax, byte [0x2046f1dd]
cmp al, 0x1d
je 0x20224f99
mov cl, 0x97
nop word [rax + rax]
mov al, 0xef
lock cmpxchg byte [0x2046f1dd], cl
je 0x20224f61
cmp al, 0x1d
jne 0x20224c00
jmp 0x20224f99
movzx eax, byte [0x2046f271]
cmp al, 0xaa
je 0x20224fd9
mov cl, 0x41
nop word [rax + rax]
mov al, 0x4e
lock cmpxchg byte [0x2046f271], cl
je 0x20224fa1
cmp al, 0xaa
jne 0x20224c30
jmp 0x20224fd9
xor eax, eax
lea rcx, [0x2046f210]
lea rdx, [0x20382620]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224c60
mov al, 0x85
xchg byte [0x2046f21d], al
lea rax, [0x2046f210]
ret
xor eax, eax
lea rcx, [0x2046f310]
lea rdx, [0x20382720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xc
jl 0x20224ca0
mov al, 0xca
xchg byte [0x2046f31c], al
lea rax, [0x2046f310]
ret
xor eax, eax
lea rcx, [0x2046f240]
lea rdx, [0x20382650]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20224ce0
mov al, 0xa4
xchg byte [0x2046f24f], al
lea rax, [0x2046f240]
ret
xor eax, eax
lea rcx, [0x2046f250]
lea rdx, [0x20382660]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224d20
mov al, 0xd7
xchg byte [0x2046f25d], al
lea rax, [0x2046f250]
ret
movzx eax, byte [0x2046f20a]
cmp al, 0xcd
je 0x2022500a
mov cl, 0x65
mov al, 0xcf
lock cmpxchg byte [0x2046f20a], cl
je 0x20224fe1
cmp al, 0xcd
jne 0x20224d52
jmp 0x2022500a
xor eax, eax
lea rcx, [0x2046f1f0]
lea rdx, [0x20382600]
nop dword [rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224d80
mov al, 0x9b
xchg byte [0x2046f1fd], al
lea rax, [0x2046f1f0]
ret
xor eax, eax
lea rcx, [0x2046f120]
lea rdx, [0x20382530]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x20224dc0
mov al, 0x34
xchg byte [0x2046f143], al
lea rax, [0x2046f120]
ret
xor eax, eax
lea rcx, [0x2046f320]
lea rdx, [0x20382730]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224e00
mov al, 0x50
xchg byte [0x2046f32d], al
lea rax, [0x2046f320]
ret
xor eax, eax
lea rcx, [0x2046f280]
lea rdx, [0x20382690]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224e40
mov al, 0xb4
xchg byte [0x2046f28d], al
lea rax, [0x2046f280]
ret
xor eax, eax
lea rcx, [0x2046f2a0]
lea rdx, [0x203826b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224e80
mov al, 0xc0
xchg byte [0x2046f2ad], al
lea rax, [0x2046f2a0]
ret
xor eax, eax
lea rcx, [0x2046f2f0]
lea rdx, [0x20382700]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224ec0
mov al, 0x20
xchg byte [0x2046f2fd], al
lea rax, [0x2046f2f0]
ret
xor eax, eax
lea rcx, [0x2046f110]
lea rdx, [0x20382520]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20224f00
mov al, 0x13
xchg byte [0x2046f113], al
lea rax, [0x2046f110]
ret
xor eax, eax
lea rcx, [0x2046f1a0]
lea rdx, [0x203825b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x20224f40
mov al, 0xf3
xchg byte [0x2046f1a2], al
lea rax, [0x2046f1a0]
ret
xor eax, eax
lea rcx, [0x2046f1d0]
lea rdx, [0x203825e0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x20224f80
mov al, 0x1d
xchg byte [0x2046f1dd], al
lea rax, [0x2046f1d0]
ret
xor eax, eax
lea rcx, [0x2046f260]
lea rdx, [0x20382670]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x20224fc0
mov al, 0xaa
xchg byte [0x2046f271], al
lea rax, [0x2046f260]
ret
xor eax, eax
lea rcx, [0x2046f200]
lea rdx, [0x20382610]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xa
jl 0x20224ff1
mov al, 0xcd
xchg byte [0x2046f20a], al
lea rax, [0x2046f200]
ret