Function at 0x14002e700
Capabilities:
Authenticate hmac

Disassembly:
xchg rsi, r13
mov qword [rsp + 0x18], r13
xchg rsi, r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
sub rsp, 0x20
mov rax, qword [rdx + 0x10]
lea r9, [rdx + 0x10]
xchg rsi, rdi
mov qword [rsp + 0x38], rsi
xchg rdi, rsi
xchg rbx, rsi
mov rbx, rcx
xchg rsi, rbx
xchg r14, rdx
mov rdx, r14
xchg rdx, r14
cmp byte [rax + 0x19], 0
je 0x14002e784
xchg r10, rax
mov r10, qword [rdx + 8]
xchg r10, rax
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e7ba
cmp rdx, qword [rax + 0x10]
jne 0x14002e7ba
xchg rdx, rbp
mov rbp, rax
xchg rbp, rdx
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e75e
jmp 0x14002e7ba
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14002e7b6
xchg r14, rcx
mov r14, qword [rdx]
xchg rcx, r14
xchg rdx, rcx
mov rax, rcx
xchg rcx, rdx
xchg rsi, rdx
mov rsi, rcx
xchg rsi, rdx
cmp byte [rcx + 0x19], 0
je 0x14002e791
lea r8, [r14 + 8]
mov rcx, qword [r14]
mov rdi, qword [r9]
mov qword [rsp + 0x30], rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e7f4
cmp byte [rdi + 0x19], 0
je 0x14002e7e1
mov rdi, rcx
jmp 0x14002e7f4
xchg r11, rdi
mov r11, qword [rax + 0x10]
xchg rdi, r11
cmp rax, r14
jne 0x14002e917
cmp byte [rdi + 0x19], 0
xchg rbx, rdx
mov rdx, qword [r8]
xchg rbx, rdx
jne 0x14002e80b
mov qword [rdi + 8], rbx
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
cmp qword [rax + 8], r14
jne 0x14002e825
mov qword [rax + 8], rdi
jmp 0x14002e840
cmp qword [rbx], r14
jne 0x14002e836
mov qword [rbx], rdi
jmp 0x14002e840
xchg rcx, rdi
mov qword [rbx + 0x10], rcx
xchg rdi, rcx
mov r8, qword [rsi]
cmp qword [r8], r14
jne 0x14002e8ab
cmp byte [rdi + 0x19], 0
je 0x14002e864
xchg rdx, r14
mov r14, rbx
xchg rdx, r14
jmp 0x14002e8a8
xchg r11, rcx
mov r11, qword [rdi]
xchg rcx, r11
xchg rdx, r15
mov r15, rdi
xchg rdx, r15
cmp byte [rcx + 0x19], 0
jne 0x14002e8a8
nop word [rax + rax]
mov rax, qword [rcx]
xchg rdx, rcx
mov rcx, rdx
xchg rcx, rdx
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
cmp byte [rax + 0x19], 0
je 0x14002e88b
mov qword [r8], rdx
xchg rdx, rbx
mov rbx, qword [rsi]
xchg rbx, rdx
cmp qword [rdx + 0x10], r14
jne 0x14002e9d4
cmp byte [rdi + 0x19], 0
je 0x14002e8e0
xchg r15, rcx
mov r15, rbx
xchg rcx, r15
xchg rdi, rbx
mov qword [rdx + 0x10], rdi
xchg rdi, rbx
jmp 0x14002e9d4
mov rax, qword [rdi + 0x10]
xchg rsi, rdi
mov rcx, rsi
xchg rsi, rdi
cmp byte [rax + 0x19], 0
jne 0x14002e90e
nop
xchg r12, rax
mov rcx, r12
xchg r12, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e8f9
mov qword [rdx + 0x10], rcx
jmp 0x14002e9d4
xchg rdx, rax
mov qword [rcx + 8], rdx
xchg rdx, rax
xchg rcx, r8
mov r8, qword [r14]
xchg rcx, r8
xchg r12, rcx
mov qword [rax], r12
xchg rcx, r12
cmp rax, qword [r9]
jne 0x14002e948
xchg rbx, r8
mov r8, rax
xchg r8, rbx
jmp 0x14002e97d
cmp byte [rdi + 0x19], 0
xchg r9, rbx
mov r9, qword [rax + 8]
xchg r9, rbx
jne 0x14002e966
xchg rbx, r13
mov qword [rdi + 8], r13
xchg rbx, r13
mov qword [rbx], rdi
xchg rcx, r11
mov r11, qword [r9]
xchg r11, rcx
mov qword [rax + 0x10], rcx
mov rcx, qword [r9]
mov qword [rcx + 8], rax
mov rcx, qword [rsi]
cmp qword [rcx + 8], r14
jne 0x14002e997
xchg rbx, rax
mov qword [rcx + 8], rbx
xchg rbx, rax
jmp 0x14002e9b7
mov rcx, qword [r8]
cmp qword [rcx], r14
jne 0x14002e9af
xchg rsi, rax
mov qword [rcx], rsi
xchg rsi, rax
jmp 0x14002e9b7
xchg rdi, rax
mov qword [rcx + 0x10], rdi
xchg rdi, rax
xchg r11, rcx
mov r11, qword [r8]
xchg r11, rcx
movzx edx, byte [rax + 0x18]
mov qword [rax + 8], rcx
movzx ecx, byte [r14 + 0x18]
mov byte [rax + 0x18], cl
mov byte [r14 + 0x18], dl
cmp byte [r14 + 0x18], 1
jne 0x14002ee79
mov rax, qword [rsi]
cmp rdi, qword [rax + 8]
je 0x14002ee59
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
xchg rdi, r10
mov rdi, rbx
xchg r10, rdi
jne 0x14002ee59
mov rcx, qword [rbx]
cmp rdi, rcx
jne 0x14002ec1a
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x18], 0
jne 0x14002eb15
mov byte [rcx + 0x18], 0x52
xor byte [rcx + 0x18], 0x35
xor byte [rcx + 0x18], 0x61
add byte [rcx + 0x18], 0x6b
xor byte [rcx + 0x18], 0x6f
sub byte [rcx + 0x18], 0x1d
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 0x18], 0x1d
add byte [rbx + 0x18], 0x31
xor byte [rbx + 0x18], 0x4b
add byte [rbx + 0x18], 6
add byte [rbx + 0x18], 0x64
add byte [rbx + 0x18], 0
xor byte [rbx + 0x18], 0x6f
xchg r11, rax
mov r11, qword [rcx]
xchg r11, rax
xchg r8, rax
mov qword [rbx + 0x10], r8
xchg r8, rax
xchg r10, rax
mov r10, qword [rcx]
xchg r10, rax
cmp byte [rax + 0x19], 0
jne 0x14002ea80
mov qword [rax + 8], rbx
xchg r14, rax
mov r14, qword [rbx + 8]
xchg r14, rax
lea rdx, [rbx + 8]
xchg rdi, rax
mov qword [rcx + 8], rdi
xchg rdi, rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002eac6
mov qword [rax + 8], rcx
xchg rbx, r8
mov qword [rcx], r8
xchg rbx, r8
xchg rcx, r10
mov qword [rdx], r10
xchg rcx, r10
xchg r13, rcx
mov r13, qword [rbx + 0x10]
xchg r13, rcx
jmp 0x14002eb19
mov rax, qword [rdx]
cmp rbx, qword [rax]
jne 0x14002eaf6
xchg rcx, r12
mov qword [rax], r12
xchg r12, rcx
mov qword [rcx], rbx
xchg r9, rcx
mov qword [rdx], r9
xchg rcx, r9
xchg r14, rcx
mov r14, qword [rbx + 0x10]
xchg r14, rcx
jmp 0x14002eb19
xchg rdx, rcx
mov qword [rax + 0x10], rdx
xchg rcx, rdx
xchg r13, rbx
mov qword [rcx], r13
xchg rbx, r13
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002eb19
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ed5e
mov r9, qword [rcx]
cmp byte [r9 + 0x18], 1
jne 0x14002eb3f
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x18], 1
je 0x14002ed46
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x18], 1
jne 0x14002ebb5
mov byte [r9 + 0x18], 0x65
xor byte [r9 + 0x18], 0x4e
sub byte [r9 + 0x18], 0x11
add byte [r9 + 0x18], 0x5c
sub byte [r9 + 0x18], 0x66
sub byte [r9 + 0x18], 9
xor byte [r9 + 0x18], 6
xchg rdx, rcx
mov rcx, rdx
xchg rcx, rdx
mov byte [rcx + 0x18], 3
xor byte [rcx + 0x18], 0x72
xor byte [rcx + 0x18], 0x13
xor byte [rcx + 0x18], 0x35
add byte [rcx + 0x18], 4
sub byte [rcx + 0x18], 0x34
xor byte [rcx + 0x18], 0x2d
add byte [rcx + 0x18], 0x5c
xor byte [rcx + 0x18], 0x66
xchg rsi, r11
mov rcx, r11
xchg rsi, r11
call fcn.14002f870
xchg rcx, rbp
mov rbp, qword [rbx + 0x10]
xchg rbp, rcx
movzx eax, byte [rbx + 0x18]
xchg rbp, rdx
mov rbp, rbx
xchg rbp, rdx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x67
sub byte [rbx + 0x18], 0x4c
add byte [rbx + 0x18], 0x28
add byte [rbx + 0x18], 0x13
sub byte [rbx + 0x18], 0x27
add byte [rbx + 0x18], 0x1d
sub byte [rbx + 0x18], 0x40
sub byte [rbx + 0x18], 0xb
mov rax, qword [rcx + 0x10]
mov rcx, rsi
mov byte [rax + 0x18], 0x48
sub byte [rax + 0x18], 0xc
xor byte [rax + 0x18], 0x57
add byte [rax + 0x18], 0xc
xor byte [rax + 0x18], 0x76
add byte [rax + 0x18], 0x78
xor byte [rax + 0x18], 0x13
xor byte [rax + 0x18], 0xd
sub byte [rax + 0x18], 0x66
call fcn.14002f7c0
jmp 0x14002ee59
cmp byte [rcx + 0x18], 0
jne 0x14002ed18
mov byte [rcx + 0x18], 0x6f
sub byte [rcx + 0x18], 0x3f
xor byte [rcx + 0x18], 0x2a
add byte [rcx + 0x18], 0x20
xor byte [rcx + 0x18], 0x56
sub byte [rcx + 0x18], 0x22
xor byte [rcx + 0x18], 0x57
sub byte [rcx + 0x18], 0x1c
xchg rdx, rcx
mov rdx, qword [rbx]
xchg rdx, rcx
mov byte [rbx + 0x18], 0
add byte [rbx + 0x18], 0x4d
sub byte [rbx + 0x18], 0x17
add byte [rbx + 0x18], 0x38
xor byte [rbx + 0x18], 0x2e
sub byte [rbx + 0x18], 0x40
mov rax, qword [rcx + 0x10]
xchg r13, rax
mov qword [rbx], r13
xchg r13, rax
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14002ec88
xchg rbx, r12
mov qword [rax + 8], r12
xchg r12, rbx
mov rax, qword [rbx + 8]
lea rdx, [rbx + 8]
xchg r12, rax
mov qword [rcx + 8], r12
xchg r12, rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002ecc4
mov qword [rax + 8], rcx
xchg r8, rbx
mov qword [rcx + 0x10], r8
xchg r8, rbx
xchg rcx, r10
mov qword [rdx], r10
xchg rcx, r10
mov rcx, qword [rbx]
jmp 0x14002ed1c
xchg rsi, rax
mov rsi, qword [rdx]
xchg rsi, rax
cmp rbx, qword [rax + 0x10]
jne 0x14002ecf4
mov qword [rax + 0x10], rcx
xchg rsi, rbx
mov qword [rcx + 0x10], rsi
xchg rbx, rsi
xchg rcx, r12
mov qword [rdx], r12
xchg r12, rcx
mov rcx, qword [rbx]
jmp 0x14002ed1c
xchg r12, rcx
mov qword [rax], r12
xchg rcx, r12
xchg rsi, rbx
mov qword [rcx + 0x10], rsi
xchg rbx, rsi
xchg rcx, r15
mov qword [rdx], r15
xchg r15, rcx
mov rcx, qword [rbx]
jmp 0x14002ed1c
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ed5e
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x18], 1
jne 0x14002ed80
xchg r10, rax
mov r10, qword [rcx]
xchg r10, rax
cmp byte [rax + 0x18], 1
jne 0x14002ed80
mov byte [rcx + 0x18], 4
add byte [rcx + 0x18], 0x59
add byte [rcx + 0x18], 0xf
sub byte [rcx + 0x18], 1
xor byte [rcx + 0x18], 0x25
sub byte [rcx + 0x18], 0x4e
xchg rdx, rax
mov rdx, qword [rsi]
xchg rdx, rax
xchg rdi, r9
mov r9, r10
xchg rdi, r9
mov rbx, qword [rdx]
cmp r10, qword [rax + 8]
jne 0x14002e9f7
jmp 0x14002ee59
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002edf4
mov byte [r8 + 0x18], 0x7b
sub byte [r8 + 0x18], 0x2e
add byte [r8 + 0x18], 0x18
sub byte [r8 + 0x18], 0x18
xor byte [r8 + 0x18], 5
sub byte [r8 + 0x18], 0x2e
sub byte [r8 + 0x18], 0x19
xchg r12, rcx
mov rdx, r12
xchg rcx, r12
mov byte [rcx + 0x18], 7
xor byte [rcx + 0x18], 3
add byte [rcx + 0x18], 0x20
sub byte [rcx + 0x18], 7
xor byte [rcx + 0x18], 0x5c
xor byte [rcx + 0x18], 0x4a
add byte [rcx + 0x18], 0x53
sub byte [rcx + 0x18], 0x30
sub byte [rcx + 0x18], 0x2e
xchg rsi, rcx
mov rsi, rcx
xchg rsi, rcx
call fcn.14002f7c0
xchg rcx, r14
mov r14, qword [rbx]
xchg r14, rcx
movzx eax, byte [rbx + 0x18]
xchg rbx, r8
mov rdx, r8
xchg rbx, r8
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x5c
xor byte [rbx + 0x18], 0x20
sub byte [rbx + 0x18], 0x65
add byte [rbx + 0x18], 0x3e
sub byte [rbx + 0x18], 0xf
add byte [rbx + 0x18], 0x2e
sub byte [rbx + 0x18], 0x56
add byte [rbx + 0x18], 0x25
xor byte [rbx + 0x18], 0x42
mov rax, qword [rcx]
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
mov byte [rax + 0x18], reloc.SHLWAPI.dll_SHCreateMemStream
xor byte [rax + 0x18], 4
xor byte [rax + 0x18], 0x38
add byte [rax + 0x18], 0x1b
add byte [rax + 0x18], 7
add byte [rax + 0x18], 0x29
sub byte [rax + 0x18], 0x60
sub byte [rax + 0x18], 0x1a
call fcn.14002f870
mov byte [rdi + 0x18], 0x60
sub byte [rdi + 0x18], 0x11
add byte [rdi + 0x18], 0x18
sub byte [rdi + 0x18], 0x2d
xor byte [rdi + 0x18], 0x36
xor byte [rdi + 0x18], 0x6f
xor byte [rdi + 0x18], 0x74
xor byte [rdi + 0x18], 0x16
xchg r14, rcx
mov r14, qword [rsi + 8]
xchg r14, rcx
xchg r11, r14
mov rax, r11
xchg r11, r14
mov rdi, qword [rsp + 0x38]
xchg r11, rbx
mov r11, qword [rsp + 0x30]
xchg rbx, r11
test rcx, rcx
je 0x14002eeac
dec rcx
mov qword [rsi + 8], rcx
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
push rdx
xchg qword [rsp + 8], r14
add rsp, 0x10
ret