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

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbp
nop
push 0x4c983465
mov qword [rsp], rbx
push rsi
mov rcx, rcx
nop
push r9
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
mov qword [rsp - 8], r13
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x138]
add rsp, 0x65950e08
sub rsp, 0x65951040
mov r8, rdx
xchg rcx, rdi
mov rcx, rdi
xchg rdi, rcx
xor edx, edx
xchg rsp, rsp
lea ebx, [rdx + 1]
mov ecx, edx
mov eax, 0x437c0392
add eax, 0x3c6be454
sub eax, 0x61aec321
add eax, 0x5a228e3d
xor eax, 0x5832d457
rol eax, cl
mov dword [rsp - 0x40], 0x32d02169
lea rcx, [0x140001b10]
xor al, byte [rdx + rcx]
mov byte [rsp + rdx + 0x10], al
xchg rdi, rdi
add rdx, rbx
cmp rdx, 0x211
jb 0x14008eade
mov dword [rsp - 0x30], edi
xor dl, dl
lea r11, [rsp + 0x10]
xor r12b, r12b
xchg r11, r11
mov byte [rsp + 4], dl
xor eax, eax
mov dword [rsp], r12d
mov dword [rsp - 0x14], 0x13305789
xchg r9, rdx
mov rdx, rdi
xchg r9, rdx
mov r10b, 0x3b
xor r10b, 0x2c
add r10b, 0x29
add r10b, 0x38
xor r10b, 0x68
xchg r8, rdx
mov rdi, rdx
xchg rdx, r8
lea ecx, [rax + 0x25]
mov dword [rsp - 0x24], ebp
rep stosb byte [rdi], al
lea esi, [rax + 4]
movzx edi, byte [r9]
mov dword [rsp - 0xc], esp
add r9, rbx
mov ecx, edi
cmp edi, 0x65
ja 0x14008ebe7
xchg r8, r8
add ecx, 0xffffffda
cmp ecx, 0x3f
ja 0x14008ec86
mov dword [rsp - 0x38], 0xec8f48a
movabs rax, 0xc00000007dfa3832
sub rax, 0xff4be6c
sub rax, 0x6771ebd2
xor rax, 0x1c764512
sub rax, 0x19e4c7e5
bt rax, rcx
jae 0x14008ec86
mov r13, r13
mov byte [r8 + 3], dil
mov al, 0
xor al, 0x2c
xor al, 0x5b
sub al, 0x24
sub al, 0x13
jmp 0x14008ec77
sub ecx, 0x66
je 0x14008ec69
xchg rbp, rbp
sub ecx, ebx
je 0x14008ec56
sub ecx, 0x89
je 0x14008ec3f
mov dword [rsp - 0x34], ecx
sub ecx, 2
je 0x14008ec2c
cmp ecx, ebx
jne 0x14008ec86
mov dword [rsp - 0x20], esi
mov byte [r8 + 1], dil
mov al, sil
jmp 0x14008ec77
mov byte [r8 + 1], dil
mov al, 0x12
sub al, 0xc
xor al, 0x29
xor al, 0x79
sub al, 0x54
jmp 0x14008ec77
mov byte [r8 + 2], dil
mov dword [rsp - 0x14], edx
mov al, 0x4e
sub al, 0xb
xor al, 0x12
sub al, 0x16
sub al, 0x1b
jmp 0x14008ec77
mov byte [r8 + 5], dil
mov al, 0x68
xor al, 0x1c
sub al, 0x14
sub al, 0x4f
sub al, 1
jmp 0x14008ec77
mov byte [r8 + 4], dil
mov al, 0x78
xor al, 0x13
sub al, 0x42
xor al, 3
sub al, 0x22
or dl, al
add r10b, 0xff
xchg r13, r13
jne 0x14008eb78
movzx eax, dl
mov ecx, ebx
xchg rsi, rsi
movzx r10d, dl
shl r10d, 0xb
shl r10d, 1
shl r10d, 2
shl r10d, 3
shl r10d, 3
shl r10d, 3
test dl, dl
mov dword [r8 + 0x21], r10d
mov dword [rsp - 0xc], 0x44fb0783
cmovne ecx, eax
mov al, dil
and al, 0xf0
cmp al, 0x40
mov dword [rsp - 0x40], 0x1f1e995d
jne 0x14008ed68
bts r10d, 0x1e
mov al, dil
shr al, 3
mov dword [rsp - 0x40], ecx
and al, bl
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x14008ed0d
mov dword [rsp - 0x40], ebp
mov al, byte [r9]
and al, 0xf8
movzx r12d, r12b
mov dword [rsp - 0x28], edx
cmp al, 0xb8
cmove r12d, ebx
mov dword [rsp], r12d
mov dword [rsp - 0x34], ebp
mov al, dil
shr al, 2
and al, bl
mov dword [rsp - 0x38], ebp
mov byte [r8 + 8], al
mov al, dil
shr al, 1
and dil, bl
mov dword [rsp - 0x10], 0x1b0f666d
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
mov r8, r8
mov dil, byte [r9]
add r9, rbx
mov al, dil
and al, 0xf0
mov dword [rsp - 0x28], 0x13367426
cmp al, 0x40
jne 0x14008ed68
mov byte [rbp + 0x198], dil
mov sil, cl
mov dword [rsp - 0x38], ebx
jmp 0x14008ee1b
mov byte [r8 + 0xb], dil
mov dword [rsp - 0x3c], 0x353e5cd0
mov sil, cl
cmp dil, 0xf
jne 0x14008ed9c
mov rdi, rdi
mov dil, byte [r9]
lea r11, [rsp + 0x5a]
mov byte [r8 + 0xc], dil
add r9, rbx
mov dword [rsp - 0x18], ebp
jmp 0x14008edd9
cmp dil, 0xa0
jb 0x14008edd9
cmp dil, 0xa3
mov dword [rsp - 0x20], 0x34f67687
ja 0x14008edd9
add r12b, bl
mov dword [rsp], r12d
mov dword [rsp - 0x30], edx
test cl, 0x10
je 0x14008edd5
or sil, 8
jmp 0x14008edd9
and sil, 0xf7
movzx edx, dil
mov eax, edx
mov dword [rsp - 0x20], 0x1ad4ce7e
mov byte [rbp + 0x198], dil
shr rax, 2
and edx, 3
mov dword [rsp - 0x10], 0x5951bf34
movzx eax, byte [rax + r11]
add rax, r11
mov r14b, byte [rdx + rax]
cmp r14b, 0xff
mov dword [rsp - 0x38], 0x27fbf8c9
jne 0x14008ee54
or r10d, 0x3000
movzx eax, dil
xchg r9, r9
and eax, 0xfffffffd
mov dword [r8 + 0x21], r10d
xor r14b, r14b
mov dword [rsp - 0x14], ebp
cmp al, 0x24
jne 0x14008ee54
mov r14b, bl
mov dword [rsp - 0x20], 0x5bd3910d
mov r13b, dil
xor bl, bl
jmp 0x14008ee7f
xor bl, bl
mov rcx, rcx
mov r13b, dil
test r14b, r14b
jns 0x14008ee7f
movzx eax, r14b
xchg r12, r12
and eax, 0x7f
movzx r14d, word [rax + r11]
movzx ebx, r14w
mov r8, r8
shr bx, 8
mov r15b, byte [r8 + 0xc]
mov r11d, r10d
xchg rbx, rbx
test r15b, r15b
je 0x14008eed4
movzx edx, dil
mov eax, edx
xchg r8, r8
and edx, 3
shr rax, 1
shr rax, 1
movzx ecx, byte [rbp + rax + 0x4c]
mov r12, r12
lea rax, [rbp + 0x4c]
add rax, rdx
test byte [rax + rcx], sil
mov dword [rsp - 0x30], 0x20a8577e
je 0x14008eed4
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
mov dword [rsp - 0x3c], ebx
test r14b, 1
je 0x14008f52d
or r11d, 1
mov dword [r8 + 0x21], r11d
mov dword [rsp - 0x44], ebx
mov edi, r11d
mov r12b, byte [r9]
mov dl, r12b
mov byte [r8 + 0xd], r12b
mov dword [rsp - 0x30], ecx
mov cl, r12b
shr dl, 2
shr dl, 1
shr dl, 1
shr dl, 2
and cl, 7
mov dword [rsp - 0x1c], edx
shr r12b, 1
shr r12b, 2
and r12b, 7
mov byte [rbp + 0x190], dl
mov r13, r13
mov byte [r8 + 0xe], dl
mov byte [rbp + 0x188], cl
mov byte [r8 + 0x10], cl
mov dword [rsp - 0x30], 0xd801333
mov byte [r8 + 0xf], r12b
test bl, bl
je 0x14008ef6c
mov cl, r12b
mov rbx, rbx
movzx eax, bl
shl eax, cl
mov cl, byte [rbp + 0x188]
test al, al
mov dword [rsp - 0x28], esi
jns 0x14008ef6c
or edi, 0x3000
mov dword [r8 + 0x21], edi
mov r10b, byte [rbp + 0x198]
mov dword [rsp - 0x24], 0x4ec14b60
mov eax, edi
test r15b, r15b
jne 0x14008f004
cmp r10b, 0xd9
mov r8, r8
jb 0x14008f004
cmp r10b, 0xdf
ja 0x14008f004
lea eax, [r10 + 0x27]
mov dword [rsp - 0x1c], 0x5a979b08
movzx r10d, al
cmp dl, 3
jne 0x14008efd7
movzx eax, r12b
mov dword [rsp - 0x34], esi
lea rdx, [rbp + 0x14]
add rdx, rax
mov r10b, byte [rdx + r10*8]
xchg rdx, rdx
mov dl, byte [rbp + 0x190]
jmp 0x14008efdf
mov r10b, byte [rbp + r10 + 0xd]
mov cl, r12b
shl r10b, cl
mov dword [rsp - 0x40], ebx
mov eax, edi
test r10b, r10b
mov r10b, byte [rbp + 0x198]
jns 0x14008f004
mov r12, r12
or eax, 0x3000
mov dword [r8 + 0x21], eax
test sil, 0x20
je 0x14008f0c7
mov dword [rsp - 0x38], 0x5fbb5540
cmp dl, 3
jne 0x14008f035
or eax, 0x9000
mov dword [r8 + 0x21], eax
mov dword [rsp - 0x30], 0x55615954
jmp 0x14008f0c7
mov dl, r10b
test r15b, r15b
jne 0x14008f047
mov rbp, rbp
and dl, 0xfe
test r15b, r15b
lea rax, [rbp + 0xe8]
lea rdi, [rbp + 0xd6]
mov dword [rsp - 0x3c], 0x40f37444
cmovne rdi, rax
lea rcx, [rbp + 0xbe]
lea rax, [rbp + 0xd6]
mov dword [rsp - 0x38], ecx
cmovne rcx, rax
jmp 0x14008f091
cmp byte [rcx], dl
je 0x14008f0a7
neg rcx
add rcx, 0xfffffffffffffffe
neg rcx
cmp rcx, rdi
jne 0x14008f07f
mov dword [rsp - 0x38], 0x69e0b518
jmp 0x14008f0bb
movzx eax, byte [rcx + 1]
mov cl, r12b
xchg rsp, rsp
shl eax, cl
test al, al
jns 0x14008f0c7
or dword [r8 + 0x21], 0x9000
mov dword [rsp - 0x18], esp
movzx ecx, r13b
mov bl, 0x2e
sub bl, 8
sub bl, 0x18
add bl, 0x49
xor bl, 0x52
mov edx, ecx
mov dword [rsp - 0x30], edi
test r15b, r15b
je 0x14008f190
sub edx, 0x20
mov dword [rsp - 0x40], edi
je 0x14008f144
sub edx, 1
je 0x14008f11b
mov rsi, rsi
sub edx, 1
je 0x14008f144
cmp edx, 1
jne 0x14008f1a8
mov dword [rsp - 0x18], 0x3d720a0e
lea eax, [r12 - 4]
mov r11b, 0x5c
sub r11b, 0x4f
add r11b, 0x4a
sub r11b, 0x43
sub r11b, 0x11
cmp al, 1
mov dword [rsp - 0xc], esi
ja 0x14008f2f6
jmp 0x14008f2ee
mov ecx, 0x7af49e9f
add ecx, 0x37a3a88
xor ecx, 0x14c8dacc
sub ecx, 0x4a3c3434
sub ecx, 0x2069cfb3
mov r11b, 0x22
xor r11b, 0x27
add r11b, 0xe
sub r11b, 0x10
cmp r12b, cl
mov dword [rsp - 0x1c], 0x68e76a36
ja 0x14008f2ee
cmp r12b, 1
jne 0x14008f2f6
jmp 0x14008f2ee
sub edx, 0x8c
je 0x14008f2db
cmp edx, 2
xchg rsp, rsp
je 0x14008f2bd
mov r11b, byte [rbp + 0x190]
cmp r11b, 3
mov dword [rsp - 0x3c], 0x6cf8c857
jne 0x14008f259
test r15b, r15b
je 0x14008f1f3
lea rdx, [rbp + 0x121]
xchg rdx, rdx
lea rax, [rbp + 0xf7]
lea rcx, [rbp + 0xf7]
cmp rax, rdx
je 0x14008f2f6
xchg rcx, rcx
jmp 0x14008f201
lea rdx, [rbp + 0xf7]
lea rcx, [rbp + 0xe8]
cmp byte [rcx], r10b
mov dword [rsp - 0x1c], ebp
je 0x14008f233
nop
sub rcx, 0x366843e2
add rcx, 0x366843e5
cmp rcx, rdx
mov dword [rsp - 0x28], 0x49114f0c
jne 0x14008f201
jmp 0x14008f2f6
test byte [rcx + 1], sil
je 0x14008f2f6
movzx eax, byte [rcx + 2]
xchg r9, r9
mov cl, r12b
shl eax, cl
test al, al
mov r11, r11
jns 0x14008f2ee
jmp 0x14008f2f6
test r15b, r15b
je 0x14008f2f6
sub ecx, 0x50
mov dword [rsp - 0x24], 0x77ef1313
je 0x14008f2a2
sub ecx, 0x75
je 0x14008f2ee
mov dword [rsp - 0x44], 0xbd2523
sub ecx, 0x11
je 0x14008f2b4
sub ecx, 1
je 0x14008f2a2
mov r11, r11
cmp ecx, 0x20
jne 0x14008f2f6
test sil, 9
mov r10, r10
jne 0x14008f2ee
jmp 0x14008f2f6
test sil, 6
jmp 0x14008f2a9
mov r11b, byte [rbp + 0x190]
mov dword [rsp - 0x18], 0x6b64c856
cmp r12b, 1
je 0x14008f2ee
jmp 0x14008f2e2
mov r11b, byte [rbp + 0x190]
cmp r12b, bl
jbe 0x14008f2f6
mov r10, r10
or dword [r8 + 0x21], 0x11000
mov dl, byte [r9 + 1]
sub r9, 0xfffffffffffffffe
cmp r12b, 1
mov dword [rsp - 0x14], 0x36b2a9e2
ja 0x14008f337
cmp r10b, 0xf6
jne 0x14008f326
or r14b, 2
xchg rdx, rdx
jmp 0x14008f337
cmp r10b, 0xf7
mov rcx, rcx
jne 0x14008f337
or r14b, 0x10
mov al, byte [rbp + 0x188]
mov dword [rsp - 0x2c], 0x3d9ae8f4
movzx ecx, r11b
test r11b, r11b
je 0x14008f3ea
sub ecx, 1
xchg r10, r10
je 0x14008f3b5
cmp ecx, 1
pushf
mov ecx, 0x40183599
add ecx, 0x2e0fbcdd
xor ecx, 0x6eb322ef
add ecx, 0x52e3d78c
sub ecx, 0x5378a821
popf
jne 0x14008f443
mov dil, 0x7b
sub dil, 0x14
xor dil, 0x69
xor dil, 0x2d
sub dil, 0x21
test sil, 0x10
mov dword [rsp - 0x3c], 0x3597679c
jne 0x14008f447
mov dil, cl
jmp 0x14008f447
mov dil, 0x71
sub dil, 0x51
add dil, 0x32
sub dil, 0x1b
sub dil, 0x36
mov ecx, 0x3ea23539
sub ecx, 0x3a8e7d38
add ecx, 0x644894fd
sub ecx, 0x29a50b8d
sub ecx, 0x3eb7416d
jmp 0x14008f447
mov ecx, 0x3c7c471f
add ecx, 0x3cde5170
sub ecx, 0x30d50423
sub ecx, 0x48859468
test sil, 0x10
mov dword [rsp - 0x30], 0x47223c11
je 0x14008f42d
cmp al, 6
setne dil
dec dil
mov dword [rsp - 0x10], 0x1996dbdb
and dil, 2
jmp 0x14008f447
mov edi, dword [rsp + 4]
mov dword [rsp - 0x18], esp
cmp al, bl
movzx edi, dil
cmove edi, ecx
jmp 0x14008f447
mov edi, dword [rsp + 4]
cmp r11b, 3
je 0x14008f4a8
mov r8, r8
cmp al, cl
jne 0x14008f4a8
or dword [r8 + 0x21], 2
mov r9, r9
mov al, dl
shr al, 6
inc r9
mov byte [r8 + 0x12], al
mov r9, r9
mov al, dl
shr al, 2
shr al, 1
and al, 7
mov dword [rsp - 0x3c], edi
mov byte [r8 + 0x11], dl
and dl, 7
mov byte [r8 + 0x13], al
mov byte [r8 + 0x14], dl
xchg r9, r9
cmp dl, bl
jne 0x14008f4a8
test r11b, 1
mov rcx, rcx
movzx edi, dil
cmove edi, ecx
dec r9
mov dword [rsp - 0x24], 0x5345d93c
movzx ecx, dil
sub ecx, 1
je 0x14008f509
xchg r14, r14
sub ecx, 1
je 0x14008f4ed
cmp ecx, 2
jne 0x14008f519
mov rsp, rsp
bts dword [r8 + 0x21], 8
mov eax, dword [r9]
mov dword [r8 + 0x1d], eax
xchg r11, r11
jmp 0x14008f519
bts dword [r8 + 0x21], 7
movzx eax, word [r9]
mov word [r8 + 0x1d], ax
mov dword [rsp - 0x40], 0xfc73a9a
jmp 0x14008f519
or dword [r8 + 0x21], 0x40
mov al, byte [r9]
mov byte [r8 + 0x1d], al
mov dword [rsp - 0x30], edi
mov r12d, dword [rsp]
movzx eax, dil
add r9, rax
mov dword [rsp - 0x1c], ecx
jmp 0x14008f546
test sil, 0x20
je 0x14008f546
or r11d, 0x9000
mov dword [rsp - 0x10], esp
mov dword [r8 + 0x21], r11d
test r14b, 0x10
je 0x14008f5c9
mov r9, r9
test r14b, 0x40
je 0x14008f5a9
test sil, 8
xchg r13, r13
je 0x14008f587
or dword [r8 + 0x21], 0x208
movzx eax, word [r9]
mov rdi, rdi
add r9, 2
mov word [r8 + 0x15], ax
jmp 0x14008f6b4
mov ecx, 0x5064b113
xor ecx, 0x7a3a9f3c
add ecx, 0x11480ddc
sub ecx, 0x2d682e60
xor ecx, 0xe3e0daf
jmp 0x14008f639
test r12b, r12b
je 0x14008f653
or dword [r8 + 0x21], 0x20
mov rdi, rdi
mov rax, qword [r9]
sub r9, 0xfffffffffffffff8
xchg r14, rax
mov qword [r8 + 0x15], r14
xchg r14, rax
mov ecx, 0x6fbe5521
sub ecx, 0x505494bb
xor ecx, 0x7ca29161
sub ecx, 0x63cb5103
test cl, r14b
mov dword [rsp - 0xc], edi
je 0x14008f611
or dword [r8 + 0x21], 8
movzx eax, word [r9]
mov dword [rsp - 0x2c], ebp
neg r9
add r9, 0xfffffffffffffffe
neg r9
mov word [r8 + 0x15], ax
mov dword [rsp - 0x10], 0x79c80d19
test r14b, 2
je 0x14008f62f
or dword [r8 + 0x21], ecx
xchg rsp, rsp
mov al, byte [r9]
inc r9
mov byte [r8 + 0x15], al
xchg rsp, rsp
test r14b, 0x40
je 0x14008f694
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
xchg r14, r14
add r9, rcx
mov dword [r8 + 0x15], eax
jmp 0x14008f6b4
mov ecx, 0x868ef6e
add ecx, 0x1fd9f1ed
sub ecx, 0x2271ad8d
add ecx, 0x3f29970f
xor ecx, 0x44facad9
test sil, 8
jne 0x14008f5ed
mov r12, r12
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, rcx
mov dword [r8 + 0x15], eax
mov rdx, rdx
jmp 0x14008f5e0
test r14b, 0x20
je 0x14008f6b4
or dword [r8 + 0x21], 0x204
mov dword [rsp - 0x10], esp
mov al, byte [r9]
inc r9
mov byte [r8 + 0x15], al
sub r9b, byte [rbp + 0x180]
mov dword [rsp - 0x30], 0x4fb1b864
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x14008f6fe
mov rbp, rbp
or dword [r8 + 0x21], 0x5000
mov r9b, 0x69
xor r9b, 0x27
add r9b, 0x25
sub r9b, 0x10
sub r9b, 0x54
mov byte [r8], 0x3a
add byte [r8], 0x2d
sub byte [r8], 0x62
xor byte [r8], 0xa
xor eax, eax
lea rdi, [rsp + 0x10]
mov ecx, 0x7c6c950d
xor ecx, 0x4f0f961d
sub ecx, 0x749616b
sub ecx, 0x2c199f94
rep stosb byte [rdi], al
mov dword [rsp - 0x24], 0x6024b61c
movzx eax, r9b
add rsp, 0x6b74ae9e
sub rsp, 0x6b74ac66
nop
mov r15, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
mov r13, qword [rsp - 8]
pop r12
pop rdi
mov dword [rsp - 0x10], ecx
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret