Function at 0x1400867c0
Capabilities:
Authenticate hmac
Check for software breakpoints
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
test ecx, ecx
je 0x140086819
test edx, edx
je 0x140086869
test r8d, r8d
je 0x1400868a9
test r9d, r9d
je 0x140086929
movzx eax, byte [0x140484096]
cmp al, 0xe0
je 0x140086ad9
mov cl, 0x5d
nop word cs:[rax + rax]
mov al, 0x91
lock cmpxchg byte [0x140484096], cl
je 0x140086aa9
cmp al, 0xe0
jne 0x140086800
jmp 0x140086ad9
test edx, edx
je 0x1400868e9
test r8d, r8d
je 0x140086959
test r9d, r9d
je 0x1400869d9
movzx eax, byte [0x1404843cd]
cmp al, 0x93
je 0x140086ba9
mov cl, 0x71
nop word cs:[rax + rax]
mov al, 0xd5
lock cmpxchg byte [0x1404843cd], cl
je 0x140086b79
cmp al, 0x93
jne 0x140086850
jmp 0x140086ba9
test r8d, r8d
je 0x140086999
test r9d, r9d
je 0x140086a09
movzx eax, byte [0x1404843b4]
cmp al, 0xa
je 0x140086be9
mov cl, 0x7d
nop dword [rax]
mov al, 0x9b
lock cmpxchg byte [0x1404843b4], cl
je 0x140086bb5
cmp al, 0xa
jne 0x140086890
jmp 0x140086be9
test r9d, r9d
je 0x140086a39
movzx eax, byte [0x1404843ed]
cmp al, 0x4b
je 0x140086c29
mov cl, 0x80
nop word cs:[rax + rax]
mov al, 0xf1
lock cmpxchg byte [0x1404843ed], cl
je 0x140086bf5
cmp al, 0x4b
jne 0x1400868d0
jmp 0x140086c29
test r8d, r8d
je 0x140086a69
test r9d, r9d
je 0x140086ae5
movzx eax, byte [0x1404842f2]
cmp al, 0x20
je 0x140086cc9
mov cl, 0xd2
nop dword [rax]
mov al, 0xd4
lock cmpxchg byte [0x1404842f2], cl
je 0x140086c9f
cmp al, 0x20
jne 0x140086910
jmp 0x140086cc9
movzx eax, byte [0x14048439d]
cmp al, 0x9f
je 0x140086c69
mov cl, 0x91
nop word [rax + rax]
mov al, 0xbc
lock cmpxchg byte [0x14048439d], cl
je 0x140086c35
cmp al, 0x9f
jne 0x140086940
jmp 0x140086c69
test r9d, r9d
je 0x140086b19
movzx eax, byte [0x14048436d]
cmp al, 0xf8
je 0x140086d09
mov cl, 0xc8
nop word cs:[rax + rax]
mov al, 0x65
lock cmpxchg byte [0x14048436d], cl
je 0x140086cd5
cmp al, 0xf8
jne 0x140086980
jmp 0x140086d09
test r9d, r9d
je 0x140086b49
movzx eax, byte [0x1404840d2]
cmp al, 0xab
je 0x140086d49
mov cl, 0xc
nop word cs:[rax + rax]
mov al, 0xfc
lock cmpxchg byte [0x1404840d2], cl
je 0x140086d15
cmp al, 0xab
jne 0x1400869c0
jmp 0x140086d49
movzx eax, byte [0x140484135]
cmp al, 0x5c
je 0x140086d89
mov cl, 0xf7
nop word [rax + rax]
mov al, 0xd9
lock cmpxchg byte [0x140484135], cl
je 0x140086d55
cmp al, 0x5c
jne 0x1400869f0
jmp 0x140086d89
movzx eax, byte [0x1404840f8]
cmp al, 0xd8
je 0x140086dc9
mov cl, 0xb
nop word [rax + rax]
mov al, 0xc6
lock cmpxchg byte [0x1404840f8], cl
je 0x140086d95
cmp al, 0xd8
jne 0x140086a20
jmp 0x140086dc9
movzx eax, byte [0x140484221]
cmp al, 0x51
je 0x140086e09
mov cl, 0x6f
nop word [rax + rax]
mov al, 0xc5
lock cmpxchg byte [0x140484221], cl
je 0x140086dd5
cmp al, 0x51
jne 0x140086a50
jmp 0x140086e09
test r9d, r9d
je 0x140086c75
movzx eax, byte [0x1404841f5]
cmp al, 0x42
je 0x140086eb9
mov edi, dword [rsp + 0x70]
mov cl, 0xe0
nop word [rax + rax]
mov al, 0xc8
lock cmpxchg byte [0x1404841f5], cl
je 0x140086e15
cmp al, 0x42
jne 0x140086a90
jmp 0x140086eb9
xor eax, eax
lea rcx, [0x140484090]
lea rdx, [0x1403b9030]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x140086ac0
mov al, 0xe0
xchg byte [0x140484096], al
lea rax, [0x140484090]
jmp 0x140086fb2
movzx eax, byte [0x1404841f3]
cmp al, 0x95
je 0x140086ef9
mov cl, 0x5d
nop word cs:[rax + rax]
mov al, 0x6f
lock cmpxchg byte [0x1404841f3], cl
je 0x140086ec5
cmp al, 0x95
jne 0x140086b00
jmp 0x140086ef9
movzx eax, byte [0x140484175]
cmp al, 0x2b
je 0x140086f39
mov cl, 0xe9
nop word [rax + rax]
mov al, 0x9a
lock cmpxchg byte [0x140484175], cl
je 0x140086f05
cmp al, 0x2b
jne 0x140086b30
jmp 0x140086f39
movzx eax, byte [0x1404843df]
cmp al, 0xcc
je 0x140086f79
mov cl, 0x36
nop word [rax + rax]
mov al, 0x92
lock cmpxchg byte [0x1404843df], cl
je 0x140086f42
cmp al, 0xcc
jne 0x140086b60
jmp 0x140086f79
xor eax, eax
lea rcx, [0x1404843c0]
lea rdx, [0x1403b93a0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140086b90
mov al, 0x93
xchg byte [0x1404843cd], al
lea rax, [0x1404843c0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404843a0]
lea rdx, [0x1403b9380]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x14
jl 0x140086bd0
mov al, 0xa
xchg byte [0x1404843b4], al
lea rax, [0x1404843a0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404843e0]
lea rdx, [0x1403b93c0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140086c10
mov al, 0x4b
xchg byte [0x1404843ed], al
lea rax, [0x1404843e0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484390]
lea rdx, [0x1403b9370]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140086c50
mov al, 0x9f
xchg byte [0x14048439d], al
lea rax, [0x140484390]
jmp 0x140086fb2
movzx eax, byte [0x14048432d]
cmp al, 0xad
je 0x140086fab
mov cl, 0x56
mov al, 0x68
lock cmpxchg byte [0x14048432d], cl
je 0x140086f82
cmp al, 0xad
jne 0x140086c86
jmp 0x140086fab
xor eax, eax
lea rcx, [0x1404842f0]
lea rdx, [0x1403b92d0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140086cb0
mov al, 0x20
xchg byte [0x1404842f2], al
lea rax, [0x1404842f0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484360]
lea rdx, [0x1403b9340]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140086cf0
mov al, 0xf8
xchg byte [0x14048436d], al
lea rax, [0x140484360]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404840c0]
lea rdx, [0x1403b9060]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140086d30
mov al, 0xab
xchg byte [0x1404840d2], al
lea rax, [0x1404840c0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484120]
lea rdx, [0x1403b90b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140086d70
mov al, 0x5c
xchg byte [0x140484135], al
lea rax, [0x140484120]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404840e0]
lea rdx, [0x1403b9080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x18
jl 0x140086db0
mov al, 0xd8
xchg byte [0x1404840f8], al
lea rax, [0x1404840e0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484210]
lea rdx, [0x1403b91f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x140086df0
mov al, 0x51
xchg byte [0x140484221], al
lea rax, [0x140484210]
jmp 0x140086fb2
cmp qword [0x1404ee368], 0
jne 0x140086e83
mov eax, edi
xor eax, 0x40a003f
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 0
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov r8d, 4
xor r9d, r9d
call fcn.140085560
mov rsi, rax
mov qword [0x1404ee368], rax
xor edi, 0x5b21792e
mov dword [rsp + 0x20], edi
lea r8, [0x140084bd0]
xor ecx, ecx
xor edx, edx
xor r9d, r9d
call fcn.140084ec0
lea rax, [0x1403b91a0]
movzx ecx, byte [rbx + rax]
mov byte [rsi + rbx], cl
inc rbx
cmp ebx, 2
jle 0x140086e74
mov rax, qword [0x1404ee368]
xor ecx, ecx
lea rdx, [0x1403b91b0]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
xor byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140086ea0
mov al, 0x42
xchg byte [0x1404841f5], al
mov rax, qword [0x1404ee368]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404841f0]
lea rdx, [0x1403b9170]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140086ee0
mov al, 0x95
xchg byte [0x1404841f3], al
lea rax, [0x1404841f0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484160]
lea rdx, [0x1403b90f0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140086f20
mov al, 0x2b
xchg byte [0x140484175], al
lea rax, [0x140484160]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x1404843d0]
lea rdx, [0x1403b93b0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x140086f60
mov al, 0xcc
xchg byte [0x1404843df], al
lea rax, [0x1404843d0]
jmp 0x140086fb2
xor eax, eax
lea rcx, [0x140484320]
lea rdx, [0x1403b9300]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140086f92
mov al, 0xad
xchg byte [0x14048432d], al
lea rax, [0x140484320]
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret