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

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
mov esi, dword [rsp + 0x70]
test ecx, ecx
je 0x201b13e9
test edx, edx
je 0x201b1439
test r8d, r8d
je 0x201b1479
test r9d, r9d
je 0x201b14f9
movzx eax, byte [0x2045f4e1]
cmp al, 0xb4
je 0x201b16a9
mov cl, 0xa0
nop word [rax + rax]
mov al, 0x12
lock cmpxchg byte [0x2045f4e1], cl
je 0x201b1679
cmp al, 0xb4
jne 0x201b13d0
jmp 0x201b16a9
test edx, edx
je 0x201b14b9
test r8d, r8d
je 0x201b1529
test r9d, r9d
je 0x201b15a9
movzx eax, byte [0x2045f6ed]
cmp al, 0x1b
je 0x201b1779
mov cl, 0x7e
nop word cs:[rax + rax]
mov al, 0x6a
lock cmpxchg byte [0x2045f6ed], cl
je 0x201b1749
cmp al, 0x1b
jne 0x201b1420
jmp 0x201b1779
test r8d, r8d
je 0x201b1569
test r9d, r9d
je 0x201b15d9
movzx eax, byte [0x2045f20b]
cmp al, 0xcc
je 0x201b17b9
mov cl, 0xbc
nop dword [rax]
mov al, 0x86
lock cmpxchg byte [0x2045f20b], cl
je 0x201b1785
cmp al, 0xcc
jne 0x201b1460
jmp 0x201b17b9
test r9d, r9d
je 0x201b1609
movzx eax, byte [0x2045f096]
cmp al, 0xb2
je 0x201b17f9
mov cl, 0x4c
nop word cs:[rax + rax]
mov al, 0x69
lock cmpxchg byte [0x2045f096], cl
je 0x201b17c5
cmp al, 0xb2
jne 0x201b14a0
jmp 0x201b17f9
test r8d, r8d
je 0x201b1639
test r9d, r9d
je 0x201b16b5
movzx eax, byte [0x2045f42d]
cmp al, 0x51
je 0x201b1899
mov cl, 0x55
nop dword [rax]
mov al, 0x7b
lock cmpxchg byte [0x2045f42d], cl
je 0x201b186f
cmp al, 0x51
jne 0x201b14e0
jmp 0x201b1899
movzx eax, byte [0x2045f037]
cmp al, 0xef
je 0x201b1839
mov cl, 0xe9
nop word [rax + rax]
mov al, 0x1c
lock cmpxchg byte [0x2045f037], cl
je 0x201b1805
cmp al, 0xef
jne 0x201b1510
jmp 0x201b1839
test r9d, r9d
je 0x201b16e9
movzx eax, byte [0x2045ef9b]
cmp al, 0xb1
je 0x201b1939
mov cl, 0x98
nop word cs:[rax + rax]
mov al, 0x56
lock cmpxchg byte [0x2045ef9b], cl
je 0x201b18a5
cmp al, 0xb1
jne 0x201b1550
jmp 0x201b1939
test r9d, r9d
je 0x201b1719
movzx eax, byte [0x2045f41d]
cmp al, 0xc
je 0x201b1979
mov cl, 0x9f
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x2045f41d], cl
je 0x201b1945
cmp al, 0xc
jne 0x201b1590
jmp 0x201b1979
movzx eax, byte [0x2045f29e]
cmp al, 0x9f
je 0x201b19b9
mov cl, 0x68
nop word [rax + rax]
mov al, 0xc3
lock cmpxchg byte [0x2045f29e], cl
je 0x201b1985
cmp al, 0x9f
jne 0x201b15c0
jmp 0x201b19b9
movzx eax, byte [0x2045f27b]
cmp al, 0xc1
je 0x201b19f9
mov cl, 0x44
nop word [rax + rax]
mov al, 0x49
lock cmpxchg byte [0x2045f27b], cl
je 0x201b19c5
cmp al, 0xc1
jne 0x201b15f0
jmp 0x201b19f9
movzx eax, byte [0x2045f59d]
cmp al, 0x74
je 0x201b1a39
mov cl, 0x7b
nop word [rax + rax]
mov al, 0x61
lock cmpxchg byte [0x2045f59d], cl
je 0x201b1a05
cmp al, 0x74
jne 0x201b1620
jmp 0x201b1a39
test r9d, r9d
je 0x201b1845
movzx eax, byte [0x2045f7dd]
cmp al, 0xb2
je 0x201b1a79
mov cl, 0x7c
nop word cs:[rax + rax]
mov al, 0x85
lock cmpxchg byte [0x2045f7dd], cl
je 0x201b1a45
cmp al, 0xb2
jne 0x201b1660
jmp 0x201b1a79
xor eax, eax
lea rcx, [0x2045f4d0]
lea rdx, [0x20379440]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x201b1690
mov al, 0xb4
xchg byte [0x2045f4e1], al
lea rax, [0x2045f4d0]
jmp 0x201b1c32
movzx eax, byte [0x2045f38d]
cmp al, 0x11
je 0x201b1ab9
mov cl, 0xe3
nop word cs:[rax + rax]
mov al, 0x3a
lock cmpxchg byte [0x2045f38d], cl
je 0x201b1a85
cmp al, 0x11
jne 0x201b16d0
jmp 0x201b1ab9
movzx eax, byte [0x2045ef98]
cmp al, 0x82
je 0x201b1b59
mov cl, 0xa4
nop word [rax + rax]
mov al, 0x44
lock cmpxchg byte [0x2045ef98], cl
je 0x201b1ac5
cmp al, 0x82
jne 0x201b1700
jmp 0x201b1b59
movzx eax, byte [0x2045ef97]
cmp al, 0xe0
je 0x201b1bf9
mov cl, 0x2b
nop word [rax + rax]
mov al, 0x80
lock cmpxchg byte [0x2045ef97], cl
je 0x201b1b65
cmp al, 0xe0
jne 0x201b1730
jmp 0x201b1bf9
xor eax, eax
lea rcx, [0x2045f6e0]
lea rdx, [0x20379650]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1760
mov al, 0x1b
xchg byte [0x2045f6ed], al
lea rax, [0x2045f6e0]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f200]
lea rdx, [0x20379180]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201b17a0
mov al, 0xcc
xchg byte [0x2045f20b], al
lea rax, [0x2045f200]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f040]
lea rdx, [0x20378fd0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x56
jl 0x201b17e0
mov al, 0xb2
xchg byte [0x2045f096], al
lea rax, [0x2045f040]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f030]
lea rdx, [0x20378fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x201b1820
mov al, 0xef
xchg byte [0x2045f037], al
lea rax, [0x2045f030]
jmp 0x201b1c32
movzx eax, byte [0x2045f3bd]
cmp al, 0x31
je 0x201b1c2b
mov cl, 0x95
mov al, 0x41
lock cmpxchg byte [0x2045f3bd], cl
je 0x201b1c02
cmp al, 0x31
jne 0x201b1856
jmp 0x201b1c2b
xor eax, eax
lea rcx, [0x2045f420]
lea rdx, [0x20379390]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1880
mov al, 0x51
xchg byte [0x2045f42d], al
lea rax, [0x2045f420]
jmp 0x201b1c32
cmp qword [0x204a2620], 0
jne 0x201b190b
mov eax, esi
xor eax, 0x54eced07
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x18
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a2620], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x201ad770]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378ed0]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x16
jle 0x201b18fc
mov rax, qword [0x204a2620]
xor ecx, ecx
lea rdx, [0x20378ef0]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x17
jl 0x201b1920
mov al, 0xb1
xchg byte [0x2045ef9b], al
mov rax, qword [0x204a2620]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f410]
lea rdx, [0x20379380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1960
mov al, 0xc
xchg byte [0x2045f41d], al
lea rax, [0x2045f410]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f290]
lea rdx, [0x20379210]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x201b19a0
mov al, 0x9f
xchg byte [0x2045f29e], al
lea rax, [0x2045f290]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f270]
lea rdx, [0x203791f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x201b19e0
mov al, 0xc1
xchg byte [0x2045f27b], al
lea rax, [0x2045f270]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f590]
lea rdx, [0x20379500]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1a20
mov al, 0x74
xchg byte [0x2045f59d], al
lea rax, [0x2045f590]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f7d0]
lea rdx, [0x20379720]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1a60
mov al, 0xb2
xchg byte [0x2045f7dd], al
lea rax, [0x2045f7d0]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f380]
lea rdx, [0x203792f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1aa0
mov al, 0x11
xchg byte [0x2045f38d], al
lea rax, [0x2045f380]
jmp 0x201b1c32
cmp qword [0x204a2608], 0
jne 0x201b1b2b
mov eax, esi
xor eax, 0x54eced07
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x10
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a2608], rax
xor esi, 0xc8cc3c5a
lea rcx, [0x201ad710]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378e70]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0xe
jle 0x201b1b1c
mov rax, qword [0x204a2608]
xor ecx, ecx
lea rdx, [0x20378e80]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0xf
jl 0x201b1b40
mov al, 0x82
xchg byte [0x2045ef98], al
mov rax, qword [0x204a2608]
jmp 0x201b1c32
cmp qword [0x204a2600], 0
jne 0x201b1bcb
mov eax, esi
xor eax, 0x36a7ba04
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 0x12
xor r9d, r9d
call fcn.201ad7b0
mov rdi, rax
mov qword [0x204a2600], rax
xor esi, 0xaa876b59
lea rcx, [0x201ad6f0]
mov edx, esi
call fcn.200ec9f0
lea rax, [0x20378e30]
movzx ecx, byte [rbx + rax]
mov byte [rdi + rbx], cl
inc rbx
cmp ebx, 0x10
jle 0x201b1bbc
mov rax, qword [0x204a2600]
xor ecx, ecx
lea rdx, [0x20378e50]
nop dword [rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 0x11
jl 0x201b1be0
mov al, 0xe0
xchg byte [0x2045ef97], al
mov rax, qword [0x204a2600]
jmp 0x201b1c32
xor eax, eax
lea rcx, [0x2045f3b0]
lea rdx, [0x20379320]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x201b1c12
mov al, 0x31
xchg byte [0x2045f3bd], al
lea rax, [0x2045f3b0]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret