Function at 0x140031a50
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
push 0x9bcb74f
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
nop
mov qword [rsp - 8], r12
sub rsp, 8
nop
push 0x18e1088
mov qword [rsp], r13
push r14
push r15
sub rsp, 0x40
xchg rbx, r8
mov r8, rbx
xchg rbx, r8
xchg rsi, r12
mov r12, rdx
xchg r12, rsi
mov r13, rcx
mov rdx, qword [rcx]
xchg rdx, rsi
mov r15, rdx
xchg rdx, rsi
sub r15, rdx
mov rax, qword [rcx + 8]
sub rax, rdx
sar rax, 2
sar rax, 2
movabs r14, 0xfffffff560a8b99
add r14, 0xf234d1e
sub r14, 0x6449e8cb
add r14, 0x19f926c4
xor r14, 0x528650e1
sub r14, 0x14d11260
xor r14, 0x11387ffb
add r14, 0x7fffffff
add r14, 0x5d4db3f6
cmp rax, r14
je 0x140031d94
lea r8, [rax + 1]
mov qword [rsp + 0x28], r8
mov rcx, qword [rcx + 0x10]
sub rcx, rdx
sar rcx, 1
sar rcx, 2
sar rcx, 1
xchg rcx, r12
mov rdx, r12
xchg r12, rcx
shr rdx, 1
mov rax, r14
sub rax, rdx
cmp rcx, rax
ja 0x140031b4d
lea r14, [rdx + rcx]
cmp r14, r8
cmovb r14, r8
mov qword [rsp + 0x20], r14
mov rdx, r14
xchg r13, rdx
mov rcx, rdx
xchg rdx, r13
call fcn.140053870
xchg rbx, rax
mov r12, rbx
xchg rbx, rax
xchg rsi, rax
mov qword [rsp + 0x38], rsi
xchg rsi, rax
and r15, 0xfffffffffffffff0
add rax, r15
xchg r10, rax
mov qword [rsp + 0x88], r10
xchg r10, rax
lea rcx, [rax + 0x10]
mov qword [rsp + 0x30], rcx
mov byte [rax], 0x66
sub byte [rax], 0x64
add byte [rax], 0x69
sub byte [rax], 0x2f
sub byte [rax], 0x36
xor byte [rax], 0
add byte [rax], 0x37
sub byte [rax], 0x37
xor byte [rax], 6
lea rdi, [rax + 8]
xor ecx, ecx
xchg rcx, r10
mov qword [rdi], r10
xchg rcx, r10
mov rbx, qword [rbx]
movzx edx, byte [rax]
mov rcx, rdi
call fcn.1400542d0
nop
mov rax, qword [rsp + 0x88]
mov byte [rax], 0x1d
sub byte [rax], 0x17
add byte [rax], 0x69
xor byte [rax], 0x35
sub byte [rax], 0x12
sub byte [rax], 0x43
xchg rbx, rcx
mov qword [rdi], rcx
xchg rbx, rcx
xchg rbx, rax
mov qword [rsp + 0x98], rbx
xchg rbx, rax
mov r9, qword [r13 + 8]
mov rax, qword [r13]
xchg rbp, r12
mov rdx, rbp
xchg r12, rbp
cmp rsi, r9
jne 0x140031c6e
cmp rax, r9
je 0x140031d25
xor r8d, r8d
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
xchg rcx, r13
mov r13, qword [rax + 8]
xchg r13, rcx
xchg rcx, rdi
mov qword [rdx + 8], rdi
xchg rcx, rdi
mov byte [rax], r8b
xchg r10, r8
mov qword [rax + 8], r10
xchg r10, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, r9
jne 0x140031c2c
jmp 0x140031d25
xor r8d, r8d
cmp rax, rsi
je 0x140031cb0
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rcx, qword [rax + 8]
mov qword [rdx + 8], rcx
mov byte [rax], r8b
xchg r13, r8
mov qword [rax + 8], r13
xchg r13, r8
lea rdx, [rdx + 0x10]
neg rax
add rax, 0xfffffffffffffff0
neg rax
cmp rax, rsi
jne 0x140031c7f
xchg rdx, r12
mov qword [rsp + 0x98], rdx
xchg rdx, r12
xchg rdx, rcx
mov rcx, qword [r13 + 8]
xchg rcx, rdx
cmp rsi, rdx
je 0x140031d25
lea rcx, [rsi + 8]
sub r15, rsi
lea r9, [r15 + r12]
lea r10, [r15 + r12]
movzx eax, byte [rcx - 8]
mov byte [r10 + rcx + 8], al
xchg r15, rax
mov r15, qword [rcx]
xchg r15, rax
xchg rbp, rax
mov qword [r9 + rcx + 0x10], rbp
xchg rbp, rax
mov byte [rcx - 8], 0x79
xor byte [rcx - 8], 0x54
sub byte [rcx - 8], 0x1d
sub byte [rcx - 8], 0xc
add byte [rcx - 8], 0x5c
sub byte [rcx - 8], 0x60
mov qword [rcx], r8
lea rcx, [rcx + 0x10]
lea rax, [rcx - 8]
cmp rax, rdx
jne 0x140031ce0
xchg r9, rdx
mov rdx, r14
xchg rdx, r9
mov r8, qword [rsp + 0x28]
mov rdx, r12
xchg r8, rcx
mov r8, r13
xchg rcx, r8
call fcn.140052a00
mov rax, qword [rsp + 0x88]
add rsp, 0x40
nop
add rsp, 8
mov r15, qword [rsp - 8]
nop
xchg qword [rsp], r14
add rsp, 8
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
xchg qword [rsp], rsi
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
ret
call fcn.14002f8d0
int3