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

Disassembly:
push rsi
push rdi
sub rsp, 0x28
test ecx, ecx
je 0x140129449
test edx, edx
je 0x140129499
test r8d, r8d
je 0x1401294d9
test r9d, r9d
je 0x140129559
movzx eax, byte [0x14046ad12]
cmp al, 0x7e
je 0x140129709
mov cl, 0x37
nop word cs:[rax + rax]
mov al, 0xd9
lock cmpxchg byte [0x14046ad12], cl
je 0x1401296d9
cmp al, 0x7e
jne 0x140129430
jmp 0x140129709
test edx, edx
je 0x140129519
test r8d, r8d
je 0x140129589
test r9d, r9d
je 0x140129609
movzx eax, byte [0x14046ab70]
cmp al, 0xcc
je 0x1401297d9
mov cl, 9
nop word cs:[rax + rax]
mov al, 0x32
lock cmpxchg byte [0x14046ab70], cl
je 0x1401297a9
cmp al, 0xcc
jne 0x140129480
jmp 0x1401297d9
test r8d, r8d
je 0x1401295c9
test r9d, r9d
je 0x140129639
movzx eax, byte [0x14046ac5c]
cmp al, 0x3c
je 0x140129819
mov cl, 0xcf
nop dword [rax]
mov al, 0x6b
lock cmpxchg byte [0x14046ac5c], cl
je 0x1401297e5
cmp al, 0x3c
jne 0x1401294c0
jmp 0x140129819
test r9d, r9d
je 0x140129669
movzx eax, byte [0x14046ad6d]
cmp al, 0xd3
je 0x140129859
mov cl, 0x96
nop word cs:[rax + rax]
mov al, 0x76
lock cmpxchg byte [0x14046ad6d], cl
je 0x140129825
cmp al, 0xd3
jne 0x140129500
jmp 0x140129859
test r8d, r8d
je 0x140129699
test r9d, r9d
je 0x140129715
movzx eax, byte [0x14046ad47]
cmp al, 0xf5
je 0x1401298f9
mov cl, 0x51
nop dword [rax]
mov al, 0x82
lock cmpxchg byte [0x14046ad47], cl
je 0x1401298cf
cmp al, 0xf5
jne 0x140129540
jmp 0x1401298f9
movzx eax, byte [0x14046aae5]
cmp al, 0x31
je 0x140129899
mov cl, 0x5e
nop word [rax + rax]
mov al, 0x15
lock cmpxchg byte [0x14046aae5], cl
je 0x140129865
cmp al, 0x31
jne 0x140129570
jmp 0x140129899
test r9d, r9d
je 0x140129749
movzx eax, byte [0x14046ab83]
cmp al, 0xcd
je 0x140129939
mov cl, 0x23
nop word cs:[rax + rax]
mov al, 0x1d
lock cmpxchg byte [0x14046ab83], cl
je 0x140129905
cmp al, 0xcd
jne 0x1401295b0
jmp 0x140129939
test r9d, r9d
je 0x140129779
movzx eax, byte [0x14046ad02]
cmp al, 0xfd
je 0x140129979
mov cl, 0x18
nop word cs:[rax + rax]
mov al, 0x96
lock cmpxchg byte [0x14046ad02], cl
je 0x140129945
cmp al, 0xfd
jne 0x1401295f0
jmp 0x140129979
movzx eax, byte [0x14046accf]
cmp al, 0x54
je 0x1401299b9
mov cl, 0x6d
nop word [rax + rax]
mov al, 0xf5
lock cmpxchg byte [0x14046accf], cl
je 0x140129985
cmp al, 0x54
jne 0x140129620
jmp 0x1401299b9
movzx eax, byte [0x14046ad2b]
cmp al, 0xb8
je 0x1401299f9
mov cl, 0x2b
nop word [rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x14046ad2b], cl
je 0x1401299c5
cmp al, 0xb8
jne 0x140129650
jmp 0x1401299f9
movzx eax, byte [0x14046abf9]
cmp al, 0x5a
je 0x140129a99
mov esi, dword [rsp + 0x60]
mov cl, 0x97
nop
mov al, 0xb6
lock cmpxchg byte [0x14046abf9], cl
je 0x140129a05
cmp al, 0x5a
jne 0x140129680
jmp 0x140129a99
test r9d, r9d
je 0x1401298a5
movzx eax, byte [0x14046aaa2]
cmp al, 0x14
je 0x140129ad9
mov cl, 0x20
nop word cs:[rax + rax]
mov al, 0xd6
lock cmpxchg byte [0x14046aaa2], cl
je 0x140129aa5
cmp al, 0x14
jne 0x1401296c0
jmp 0x140129ad9
xor eax, eax
lea rcx, [0x14046ad10]
lea rdx, [0x14038fc90]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x1401296f0
mov al, 0x7e
xchg byte [0x14046ad12], al
lea rax, [0x14046ad10]
jmp 0x140129bd2
movzx eax, byte [0x14046aca3]
cmp al, 0x36
je 0x140129b19
mov cl, 0xa2
nop word cs:[rax + rax]
mov al, 0xdf
lock cmpxchg byte [0x14046aca3], cl
je 0x140129ae5
cmp al, 0x36
jne 0x140129730
jmp 0x140129b19
movzx eax, byte [0x14046ad95]
cmp al, 0x6f
je 0x140129b59
mov cl, 0xac
nop word [rax + rax]
mov al, 0x10
lock cmpxchg byte [0x14046ad95], cl
je 0x140129b25
cmp al, 0x6f
jne 0x140129760
jmp 0x140129b59
movzx eax, byte [0x14046acbb]
cmp al, 0x47
je 0x140129b99
mov cl, 0x63
nop word [rax + rax]
mov al, 0x2b
lock cmpxchg byte [0x14046acbb], cl
je 0x140129b62
cmp al, 0x47
jne 0x140129790
jmp 0x140129b99
xor eax, eax
lea rcx, [0x14046ab60]
lea rdx, [0x14038fad0]
nop dword [rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x10
jl 0x1401297c0
mov al, 0xcc
xchg byte [0x14046ab70], al
lea rax, [0x14046ab60]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ac40]
lea rdx, [0x14038fbc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x1c
jl 0x140129800
mov al, 0x3c
xchg byte [0x14046ac5c], al
lea rax, [0x14046ac40]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ad60]
lea rdx, [0x14038fce0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140129840
mov al, 0xd3
xchg byte [0x14046ad6d], al
lea rax, [0x14046ad60]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046aad0]
lea rdx, [0x14038fa40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140129880
mov al, 0x31
xchg byte [0x14046aae5], al
lea rax, [0x14046aad0]
jmp 0x140129bd2
movzx eax, byte [0x14046adad]
cmp al, 7
je 0x140129bcb
mov cl, 0x5c
mov al, 0xc
lock cmpxchg byte [0x14046adad], cl
je 0x140129ba2
cmp al, 7
jne 0x1401298b6
jmp 0x140129bcb
xor eax, eax
lea rcx, [0x14046ad40]
lea rdx, [0x14038fcc0]
nop
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 7
jl 0x1401298e0
mov al, 0xf5
xchg byte [0x14046ad47], al
lea rax, [0x14046ad40]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ab80]
lea rdx, [0x14038fae0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x140129920
mov al, 0xcd
xchg byte [0x14046ab83], al
lea rax, [0x14046ab80]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ad00]
lea rdx, [0x14038fc80]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 2
jl 0x140129960
mov al, 0xfd
xchg byte [0x14046ad02], al
lea rax, [0x14046ad00]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046acc0]
lea rdx, [0x14038fc40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1401299a0
mov al, 0x54
xchg byte [0x14046accf], al
lea rax, [0x14046acc0]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ad20]
lea rdx, [0x14038fca0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1401299e0
mov al, 0xb8
xchg byte [0x14046ad2b], al
lea rax, [0x14046ad20]
jmp 0x140129bd2
cmp qword [0x1404bee90], 0
jne 0x140129a64
mov r9d, esi
xor r9d, 0xb5ab6a3d
mov ecx, 1
mov edx, 1
mov r8d, 4
call fcn.140127f60
mov rdi, rax
mov qword [0x1404bee90], rax
xor esi, 0x199920d0
lea rcx, [0x140127e20]
mov edx, esi
call fcn.1401099f0
xor eax, eax
lea rcx, [0x14038fb50]
movzx edx, byte [rax + rcx]
mov byte [rdi + rax], dl
inc rax
cmp eax, 2
jle 0x140129a55
mov rax, qword [0x1404bee90]
xor ecx, ecx
lea rdx, [0x14038fb60]
nop word cs:[rax + rax]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x140129a80
mov al, 0x5a
xchg byte [0x14046abf9], al
mov rax, qword [0x1404bee90]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046aa90]
lea rdx, [0x14038fa00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x140129ac0
mov al, 0x14
xchg byte [0x14046aaa2], al
lea rax, [0x14046aa90]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ac80]
lea rdx, [0x14038fc00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x140129b00
mov al, 0x36
xchg byte [0x14046aca3], al
lea rax, [0x14046ac80]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ad80]
lea rdx, [0x14038fd00]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x140129b40
mov al, 0x6f
xchg byte [0x14046ad95], al
lea rax, [0x14046ad80]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046acb0]
lea rdx, [0x14038fc30]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x140129b80
mov al, 0x47
xchg byte [0x14046acbb], al
lea rax, [0x14046acb0]
jmp 0x140129bd2
xor eax, eax
lea rcx, [0x14046ada0]
lea rdx, [0x14038fd20]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xd
jl 0x140129bb2
mov al, 7
xchg byte [0x14046adad], al
lea rax, [0x14046ada0]
add rsp, 0x28
pop rdi
pop rsi
ret