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

Disassembly:
push rsi
push rdi
sub rsp, 0x38
test ecx, ecx
je 0x1400f92e9
test edx, edx
je 0x1400f9339
test r8d, r8d
je 0x1400f9379
test r9d, r9d
je 0x1400f93f9
movzx eax, byte [0x14041e4b3]
cmp al, 0x5c
je 0x1400f95a9
mov cl, 0x64
nop word cs:[rax + rax]
mov al, 0x27
lock cmpxchg byte [0x14041e4b3], cl
je 0x1400f9579
cmp al, 0x5c
jne 0x1400f92d0
jmp 0x1400f95a9
test edx, edx
je 0x1400f93b9
test r8d, r8d
je 0x1400f9429
test r9d, r9d
je 0x1400f94a9
movzx eax, byte [0x14041e3d1]
cmp al, 0x85
je 0x1400f9679
mov cl, 0x97
nop word cs:[rax + rax]
mov al, 0xa5
lock cmpxchg byte [0x14041e3d1], cl
je 0x1400f9649
cmp al, 0x85
jne 0x1400f9320
jmp 0x1400f9679
test r8d, r8d
je 0x1400f9469
test r9d, r9d
je 0x1400f94d9
movzx eax, byte [0x14041e466]
cmp al, 0xab
je 0x1400f96b9
mov cl, 0xe7
nop dword [rax]
mov al, 0xfd
lock cmpxchg byte [0x14041e466], cl
je 0x1400f9685
cmp al, 0xab
jne 0x1400f9360
jmp 0x1400f96b9
test r9d, r9d
je 0x1400f9509
movzx eax, byte [0x14041e55f]
cmp al, 0xc
je 0x1400f96f9
mov cl, 0xe7
nop word cs:[rax + rax]
mov al, 0xe2
lock cmpxchg byte [0x14041e55f], cl
je 0x1400f96c5
cmp al, 0xc
jne 0x1400f93a0
jmp 0x1400f96f9
test r8d, r8d
je 0x1400f9539
test r9d, r9d
je 0x1400f95b5
movzx eax, byte [0x14041e533]
cmp al, 0x14
je 0x1400f9799
mov cl, 0x18
nop dword [rax]
mov al, 0x9f
lock cmpxchg byte [0x14041e533], cl
je 0x1400f976f
cmp al, 0x14
jne 0x1400f93e0
jmp 0x1400f9799
movzx eax, byte [0x14041e4f5]
cmp al, 0x9f
je 0x1400f9739
mov cl, 0x90
nop word [rax + rax]
mov al, 0x45
lock cmpxchg byte [0x14041e4f5], cl
je 0x1400f9705
cmp al, 0x9f
jne 0x1400f9410
jmp 0x1400f9739
test r9d, r9d
je 0x1400f95e9
movzx eax, byte [0x14041e449]
cmp al, 0xe7
je 0x1400f97d9
mov cl, 0x4b
nop word cs:[rax + rax]
mov al, 0xf
lock cmpxchg byte [0x14041e449], cl
je 0x1400f97a5
cmp al, 0xe7
jne 0x1400f9450
jmp 0x1400f97d9
test r9d, r9d
je 0x1400f9619
movzx eax, byte [0x14041e392]
cmp al, 0x79
je 0x1400f9819
mov cl, 0x84
nop word cs:[rax + rax]
mov al, 0x82
lock cmpxchg byte [0x14041e392], cl
je 0x1400f97e5
cmp al, 0x79
jne 0x1400f9490
jmp 0x1400f9819
movzx eax, byte [0x14041e5cb]
cmp al, 0x68
je 0x1400f9859
mov cl, 0x35
nop word [rax + rax]
mov al, 0xac
lock cmpxchg byte [0x14041e5cb], cl
je 0x1400f9825
cmp al, 0x68
jne 0x1400f94c0
jmp 0x1400f9859
movzx eax, byte [0x14041e54b]
cmp al, 0x18
je 0x1400f9899
mov cl, 0xd
nop word [rax + rax]
mov al, 0x23
lock cmpxchg byte [0x14041e54b], cl
je 0x1400f9865
cmp al, 0x18
jne 0x1400f94f0
jmp 0x1400f9899
movzx eax, byte [0x14041e435]
cmp al, 0xc2
je 0x1400f98d9
mov cl, 0x58
nop word [rax + rax]
mov al, 0x2f
lock cmpxchg byte [0x14041e435], cl
je 0x1400f98a5
cmp al, 0xc2
jne 0x1400f9520
jmp 0x1400f98d9
test r9d, r9d
je 0x1400f9745
movzx eax, byte [0x14041e4c6]
cmp al, 0x66
je 0x1400f9919
mov cl, 0x36
nop word cs:[rax + rax]
mov al, 0x75
lock cmpxchg byte [0x14041e4c6], cl
je 0x1400f98e5
cmp al, 0x66
jne 0x1400f9560
jmp 0x1400f9919
xor eax, eax
lea rcx, [0x14041e4b0]
lea rdx, [0x140351f30]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1400f9590
mov al, 0x5c
xchg byte [0x14041e4b3], al
lea rax, [0x14041e4b0]
jmp 0x1400f9a74
movzx eax, byte [0x14041e503]
cmp al, 0x45
je 0x1400f9959
mov cl, 0x2a
nop word cs:[rax + rax]
mov al, 0xba
lock cmpxchg byte [0x14041e503], cl
je 0x1400f9925
cmp al, 0x45
jne 0x1400f95d0
jmp 0x1400f9959
movzx eax, byte [0x14041e5bb]
cmp al, 0x94
je 0x1400f9999
mov cl, 0x1b
nop word [rax + rax]
mov al, 0x7c
lock cmpxchg byte [0x14041e5bb], cl
je 0x1400f9965
cmp al, 0x94
jne 0x1400f9600
jmp 0x1400f9999
movzx eax, byte [0x14041e3f5]
cmp al, 4
je 0x1400f99d9
mov cl, 0x87
nop word [rax + rax]
mov al, 0x6e
lock cmpxchg byte [0x14041e3f5], cl
je 0x1400f99a5
cmp al, 4
jne 0x1400f9630
jmp 0x1400f99d9
xor eax, eax
lea rcx, [0x14041e3c0]
lea rdx, [0x140351e50]
nop dword [rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x11
jl 0x1400f9660
mov al, 0x85
xchg byte [0x14041e3d1], al
lea rax, [0x14041e3c0]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e450]
lea rdx, [0x140351ee0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x16
jl 0x1400f96a0
mov al, 0xab
xchg byte [0x14041e466], al
lea rax, [0x14041e450]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e550]
lea rdx, [0x140352010]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xf
jl 0x1400f96e0
mov al, 0xc
xchg byte [0x14041e55f], al
lea rax, [0x14041e550]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e4f0]
lea rdx, [0x140351fb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 5
jl 0x1400f9720
mov al, 0x9f
xchg byte [0x14041e4f5], al
lea rax, [0x14041e4f0]
jmp 0x1400f9a74
movzx eax, byte [0x14041e4c7]
cmp al, 0x2a
je 0x1400f9a6d
mov cl, 0x39
mov al, 0x90
lock cmpxchg byte [0x14041e4c7], cl
je 0x1400f99e5
cmp al, 0x2a
jne 0x1400f9756
jmp 0x1400f9a6d
xor eax, eax
lea rcx, [0x14041e510]
lea rdx, [0x140351fd0]
nop
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x23
jl 0x1400f9780
mov al, 0x14
xchg byte [0x14041e533], al
lea rax, [0x14041e510]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e440]
lea rdx, [0x140351ed0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 9
jl 0x1400f97c0
mov al, 0xe7
xchg byte [0x14041e449], al
lea rax, [0x14041e440]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e380]
lea rdx, [0x140351e10]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x12
jl 0x1400f9800
mov al, 0x79
xchg byte [0x14041e392], al
lea rax, [0x14041e380]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e5c0]
lea rdx, [0x140352080]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400f9840
mov al, 0x68
xchg byte [0x14041e5cb], al
lea rax, [0x14041e5c0]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e540]
lea rdx, [0x140352000]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400f9880
mov al, 0x18
xchg byte [0x14041e54b], al
lea rax, [0x14041e540]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e420]
lea rdx, [0x140351eb0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
add byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1400f98c0
mov al, 0xc2
xchg byte [0x14041e435], al
lea rax, [0x14041e420]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e4c0]
lea rdx, [0x140351f40]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 6
jl 0x1400f9900
mov al, 0x66
xchg byte [0x14041e4c6], al
lea rax, [0x14041e4c0]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e500]
lea rdx, [0x140351fc0]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 3
jl 0x1400f9940
mov al, 0x45
xchg byte [0x14041e503], al
lea rax, [0x14041e500]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e5b0]
lea rdx, [0x140352070]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0xb
jl 0x1400f9980
mov al, 0x94
xchg byte [0x14041e5bb], al
lea rax, [0x14041e5b0]
jmp 0x1400f9a74
xor eax, eax
lea rcx, [0x14041e3e0]
lea rdx, [0x140351e70]
nop word cs:[rax + rax]
movzx r8d, byte [rax + rdx]
xor byte [rax + rcx], r8b
inc rax
cmp eax, 0x15
jl 0x1400f99c0
mov al, 4
xchg byte [0x14041e3f5], al
lea rax, [0x14041e3e0]
jmp 0x1400f9a74
cmp qword [0x1404775b8], 0
jne 0x1400f9a44
mov dword [rsp + 0x28], 0x7709608a
mov dword [rsp + 0x20], 4
xor edi, edi
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.1400f90b0
mov rsi, rax
mov qword [0x1404775b8], rax
lea rcx, [0x1400f8ee0]
mov edx, 0x266b1c24
call fcn.1400f8f30
lea rax, [0x140351f50]
movzx ecx, byte [rdi + rax]
mov byte [rsi + rdi], cl
inc rdi
cmp edi, 2
jle 0x1400f9a35
mov rax, qword [0x1404775b8]
xor ecx, ecx
lea rdx, [0x140351f60]
movzx r8d, byte [rcx + rdx]
add byte [rax + rcx], r8b
inc rcx
cmp ecx, 3
jl 0x1400f9a54
mov al, 0x2a
xchg byte [0x14041e4c7], al
mov rax, qword [0x1404775b8]
add rsp, 0x38
pop rdi
pop rsi
ret