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

Disassembly:
push rsi
push rdi
sub rsp, 0x38
test ecx, ecx
je 0x1401f91a9
test edx, edx
je 0x1401f91f9
test r8d, r8d
je 0x1401f9239
test r9d, r9d
je 0x1401f92b9
movzx eax, byte [0x1404ac07e]
cmp al, 0xee
je 0x1401f9469
mov cl, 0xeb
nop word cs:[rax + rax]
mov al, 0xda
lock cmpxchg byte [0x1404ac07e], cl
je 0x1401f9439
cmp al, 0xee
jne 0x1401f9190
jmp 0x1401f9469
test edx, edx
je 0x1401f9279
test r8d, r8d
je 0x1401f92e9
test r9d, r9d
je 0x1401f9369
movzx eax, byte [0x1404abc05]
cmp al, 0x4e
je 0x1401f9539
mov cl, 6
nop word cs:[rax + rax]
mov al, 0x2c
lock cmpxchg byte [0x1404abc05], cl
je 0x1401f9509
cmp al, 0x4e
jne 0x1401f91e0
jmp 0x1401f9539
test r8d, r8d
je 0x1401f9329
test r9d, r9d
je 0x1401f9399
movzx eax, byte [0x1404aba43]
cmp al, 0xdb
je 0x1401f9579
mov cl, 0x43
nop dword [rax]
mov al, 0x4c
lock cmpxchg byte [0x1404aba43], cl
je 0x1401f9545
cmp al, 0xdb
jne 0x1401f9220
jmp 0x1401f9579
test r9d, r9d
je 0x1401f93c9
movzx eax, byte [0x1404abdf2]
cmp al, 0x59
je 0x1401f95b9
mov cl, 0xbe
nop word cs:[rax + rax]
mov al, 0xb2
lock cmpxchg byte [0x1404abdf2], cl
je 0x1401f9585
cmp al, 0x59
jne 0x1401f9260
jmp 0x1401f95b9
test r8d, r8d
je 0x1401f93f9
test r9d, r9d
je 0x1401f9475
movzx eax, byte [0x1404ab6f6]
cmp al, 0x9c
je 0x1401f9659
mov cl, 0xb1
nop dword [rax]
mov al, 0x55
lock cmpxchg byte [0x1404ab6f6], cl
je 0x1401f962f
cmp al, 0x9c
jne 0x1401f92a0
jmp 0x1401f9659
movzx eax, byte [0x1404ab829]
cmp al, 0x1c
je 0x1401f95f9
mov cl, 0x2f
nop word [rax + rax]
mov al, 0xfe
lock cmpxchg byte [0x1404ab829], cl
je 0x1401f95c5
cmp al, 0x1c
jne 0x1401f92d0
jmp 0x1401f95f9
test r9d, r9d
je 0x1401f94a9
movzx eax, byte [0x1404ab7e2]
cmp al, 0xef
je 0x1401f9699
mov cl, 0xf3
nop word cs:[rax + rax]
mov al, 0xa9
lock cmpxchg byte [0x1404ab7e2], cl
je 0x1401f9665
cmp al, 0xef
jne 0x1401f9310
jmp 0x1401f9699
test r9d, r9d
je 0x1401f94d9
movzx eax, byte [0x1404ab833]
cmp al, 0x11
je 0x1401f96d9
mov cl, 0xae
nop word cs:[rax + rax]
mov al, 0xf9
lock cmpxchg byte [0x1404ab833], cl
je 0x1401f96a5
cmp al, 0x11
jne 0x1401f9350
jmp 0x1401f96d9
movzx eax, byte [0x1404abb08]
cmp al, 0xe8
je 0x1401f9719
mov cl, 0xee
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x1404abb08], cl
je 0x1401f96e5
cmp al, 0xe8
jne 0x1401f9380
jmp 0x1401f9719
movzx eax, byte [0x1404ab86a]
cmp al, 0xc
je 0x1401f97b9
mov cl, 0xfd
nop word [rax + rax]
mov al, 0x33
lock cmpxchg byte [0x1404ab86a], cl
je 0x1401f9725
cmp al, 0xc
jne 0x1401f93b0
jmp 0x1401f97b9
movzx eax, byte [0x1404abb47]
cmp al, 0xcd
je 0x1401f97f9
mov cl, 8
nop word [rax + rax]
mov al, 0x31
lock cmpxchg byte [0x1404abb47], cl
je 0x1401f97c5
cmp al, 0xcd
jne 0x1401f93e0
jmp 0x1401f97f9
test r9d, r9d
je 0x1401f9605
movzx eax, byte [0x1404ab8c1]
cmp al, 0x7c
je 0x1401f9839
mov cl, 0xac
nop word cs:[rax + rax]
mov al, 0x9f
lock cmpxchg byte [0x1404ab8c1], cl
je 0x1401f9805
cmp al, 0x7c
jne 0x1401f9420
jmp 0x1401f9839
xor eax, eax
lea rcx, [0x1404ac070]
lea rdx, [0x1403c4580]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xe
jl 0x1401f9450
mov al, 0xee
xchg byte [0x1404ac07e], al
lea rax, [0x1404ac070]
jmp 0x1401f9932
movzx eax, byte [0x1404ac14f]
cmp al, 0x99
je 0x1401f9879
mov cl, 0x1d
nop word cs:[rax + rax]
mov al, 0x90
lock cmpxchg byte [0x1404ac14f], cl
je 0x1401f9845
cmp al, 0x99
jne 0x1401f9490
jmp 0x1401f9879
movzx eax, byte [0x1404abe2d]
cmp al, 0x71
je 0x1401f98b9
mov cl, 0xfa
nop word [rax + rax]
mov al, 0xc3
lock cmpxchg byte [0x1404abe2d], cl
je 0x1401f9885
cmp al, 0x71
jne 0x1401f94c0
jmp 0x1401f98b9
movzx eax, byte [0x1404ac04d]
cmp al, 0xc8
je 0x1401f98f9
mov cl, 0x5f
nop word [rax + rax]
mov al, 0xd8
lock cmpxchg byte [0x1404ac04d], cl
je 0x1401f98c2
cmp al, 0xc8
jne 0x1401f94f0
jmp 0x1401f98f9
xor eax, eax
lea rcx, [0x1404abc00]
lea rdx, [0x1403c4120]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1401f9520
mov al, 0x4e
xchg byte [0x1404abc05], al
lea rax, [0x1404abc00]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404aba20]
lea rdx, [0x1403c3f50]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1401f9560
mov al, 0xdb
xchg byte [0x1404aba43], al
lea rax, [0x1404aba20]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404abde0]
lea rdx, [0x1403c42f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401f95a0
mov al, 0x59
xchg byte [0x1404abdf2], al
lea rax, [0x1404abde0]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ab820]
lea rdx, [0x1403c3b70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1401f95e0
mov al, 0x1c
xchg byte [0x1404ab829], al
lea rax, [0x1404ab820]
jmp 0x1401f9932
movzx eax, byte [0x1404ac2da]
cmp al, 7
je 0x1401f992b
mov cl, 0xd9
mov al, 0x99
lock cmpxchg byte [0x1404ac2da], cl
je 0x1401f9902
cmp al, 7
jne 0x1401f9616
jmp 0x1401f992b
xor eax, eax
lea rcx, [0x1404ab6f0]
lea rdx, [0x1403c3a60]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1401f9640
mov al, 0x9c
xchg byte [0x1404ab6f6], al
lea rax, [0x1404ab6f0]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ab7d0]
lea rdx, [0x1403c3b30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1401f9680
mov al, 0xef
xchg byte [0x1404ab7e2], al
lea rax, [0x1404ab7d0]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ab830]
lea rdx, [0x1403c3b80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1401f96c0
mov al, 0x11
xchg byte [0x1404ab833], al
lea rax, [0x1404ab830]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404abaf0]
lea rdx, [0x1403c4020]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x1401f9700
mov al, 0xe8
xchg byte [0x1404abb08], al
lea rax, [0x1404abaf0]
jmp 0x1401f9932
cmp qword [0x1404ef020], 0
jne 0x1401f9785
mov dword [rsp + 0x28], 0x1f411150
mov qword [rsp + 0x20], 0
xor edi, edi
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.1401f7d00
mov rsi, rax
mov qword [0x1404ef020], rax
lea rcx, [0x1401f7bc0]
mov edx, 0x8361c00d
call fcn.140137f30
lea rax, [0x1403c3be0]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x1401f9776
mov rax, qword [0x1404ef020]
xor ecx, ecx
lea rdx, [0x1403c3bf0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1401f97a0
mov al, 0xc
xchg byte [0x1404ab86a], al
mov rax, qword [0x1404ef020]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404abb10]
lea rdx, [0x1403c4040]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x37
jl 0x1401f97e0
mov al, 0xcd
xchg byte [0x1404abb47], al
lea rax, [0x1404abb10]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ab880]
lea rdx, [0x1403c3c10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x41
jl 0x1401f9820
mov al, 0x7c
xchg byte [0x1404ab8c1], al
lea rax, [0x1404ab880]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ac140]
lea rdx, [0x1403c4650]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401f9860
mov al, 0x99
xchg byte [0x1404ac14f], al
lea rax, [0x1404ac140]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404abe20]
lea rdx, [0x1403c4330]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f98a0
mov al, 0x71
xchg byte [0x1404abe2d], al
lea rax, [0x1404abe20]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ac040]
lea rdx, [0x1403c4550]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x1401f98e0
mov al, 0xc8
xchg byte [0x1404ac04d], al
lea rax, [0x1404ac040]
jmp 0x1401f9932
xor eax, eax
lea rcx, [0x1404ac2c0]
lea rdx, [0x1403c47a0]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1a
jl 0x1401f9912
mov al, 7
xchg byte [0x1404ac2da], al
lea rax, [0x1404ac2c0]
add rsp, 0x38
pop rdi
pop rsi
ret