Function at 0x14002e660
Capabilities:
Authenticate hmac

Disassembly:
xchg r10, rsi
mov qword [rsp + 0x18], r10
xchg rsi, r10
nop
push 0x5a955455
mov qword [rsp], r14
sub rsp, 0x20
mov rax, qword [rdx + 0x10]
lea r9, [rdx + 0x10]
mov qword [rsp + 0x38], rdi
xchg rsi, rcx
mov rcx, rsi
xchg rcx, rsi
mov r14, rdx
cmp byte [rax + 0x19], 0
je 0x14002e6d2
mov rax, qword [rdx + 8]
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e708
cmp rdx, qword [rax + 0x10]
jne 0x14002e708
xchg r9, rax
mov rdx, r9
xchg r9, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e6ae
jmp 0x14002e708
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14002e704
xchg rcx, r8
mov r8, qword [rdx]
xchg rcx, r8
xchg rdx, rdi
mov rax, rdi
xchg rdx, rdi
xchg r15, rdx
mov r15, rcx
xchg r15, rdx
cmp byte [rcx + 0x19], 0
je 0x14002e6df
lea r8, [r14 + 8]
xchg r15, rcx
mov r15, qword [r14]
xchg r15, rcx
mov rdi, qword [r9]
mov qword [rsp + 0x30], rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e74e
cmp byte [rdi + 0x19], 0
je 0x14002e73b
xchg rcx, rdi
mov rcx, rdi
xchg rdi, rcx
jmp 0x14002e74e
xchg rbp, rdi
mov rbp, qword [rax + 0x10]
xchg rbp, rdi
cmp rax, r14
jne 0x14002e877
cmp byte [rdi + 0x19], 0
xchg r15, rbx
mov r15, qword [r8]
xchg r15, rbx
jne 0x14002e765
mov qword [rdi + 8], rbx
mov rax, qword [rsi]
cmp qword [rax + 8], r14
jne 0x14002e781
xchg r12, rdi
mov qword [rax + 8], r12
xchg r12, rdi
jmp 0x14002e796
cmp qword [rbx], r14
jne 0x14002e792
mov qword [rbx], rdi
jmp 0x14002e796
mov qword [rbx + 0x10], rdi
mov r8, qword [rsi]
cmp qword [r8], r14
jne 0x14002e80b
cmp byte [rdi + 0x19], 0
je 0x14002e7ba
xchg rbx, rdx
mov rbx, rdx
xchg rdx, rbx
jmp 0x14002e802
xchg r10, rcx
mov r10, qword [rdi]
xchg r10, rcx
xchg rdx, rdi
mov rdi, rdx
xchg rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14002e802
nop word [rax + rax]
xchg r13, rax
mov r13, qword [rcx]
xchg r13, rax
xchg rdx, r15
mov r15, rcx
xchg r15, rdx
xchg rcx, rax
mov rax, rcx
xchg rcx, rax
cmp byte [rax + 0x19], 0
je 0x14002e7e1
xchg rdx, rdi
mov qword [r8], rdi
xchg rdi, rdx
xchg rdx, r12
mov r12, qword [rsi]
xchg r12, rdx
cmp qword [rdx + 0x10], r14
jne 0x14002e942
cmp byte [rdi + 0x19], 0
je 0x14002e83a
xchg rbp, rcx
mov rbp, rbx
xchg rcx, rbp
mov qword [rdx + 0x10], rbx
jmp 0x14002e942
mov rax, qword [rdi + 0x10]
xchg rbx, rcx
mov rbx, rdi
xchg rbx, rcx
cmp byte [rax + 0x19], 0
jne 0x14002e868
nop
xchg r14, rax
mov rcx, r14
xchg r14, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e853
xchg rcx, r15
mov qword [rdx + 0x10], r15
xchg r15, rcx
jmp 0x14002e942
xchg rbp, rax
mov qword [rcx + 8], rbp
xchg rbp, rax
xchg rbp, rcx
mov rbp, qword [r14]
xchg rcx, rbp
xchg r15, rcx
mov qword [rax], r15
xchg rcx, r15
cmp rax, qword [r9]
jne 0x14002e8a2
mov rbx, rax
jmp 0x14002e8e7
cmp byte [rdi + 0x19], 0
xchg rsi, rbx
mov rsi, qword [rax + 8]
xchg rsi, rbx
jne 0x14002e8c0
xchg rbx, rsi
mov qword [rdi + 8], rsi
xchg rbx, rsi
xchg rdi, r15
mov qword [rbx], r15
xchg r15, rdi
xchg rcx, r15
mov r15, qword [r9]
xchg r15, rcx
xchg rbx, rcx
mov qword [rax + 0x10], rbx
xchg rcx, rbx
mov rcx, qword [r9]
xchg rbp, rax
mov qword [rcx + 8], rbp
xchg rbp, rax
xchg rcx, r8
mov r8, qword [rsi]
xchg r8, rcx
cmp qword [rcx + 8], r14
jne 0x14002e907
xchg r8, rax
mov qword [rcx + 8], r8
xchg r8, rax
jmp 0x14002e925
xchg rcx, rbp
mov rbp, qword [r8]
xchg rbp, rcx
cmp qword [rcx], r14
jne 0x14002e921
mov qword [rcx], rax
jmp 0x14002e925
mov qword [rcx + 0x10], rax
xchg rcx, r15
mov r15, qword [r8]
xchg rcx, r15
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 0x14002edde
xchg rbp, rax
mov rbp, qword [rsi]
xchg rbp, rax
cmp rdi, qword [rax + 8]
je 0x14002edba
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
xchg r10, rbp
mov rbp, rbx
xchg r10, rbp
jne 0x14002edba
mov rcx, qword [rbx]
cmp rdi, rcx
jne 0x14002eb80
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x18], 0
jne 0x14002ea79
mov byte [rcx + 0x18], 0x5b
add byte [rcx + 0x18], 0x12
sub byte [rcx + 0x18], 0x12
sub byte [rcx + 0x18], 1
add byte [rcx + 0x18], 0x1c
sub byte [rcx + 0x18], 0x57
sub byte [rcx + 0x18], 0x1e
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 0x18], 0x71
sub byte [rbx + 0x18], 0x50
sub byte [rbx + 0x18], 0xf
xor byte [rbx + 0x18], 0x51
xor byte [rbx + 0x18], 0x42
xor byte [rbx + 0x18], 0x4a
xor byte [rbx + 0x18], 0x4b
xchg r11, rax
mov r11, qword [rcx]
xchg r11, rax
mov qword [rbx + 0x10], rax
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
cmp byte [rax + 0x19], 0
jne 0x14002e9f2
mov qword [rax + 8], rbx
xchg r8, rax
mov r8, qword [rbx + 8]
xchg r8, rax
lea rdx, [rbx + 8]
xchg r11, rax
mov qword [rcx + 8], r11
xchg r11, rax
xchg r14, rax
mov r14, qword [rsi]
xchg r14, rax
cmp rbx, qword [rax + 8]
jne 0x14002ea36
xchg rcx, r15
mov qword [rax + 8], r15
xchg r15, rcx
xchg rbx, r14
mov qword [rcx], r14
xchg rbx, r14
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002ea7d
mov rax, qword [rdx]
cmp rbx, qword [rax]
jne 0x14002ea5a
xchg rcx, r8
mov qword [rax], r8
xchg r8, rcx
mov qword [rcx], rbx
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002ea7d
xchg r8, rcx
mov qword [rax + 0x10], r8
xchg r8, rcx
xchg rbx, r12
mov qword [rcx], r12
xchg rbx, r12
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002ea7d
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ecce
xchg rdx, r9
mov rdx, qword [rcx]
xchg rdx, r9
cmp byte [r9 + 0x18], 1
jne 0x14002eaad
xchg r13, rax
mov r13, qword [rcx + 0x10]
xchg r13, rax
cmp byte [rax + 0x18], 1
je 0x14002ecb2
xchg r14, rax
mov r14, qword [rcx + 0x10]
xchg r14, rax
cmp byte [rax + 0x18], 1
jne 0x14002eb19
mov byte [r9 + 0x18], reloc.SHLWAPI.dll_SHCreateMemStream
sub byte [r9 + 0x18], 2
add byte [r9 + 0x18], 0x22
sub byte [r9 + 0x18], 0x18
sub byte [r9 + 0x18], 0x13
add byte [r9 + 0x18], 0x46
sub byte [r9 + 0x18], 0x46
mov rdx, rcx
mov byte [rcx + 0x18], 0x7a
xor byte [rcx + 0x18], 0x4c
add byte [rcx + 0x18], 6
sub byte [rcx + 0x18], 9
add byte [rcx + 0x18], 0x19
sub byte [rcx + 0x18], 0x35
xor byte [rcx + 0x18], 0x17
xchg rbp, rsi
mov rcx, rbp
xchg rbp, rsi
call fcn.14002f7b0
xchg r8, rcx
mov r8, qword [rbx + 0x10]
xchg r8, rcx
movzx eax, byte [rbx + 0x18]
xchg rbx, rdx
mov rbx, rdx
xchg rbx, rdx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x12
add byte [rbx + 0x18], 0x58
sub byte [rbx + 0x18], 0x5b
add byte [rbx + 0x18], 0x63
sub byte [rbx + 0x18], 0x17
add byte [rbx + 0x18], 0x12
sub byte [rbx + 0x18], 0x6c
xchg r10, rax
mov r10, qword [rcx + 0x10]
xchg r10, rax
xchg r13, rsi
mov rcx, r13
xchg rsi, r13
mov byte [rax + 0x18], 0x36
add byte [rax + 0x18], 0x26
sub byte [rax + 0x18], 0x14
sub byte [rax + 0x18], 0x16
xor byte [rax + 0x18], 0x78
xor byte [rax + 0x18], 0x52
add byte [rax + 0x18], 1
sub byte [rax + 0x18], 0x18
call fcn.14002f6f0
jmp 0x14002edba
cmp byte [rcx + 0x18], 0
jne 0x14002ec82
mov byte [rcx + 0x18], 0x3f
xor byte [rcx + 0x18], 0x1d
xor byte [rcx + 0x18], 0x68
add byte [rcx + 0x18], 0x23
sub byte [rcx + 0x18], 0x46
sub byte [rcx + 0x18], 5
xor byte [rcx + 0x18], 0x44
sub byte [rcx + 0x18], 0x3f
sub byte [rcx + 0x18], 0x26
xchg rdx, rcx
mov rdx, qword [rbx]
xchg rdx, rcx
mov byte [rbx + 0x18], 3
add byte [rbx + 0x18], 0x52
sub byte [rbx + 0x18], 0x41
add byte [rbx + 0x18], 0xb
add byte [rbx + 0x18], 0x47
xor byte [rbx + 0x18], 0xa
add byte [rbx + 0x18], 2
xor byte [rbx + 0x18], 0x13
sub byte [rbx + 0x18], 0x7d
mov rax, qword [rcx + 0x10]
mov qword [rbx], rax
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14002ebf4
mov qword [rax + 8], rbx
mov rax, qword [rbx + 8]
lea rdx, [rbx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002ec2c
xchg rsi, rcx
mov qword [rax + 8], rsi
xchg rsi, rcx
mov qword [rcx + 0x10], rbx
mov qword [rdx], rcx
xchg rcx, rsi
mov rsi, qword [rbx]
xchg rsi, rcx
jmp 0x14002ec86
mov rax, qword [rdx]
cmp rbx, qword [rax + 0x10]
jne 0x14002ec5e
xchg rcx, rdi
mov qword [rax + 0x10], rdi
xchg rcx, rdi
xchg r8, rbx
mov qword [rcx + 0x10], r8
xchg rbx, r8
xchg rcx, r12
mov qword [rdx], r12
xchg rcx, r12
mov rcx, qword [rbx]
jmp 0x14002ec86
xchg r15, rcx
mov qword [rax], r15
xchg rcx, r15
mov qword [rcx + 0x10], rbx
xchg r12, rcx
mov qword [rdx], r12
xchg rcx, r12
xchg r15, rcx
mov r15, qword [rbx]
xchg rcx, r15
jmp 0x14002ec86
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ecce
xchg r8, r14
mov r14, qword [rcx + 0x10]
xchg r14, r8
cmp byte [r8 + 0x18], 1
jne 0x14002ecf0
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ecf0
mov byte [rcx + 0x18], 0x37
sub byte [rcx + 0x18], 0x37
add byte [rcx + 0x18], 0x1b
sub byte [rcx + 0x18], 2
add byte [rcx + 0x18], 0x45
sub byte [rcx + 0x18], 0x1f
sub byte [rcx + 0x18], 0x3f
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
xchg rdi, r11
mov r11, r10
xchg rdi, r11
mov rbx, qword [rdx]
cmp r10, qword [rax + 8]
jne 0x14002e969
jmp 0x14002edba
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ed5f
mov byte [r8 + 0x18], 0x41
sub byte [r8 + 0x18], 0x41
xor byte [r8 + 0x18], 0x70
sub byte [r8 + 0x18], 0x30
add byte [r8 + 0x18], 0x20
sub byte [r8 + 0x18], 0x5f
xchg rdx, rsi
mov rsi, rcx
xchg rsi, rdx
mov byte [rcx + 0x18], 0x53
sub byte [rcx + 0x18], 0x4c
add byte [rcx + 0x18], 0x50
sub byte [rcx + 0x18], 0x53
add byte [rcx + 0x18], 0xf
add byte [rcx + 0x18], 0x63
add byte [rcx + 0x18], 0
sub byte [rcx + 0x18], 0x5c
xor byte [rcx + 0x18], 0x1a
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
call fcn.14002f6f0
xchg rdx, rcx
mov rdx, qword [rbx]
xchg rcx, rdx
movzx eax, byte [rbx + 0x18]
mov rdx, rbx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x74
xor byte [rbx + 0x18], 0xc
xor byte [rbx + 0x18], 0x7e
add byte [rbx + 0x18], 0x56
sub byte [rbx + 0x18], 3
xor byte [rbx + 0x18], 0x41
add byte [rbx + 0x18], 0x48
sub byte [rbx + 0x18], 0x31
sub byte [rbx + 0x18], 0x2e
xchg rdi, rax
mov rdi, qword [rcx]
xchg rdi, rax
xchg rbx, rsi
mov rcx, rbx
xchg rbx, rsi
mov byte [rax + 0x18], 0x10
xor byte [rax + 0x18], 0x16
add byte [rax + 0x18], 0x5f
sub byte [rax + 0x18], 0x5c
add byte [rax + 0x18], 0x18
sub byte [rax + 0x18], 0x20
call fcn.14002f7b0
mov byte [rdi + 0x18], 0x28
add byte [rdi + 0x18], 0x4e
xor byte [rdi + 0x18], 0x6b
add byte [rdi + 0x18], 0x42
sub byte [rdi + 0x18], 0x45
add byte [rdi + 0x18], 0x3a
sub byte [rdi + 0x18], 0x37
add byte [rdi + 0x18], 0x17
sub byte [rdi + 0x18], 0x33
mov rcx, qword [rsi + 8]
xchg r8, r14
mov rax, r8
xchg r14, r8
mov rdi, qword [rsp + 0x38]
xchg r11, rbx
mov r11, qword [rsp + 0x30]
xchg rbx, r11
test rcx, rcx
je 0x14002ee0b
dec rcx
mov qword [rsi + 8], rcx
xchg rsi, r9
mov r9, qword [rsp + 0x40]
xchg rsi, r9
add rsp, 0x20
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]