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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
nop
push r13
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
mov rsi, rsi
push r12
push r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x138]
mov dword [rsp - 0x40], ebx
add rsp, 0xfffffffffffffdc8
xchg r8, rdx
mov rdx, r8
xchg rdx, r8
mov rdi, rcx
xor edx, edx
mov dword [rsp - 0x44], 0x5a55f675
lea ebx, [rdx + 1]
mov ecx, edx
mov eax, 0x1bffecf1
xor eax, 0x14b016d7
add eax, 0x1c5504e5
sub eax, 0x20fff874
add eax, 0x14f5fd03
rol eax, cl
xchg r10, r10
lea rcx, [0x14000b810]
xor al, byte [rdx + rcx]
mov byte [rsp + rdx + 0x10], al
add rdx, rbx
mov dword [rsp - 0x44], esp
cmp rdx, 0x211
jb 0x14007cbf8
xor dl, dl
mov dword [rsp - 0x34], 0x6f0484ef
lea r11, [rsp + 0x10]
xor r12b, r12b
mov byte [rsp + 4], dl
xchg r12, r12
xor eax, eax
mov dword [rsp], r12d
xchg r11, r9
mov r11, rdi
xchg r11, r9
mov r10b, 0x46
add r10b, 0x19
xor r10b, 0x7e
xor r10b, 0x5a
xor r10b, 0x6b
xchg r8, r11
mov rdi, r11
xchg r8, r11
lea ecx, [rax + 0x25]
rep stosb byte [rdi], al
mov r15, r15
lea esi, [rax + 4]
movzx edi, byte [r9]
add r9, rbx
mov ecx, edi
xchg r14, r14
cmp edi, 0x65
ja 0x14007ccf4
add ecx, 0xffffffda
cmp ecx, 0x3f
mov dword [rsp - 0x28], 0x5aebf0c4
ja 0x14007cd94
movabs rax, 0xc00000007ba5b9e9
sub rax, 0x2ee192cc
sub rax, 0x49836f4d
add rax, 0x6e3e431a
sub rax, 0x707df9e9
bt rax, rcx
xchg rdx, rdx
jae 0x14007cd94
mov byte [r8 + 3], dil
mov al, 0x5a
sub al, 0x31
add al, 0x36
add al, 0x10
sub al, 0x2f
jmp 0x14007cd85
sub ecx, 0x66
je 0x14007cd76
sub ecx, ebx
mov dword [rsp - 0x20], 0x5a675763
je 0x14007cd63
sub ecx, 0x89
je 0x14007cd50
sub ecx, 2
xchg r14, r14
je 0x14007cd3d
cmp ecx, ebx
jne 0x14007cd94
mov byte [r8 + 1], dil
mov dword [rsp - 0x44], ebp
mov al, sil
jmp 0x14007cd85
mov byte [r8 + 1], dil
mov al, 2
xor al, 9
add al, 0x52
xor al, 0x33
xor al, 0x6c
jmp 0x14007cd85
mov byte [r8 + 2], dil
mov al, 0x36
add al, 3
xor al, 0x14
xor al, 0x47
xor al, 0x4a
jmp 0x14007cd85
mov byte [r8 + 5], dil
mov al, 0x5c
xor al, 0x75
xor al, 0x6a
add al, 0x26
sub al, 0x59
jmp 0x14007cd85
mov byte [r8 + 4], dil
mov r14, r14
mov al, 0x16
xor al, 0x14
add al, 0xa
xor al, 4
or dl, al
mov r11, r11
add r10b, 0xff
jne 0x14007cc89
movzx eax, dl
mov ecx, ebx
mov dword [rsp - 0x1c], 0x12f90fdf
movzx r10d, dl
shl r10d, 3
shl r10d, 5
shl r10d, 9
shl r10d, 2
shl r10d, 3
shl r10d, 1
test dl, dl
mov rbp, rbp
mov dword [r8 + 0x21], r10d
cmovne ecx, eax
mov al, dil
and al, 0xf0
mov rcx, rcx
cmp al, 0x40
jne 0x14007ce6c
bts r10d, 0x1e
mov al, dil
mov dword [rsp - 0x3c], esp
shr al, 1
shr al, 1
shr al, 1
and al, bl
mov r8, r8
mov dword [r8 + 0x21], r10d
mov byte [r8 + 7], al
je 0x14007ce16
xchg r8, r8
mov al, byte [r9]
and al, 0xf8
movzx r12d, r12b
cmp al, 0xb8
mov r8, r8
cmove r12d, ebx
mov dword [rsp], r12d
mov al, dil
shr al, 1
shr al, 1
and al, bl
xchg rbp, rbp
mov byte [r8 + 8], al
mov al, dil
shr al, 1
and dil, bl
xchg rbx, rbx
and al, bl
mov byte [r8 + 0xa], dil
mov byte [r8 + 9], al
mov dword [rsp - 0x1c], edx
mov dil, byte [r9]
add r9, rbx
mov al, dil
mov dword [rsp - 0x10], 0x22d9b2e3
and al, 0xf0
cmp al, 0x40
jne 0x14007ce6c
mov byte [rbp + 0x198], dil
xchg r14, r14
mov sil, cl
jmp 0x14007cf1e
mov byte [r8 + 0xb], dil
mov dword [rsp - 0x44], 0x772f7a51
mov sil, cl
cmp dil, 0xf
jne 0x14007ce9f
mov dil, byte [r9]
mov rbp, rbp
lea r11, [rsp + 0x5a]
mov byte [r8 + 0xc], dil
add r9, rbx
mov rsi, rsi
jmp 0x14007cee6
cmp dil, 0xa0
xchg rcx, rcx
jb 0x14007cee6
cmp dil, 0xa3
ja 0x14007cee6
add r12b, bl
mov dword [rsp - 0x30], 0x13b0a183
mov dword [rsp], r12d
test cl, 0x10
je 0x14007ceda
or sil, 8
xchg r15, r15
jmp 0x14007cee6
and sil, 0xf7
mov dword [rsp - 0x40], 0x58f477ce
movzx edx, dil
mov eax, edx
mov byte [rbp + 0x198], dil
shr rax, 1
shr rax, 1
and edx, 3
movzx eax, byte [rax + r11]
mov dword [rsp - 0x20], edx
add rax, r11
mov r14b, byte [rdx + rax]
cmp r14b, 0xff
mov dword [rsp - 0x18], 0x57b0a8ac
jne 0x14007cf52
or r10d, 0x3000
movzx eax, dil
and eax, 0xfffffffd
mov dword [rsp - 0xc], edi
mov dword [r8 + 0x21], r10d
xor r14b, r14b
cmp al, 0x24
xchg rdi, rdi
jne 0x14007cf52
mov r14b, bl
mov r13b, dil
xor bl, bl
mov r12, r12
jmp 0x14007cf7f
xor bl, bl
mov r13b, dil
xchg r15, r15
test r14b, r14b
jns 0x14007cf7f
movzx eax, r14b
and eax, 0x7f
mov dword [rsp - 0xc], edx
movzx r14d, word [rax + r11]
movzx ebx, r14w
shr bx, 6
shr bx, 2
mov r15b, byte [r8 + 0xc]
mov rdi, rdi
mov r11d, r10d
test r15b, r15b
je 0x14007cfcb
movzx edx, dil
mov rbx, rbx
mov eax, edx
and edx, 3
shr rax, 1
shr rax, 1
movzx ecx, byte [rbp + rax + 0x4c]
lea rax, [rbp + 0x4c]
xchg rbp, rbp
add rax, rdx
test byte [rax + rcx], sil
je 0x14007cfcb
mov r11, r11
or r11d, 0x3000
mov dword [r8 + 0x21], r11d
test r14b, 1
xchg r11, r11
je 0x14007d631
or r11d, 1
mov dword [r8 + 0x21], r11d
mov dword [rsp - 0x3c], ebx
mov edi, r11d
mov r12b, byte [r9]
mov dl, r12b
mov rbp, rbp
mov byte [r8 + 0xd], r12b
mov cl, r12b
shr dl, 6
and cl, 7
mov r9, r9
shr r12b, 1
shr r12b, 1
shr r12b, 1
and r12b, 7
mov r15, r15
mov byte [rbp + 0x190], dl
mov byte [r8 + 0xe], dl
mov byte [rbp + 0x188], cl
mov byte [r8 + 0x10], cl
mov dword [rsp - 0x34], 0x53be7f5b
mov byte [r8 + 0xf], r12b
test bl, bl
je 0x14007d067
mov cl, r12b
mov dword [rsp - 0x20], 0x55ef7532
movzx eax, bl
shl eax, cl
mov cl, byte [rbp + 0x188]
mov dword [rsp - 0x44], edi
test al, al
jns 0x14007d067
or edi, 0x3000
mov dword [r8 + 0x21], edi
xchg rdx, rdx
mov r10b, byte [rbp + 0x198]
mov eax, edi
test r15b, r15b
jne 0x14007d0fc
mov dword [rsp - 0x34], ebx
cmp r10b, 0xd9
jb 0x14007d0fc
cmp r10b, 0xdf
mov dword [rsp - 0x40], 0x56d2417b
ja 0x14007d0fc
lea eax, [r10 + 0x27]
movzx r10d, al
cmp dl, 3
mov dword [rsp - 0x10], 0x5ffac3b2
jne 0x14007d0cf
movzx eax, r12b
lea rdx, [rbp + 0x14]
add rdx, rax
mov rbx, rbx
mov r10b, byte [rdx + r10*8]
mov dl, byte [rbp + 0x190]
jmp 0x14007d0d7
mov r10b, byte [rbp + r10 + 0xd]
mov cl, r12b
shl r10b, cl
mov dword [rsp - 0x3c], esi
mov eax, edi
test r10b, r10b
mov r10b, byte [rbp + 0x198]
jns 0x14007d0fc
mov rbp, rbp
or eax, 0x3000
mov dword [r8 + 0x21], eax
test sil, 0x20
mov dword [rsp - 0x44], 0x3088efca
je 0x14007d1b7
cmp dl, 3
jne 0x14007d128
xchg r15, r15
or eax, 0x9000
mov dword [r8 + 0x21], eax
jmp 0x14007d1b7
mov dl, r10b
test r15b, r15b
jne 0x14007d13f
mov dword [rsp - 0x2c], 0x80ba465
and dl, 0xfe
test r15b, r15b
lea rax, [rbp + 0xe8]
lea rdi, [rbp + 0xd6]
mov dword [rsp - 0x10], 0x475d589f
cmovne rdi, rax
lea rcx, [rbp + 0xbe]
lea rax, [rbp + 0xd6]
cmovne rcx, rax
xchg r12, r12
jmp 0x14007d18a
cmp byte [rcx], dl
je 0x14007d198
add rcx, 2
mov dword [rsp - 0x1c], 0x30b34035
cmp rcx, rdi
jne 0x14007d176
jmp 0x14007d1af
movzx eax, byte [rcx + 1]
mov cl, r12b
xchg r11, r11
shl eax, cl
test al, al
jns 0x14007d1b7
xchg rsp, rsp
or dword [r8 + 0x21], 0x9000
movzx ecx, r13b
mov bl, 0x3f
xor bl, 0x50
add bl, 3
xor bl, 0x55
sub bl, 0x22
mov edx, ecx
test r15b, r15b
xchg r9, r9
je 0x14007d283
sub edx, 0x20
je 0x14007d22f
sub edx, 1
xchg rsp, rsp
je 0x14007d202
sub edx, 1
je 0x14007d22f
mov dword [rsp - 0x28], ecx
cmp edx, 1
jne 0x14007d29c
lea eax, [r12 - 4]
mov dword [rsp - 0x30], esp
mov r11b, 0x17
add r11b, 9
add r11b, 0x40
sub r11b, 0x1c
sub r11b, 0x41
cmp al, 1
mov dword [rsp - 0x34], edi
ja 0x14007d3e3
jmp 0x14007d3d7
mov ecx, 0x620faf7
add ecx, 0x373cacd7
xor ecx, 0x23c75864
sub ecx, 0x1cbc034a
xor ecx, 0x1defc64
mov r11b, 1
xor r11b, 0x2f
add r11b, 0x1d
sub r11b, 7
xor r11b, 0x47
cmp r12b, cl
mov dword [rsp - 0x10], 0x42abca34
ja 0x14007d3d7
cmp r12b, 1
jne 0x14007d3e3
mov dword [rsp - 0x18], ebp
jmp 0x14007d3d7
sub edx, 0x8c
je 0x14007d3c3
mov dword [rsp - 0x28], esp
cmp edx, 2
je 0x14007d3aa
mov r11b, byte [rbp + 0x190]
cmp r11b, 3
mov dword [rsp - 0x20], edi
jne 0x14007d34b
test r15b, r15b
je 0x14007d2e8
lea rdx, [rbp + 0x121]
xchg rbx, rbx
lea rax, [rbp + 0xf7]
lea rcx, [rbp + 0xf7]
cmp rax, rdx
mov dword [rsp - 0x24], 0x1782fe3
je 0x14007d3e3
jmp 0x14007d2f9
lea rdx, [rbp + 0xf7]
mov rbx, rbx
lea rcx, [rbp + 0xe8]
cmp byte [rcx], r10b
je 0x14007d31f
nop
add rcx, 0x2753bdd1
sub rcx, 0x2753bdce
cmp rcx, rdx
jne 0x14007d2f9
jmp 0x14007d3e3
test byte [rcx + 1], sil
je 0x14007d3e3
mov dword [rsp - 0x44], esp
movzx eax, byte [rcx + 2]
mov cl, r12b
shl eax, cl
test al, al
mov dword [rsp - 0x2c], 0x338ee36e
jns 0x14007d3d7
jmp 0x14007d3e3
test r15b, r15b
je 0x14007d3e3
mov dword [rsp - 0x38], 0x1962386c
sub ecx, 0x50
je 0x14007d38f
sub ecx, 0x75
mov r10, r10
je 0x14007d3d7
sub ecx, 0x11
je 0x14007d3a1
sub ecx, 1
xchg r12, r12
je 0x14007d38f
cmp ecx, 0x20
jne 0x14007d3e3
test sil, 9
xchg r11, r11
jne 0x14007d3d7
jmp 0x14007d3e3
test sil, 6
jmp 0x14007d396
mov r11b, byte [rbp + 0x190]
mov rsi, rsi
cmp r12b, 1
je 0x14007d3d7
jmp 0x14007d3ce
mov r11b, byte [rbp + 0x190]
mov dword [rsp - 0x34], ebp
cmp r12b, bl
jbe 0x14007d3e3
or dword [r8 + 0x21], 0x11000
mov dword [rsp - 0x44], ebx
mov dl, byte [r9 + 1]
nop
sub r9, 0x6af5e1ef
add r9, 0x6af5e1f1
cmp r12b, 1
xchg r11, r11
ja 0x14007d430
cmp r10b, 0xf6
jne 0x14007d41a
mov dword [rsp - 0x10], ecx
or r14b, 2
jmp 0x14007d430
cmp r10b, 0xf7
mov dword [rsp - 0x44], 0x5e9487d5
jne 0x14007d430
or r14b, 0x10
mov al, byte [rbp + 0x188]
xchg r13, r13
movzx ecx, r11b
test r11b, r11b
je 0x14007d4d6
sub ecx, 1
mov r12, r12
je 0x14007d4a1
cmp ecx, 1
pushf
mov ecx, 0x633520dd
sub ecx, 0x218e790e
xor ecx, 0x2e42e47c
sub ecx, 0x6fe443af
popf
jne 0x14007d538
mov r9, r9
mov dil, 0x5f
sub dil, 7
xor dil, 0x18
add dil, 0x1f
xor dil, 0x5d
test sil, 0x10
mov r15, r15
jne 0x14007d53f
mov dil, cl
jmp 0x14007d53f
mov dil, 0x53
sub dil, 0x50
add dil, 0x53
xor dil, 0x25
xor dil, 0x72
mov ecx, 0x22018693
xor ecx, 0x5f711450
sub ecx, 0x75cbadd3
add ecx, 0x5380a052
sub ecx, 0x5b25853e
jmp 0x14007d53f
mov ecx, 0x8feb323
add ecx, 0x317141ff
xor ecx, 0x652f08c3
sub ecx, 0x4391e86a
xor ecx, 0x1baf1573
test sil, 0x10
xchg rcx, rcx
je 0x14007d516
cmp al, 6
setne dil
dec dil
mov dword [rsp - 0x38], ebx
and dil, 2
jmp 0x14007d53f
mov edi, dword [rsp + 4]
mov dword [rsp - 0x20], 0x536c215b
cmp al, bl
movzx edi, dil
cmove edi, ecx
mov dword [rsp - 0x38], 0x43d61ff4
jmp 0x14007d53f
mov edi, dword [rsp + 4]
xchg r15, r15
cmp r11b, 3
je 0x14007d5ab
cmp al, cl
jne 0x14007d5ab
mov dword [rsp - 0x10], 0x359291c7
or dword [r8 + 0x21], 2
mov al, dl
shr al, 1
shr al, 1
shr al, 2
shr al, 1
shr al, 1
inc r9
mov r13, r13
mov byte [r8 + 0x12], al
mov al, dl
shr al, 2
shr al, 1
and al, 7
mov byte [r8 + 0x11], dl
mov dword [rsp - 0x1c], esp
and dl, 7
mov byte [r8 + 0x13], al
mov byte [r8 + 0x14], dl
mov dword [rsp - 0x14], edi
cmp dl, bl
jne 0x14007d5ab
test r11b, 1
movzx edi, dil
mov r8, r8
cmove edi, ecx
dec r9
movzx ecx, dil
xchg rcx, rcx
sub ecx, 1
je 0x14007d605
sub ecx, 1
mov dword [rsp - 0x20], edi
je 0x14007d5ee
cmp ecx, 2
jne 0x14007d619
bts dword [r8 + 0x21], 8
mov dword [rsp - 0x20], 0x15681b23
mov eax, dword [r9]
mov dword [r8 + 0x1d], eax
jmp 0x14007d619
bts dword [r8 + 0x21], 7
mov rsp, rsp
movzx eax, word [r9]
mov word [r8 + 0x1d], ax
jmp 0x14007d619
or dword [r8 + 0x21], 0x40
mov dword [rsp - 0x24], 0x566e9af9
mov al, byte [r9]
mov byte [r8 + 0x1d], al
mov r12d, dword [rsp]
mov dword [rsp - 0x40], 0x70ce2621
movzx eax, dil
add r9, rax
jmp 0x14007d64c
test sil, 0x20
mov rsp, rsp
je 0x14007d64c
or r11d, 0x9000
mov dword [r8 + 0x21], r11d
xchg r12, r12
test r14b, 0x10
je 0x14007d6e5
test r14b, 0x40
je 0x14007d6bc
xchg r8, r8
test sil, 8
je 0x14007d69a
or dword [r8 + 0x21], 0x208
mov dword [rsp - 0x20], 0xc600ab4
movzx eax, word [r9]
nop
sub r9, 0xb4882f2
add r9, 0xb4882f4
mov word [r8 + 0x15], ax
jmp 0x14007d7cf
mov ecx, 0x998fabd
add ecx, 0x5bab41d6
xor ecx, 0x6634e7e2
xor ecx, 0x477f7d43
sub ecx, 0x440fa62e
jmp 0x14007d751
test r12b, r12b
je 0x14007d76b
mov dword [rsp - 0x20], ebp
or dword [r8 + 0x21], 0x20
mov rax, qword [r9]
add r9, 8
mov dword [rsp - 0x28], 0x35a70df8
xchg r11, rax
mov qword [r8 + 0x15], r11
xchg r11, rax
mov ecx, 0x5315931d
add ecx, 0x1cc4e4ec
sub ecx, 0x2453fb21
sub ecx, 0x4b867ce4
test cl, r14b
je 0x14007d726
or dword [r8 + 0x21], 8
mov dword [rsp - 0x30], ebx
movzx eax, word [r9]
nop
sub r9, 0x141a5e5a
add r9, 0x141a5e5c
mov word [r8 + 0x15], ax
test r14b, 2
mov rdi, rdi
je 0x14007d744
or dword [r8 + 0x21], ecx
mov al, byte [r9]
xchg rsp, rsp
inc r9
mov byte [r8 + 0x15], al
test r14b, 0x40
je 0x14007d7ac
mov r13, r13
or dword [r8 + 0x21], 0x210
mov eax, dword [r9]
add r9, rcx
mov r13, r13
mov dword [r8 + 0x15], eax
jmp 0x14007d7cf
mov ecx, 0x76e7a525
xor ecx, 0x6fff3446
xor ecx, 0x74b8d5bd
sub ecx, 0x55958efd
sub ecx, 0x180ab5dd
test sil, 8
jne 0x14007d705
xchg rdi, rdi
or dword [r8 + 0x21], 0x10
mov eax, dword [r9]
add r9, rcx
mov dword [r8 + 0x15], eax
xchg rbp, rbp
jmp 0x14007d6fc
test r14b, 0x20
xchg rcx, rcx
je 0x14007d7cf
or dword [r8 + 0x21], 0x204
mov al, byte [r9]
mov dword [rsp - 0x34], edx
inc r9
mov byte [r8 + 0x15], al
sub r9b, byte [rbp + 0x180]
mov r9, r9
mov byte [r8], r9b
cmp r9b, 0xf
jbe 0x14007d814
or dword [r8 + 0x21], 0x5000
mov r10, r10
mov r9b, 0x74
sub r9b, 0x48
sub r9b, 0x23
add r9b, 6
mov byte [r8], 0x19
add byte [r8], 0x1b
add byte [r8], 0x2a
sub byte [r8], 0x57
xor byte [r8], 8
xor eax, eax
mov r15, r15
lea rdi, [rsp + 0x10]
mov ecx, 0x7e94570a
xor ecx, 0x71f20dfa
add ecx, 0x2308b391
xor ecx, 0x4380f541
xor ecx, 0x71eff9d1
rep stosb byte [rdi], al
xchg rsp, rsp
movzx eax, r9b
neg rsp
add rsp, 0xfffffffffffffdc8
neg rsp
pop r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
pop r13
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
mov rdi, qword [rsp - 8]
pop rsi
pop rbx
mov rbp, rbp
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret