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

Disassembly:
test ecx, ecx
je 0x2029567c
test edx, edx
je 0x202956bc
test r8d, r8d
je 0x202956fc
test r9d, r9d
je 0x2029577c
movzx eax, byte [0x204803fb]
cmp al, 0x7a
je 0x20295674
mov cl, 0xea
nop dword [rax + rax]
mov al, 0x58
lock cmpxchg byte [0x204803fb], cl
je 0x202958b9
cmp al, 0x7a
jne 0x20295660
lea rax, [0x204803e0]
ret
test edx, edx
je 0x2029573c
movzx eax, byte [0x2048041a]
cmp al, 0x66
je 0x202956b4
mov cl, 0x47
nop word cs:[rax + rax]
mov al, 0xe3
lock cmpxchg byte [0x2048041a], cl
je 0x202957e9
cmp al, 0x66
jne 0x202956a0
lea rax, [0x20480400]
ret
test r8d, r8d
je 0x202957ac
test r9d, r9d
je 0x20295821
movzx eax, byte [0x20480334]
cmp al, 0xbd
je 0x202956f4
mov cl, 0x68
nop dword [rax + rax]
mov al, 0x34
lock cmpxchg byte [0x20480334], cl
je 0x20295929
cmp al, 0xbd
jne 0x202956e0
lea rax, [0x20480330]
ret
test r9d, r9d
je 0x20295859
movzx eax, byte [0x204804af]
cmp al, 0x83
je 0x20295734
mov cl, 0xc6
nop word cs:[rax + rax]
mov al, 0x4f
lock cmpxchg byte [0x204804af], cl
je 0x20295961
cmp al, 0x83
jne 0x20295720
lea rax, [0x204804a0]
ret
test r8d, r8d
je 0x20295889
movzx eax, byte [0x20480453]
cmp al, 0x6a
je 0x20295774
mov cl, 0x6e
nop word cs:[rax + rax]
mov al, 0x59
lock cmpxchg byte [0x20480453], cl
je 0x202959e1
cmp al, 0x6a
jne 0x20295760
lea rax, [0x20480450]
ret
movzx eax, byte [0x204804f2]
cmp al, 0x35
je 0x202957a4
mov cl, 0xfa
nop dword [rax]
mov al, 0x4f
lock cmpxchg byte [0x204804f2], cl
je 0x202959a1
cmp al, 0x35
jne 0x20295790
lea rax, [0x204804f0]
ret
test r9d, r9d
je 0x202958f1
movzx eax, byte [0x204803d0]
cmp al, 3
je 0x20295a59
mov cl, 0xef
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x204803d0], cl
je 0x20295a21
cmp al, 3
jne 0x202957d0
jmp 0x20295a59
xor eax, eax
lea rcx, [0x20480400]
lea rdx, [0x20396d20]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x20295800
mov al, 0x66
xchg byte [0x2048041a], al
lea rax, [0x20480400]
ret
movzx eax, byte [0x2048049b]
cmp al, 0x68
je 0x20295a99
mov cl, 0xee
nop word cs:[rax + rax]
mov al, 0xa1
lock cmpxchg byte [0x2048049b], cl
je 0x20295a61
cmp al, 0x68
jne 0x20295840
jmp 0x20295a99
movzx eax, byte [0x2048050b]
cmp al, 0xe6
je 0x20295ad9
mov cl, 0x2d
nop word [rax + rax]
mov al, 0x37
lock cmpxchg byte [0x2048050b], cl
je 0x20295aa1
cmp al, 0xe6
jne 0x20295870
jmp 0x20295ad9
movzx eax, byte [0x2048054b]
cmp al, 0x37
je 0x20295b19
mov cl, 0x58
nop word [rax + rax]
mov al, 0x55
lock cmpxchg byte [0x2048054b], cl
je 0x20295ae1
cmp al, 0x37
jne 0x202958a0
jmp 0x20295b19
xor eax, eax
lea rcx, [0x204803e0]
lea rdx, [0x20396d00]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1b
jl 0x202958d0
mov al, 0x7a
xchg byte [0x204803fb], al
lea rax, [0x204803e0]
ret
movzx eax, byte [0x20480445]
cmp al, 0xcd
je 0x20295b59
mov cl, 0xaf
nop word cs:[rax + rax]
mov al, 0x41
lock cmpxchg byte [0x20480445], cl
je 0x20295b21
cmp al, 0xcd
jne 0x20295910
jmp 0x20295b59
xor eax, eax
lea rcx, [0x20480330]
lea rdx, [0x20396c60]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 4
jl 0x20295940
mov al, 0xbd
xchg byte [0x20480334], al
lea rax, [0x20480330]
ret
xor eax, eax
lea rcx, [0x204804a0]
lea rdx, [0x20396dc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x20295980
mov al, 0x83
xchg byte [0x204804af], al
lea rax, [0x204804a0]
ret
xor eax, eax
lea rcx, [0x204804f0]
lea rdx, [0x20396e10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x202959c0
mov al, 0x35
xchg byte [0x204804f2], al
lea rax, [0x204804f0]
ret
xor eax, eax
lea rcx, [0x20480450]
lea rdx, [0x20396d70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x20295a00
mov al, 0x6a
xchg byte [0x20480453], al
lea rax, [0x20480450]
ret
xor eax, eax
lea rcx, [0x204803c0]
lea rdx, [0x20396cf0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x20295a40
mov al, 3
xchg byte [0x204803d0], al
lea rax, [0x204803c0]
ret
xor eax, eax
lea rcx, [0x20480490]
lea rdx, [0x20396db0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20295a80
mov al, 0x68
xchg byte [0x2048049b], al
lea rax, [0x20480490]
ret
xor eax, eax
lea rcx, [0x20480500]
lea rdx, [0x20396e20]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20295ac0
mov al, 0xe6
xchg byte [0x2048050b], al
lea rax, [0x20480500]
ret
xor eax, eax
lea rcx, [0x20480540]
lea rdx, [0x20396e60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x20295b00
mov al, 0x37
xchg byte [0x2048054b], al
lea rax, [0x20480540]
ret
xor eax, eax
lea rcx, [0x20480440]
lea rdx, [0x20396d60]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x20295b40
mov al, 0xcd
xchg byte [0x20480445], al
lea rax, [0x20480440]
ret