Function at 0x14002e670
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
xchg rdi, rsi
mov qword [rsp + 0x18], rdi
xchg rsi, rdi
nop
sub rsp, 8
mov qword [rsp], r14
sub rsp, 0x20
xchg rbx, rax
mov rbx, qword [rdx + 0x10]
xchg rbx, rax
lea r9, [rdx + 0x10]
mov qword [rsp + 0x38], rdi
mov rsi, rcx
xchg r8, r14
mov r8, rdx
xchg r14, r8
cmp byte [rax + 0x19], 0
je 0x14002e6e7
mov rax, qword [rdx + 8]
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e71b
cmp rdx, qword [rax + 0x10]
jne 0x14002e71b
xchg rdx, r11
mov r11, rax
xchg rdx, r11
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e6c1
jmp 0x14002e71b
mov rdx, qword [rax]
cmp byte [rdx + 0x19], 0
jne 0x14002e717
xchg r8, rcx
mov r8, qword [rdx]
xchg r8, rcx
xchg r10, rax
mov r10, rdx
xchg r10, rax
xchg r9, rdx
mov r9, rcx
xchg r9, rdx
cmp byte [rcx + 0x19], 0
je 0x14002e6f4
lea r8, [r14 + 8]
mov rcx, qword [r14]
mov rdi, qword [r9]
mov qword [rsp + 0x30], rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e755
cmp byte [rdi + 0x19], 0
je 0x14002e742
mov rdi, rcx
jmp 0x14002e755
xchg rdi, r11
mov r11, qword [rax + 0x10]
xchg r11, rdi
cmp rax, r14
jne 0x14002e87a
cmp byte [rdi + 0x19], 0
mov rbx, qword [r8]
jne 0x14002e766
mov qword [rdi + 8], rbx
xchg rbx, rax
mov rbx, qword [rsi]
xchg rbx, rax
cmp qword [rax + 8], r14
jne 0x14002e786
xchg rbp, rdi
mov qword [rax + 8], rbp
xchg rbp, rdi
jmp 0x14002e7a7
cmp qword [rbx], r14
jne 0x14002e79d
xchg rcx, rdi
mov qword [rbx], rcx
xchg rdi, rcx
jmp 0x14002e7a7
xchg rbp, rdi
mov qword [rbx + 0x10], rbp
xchg rdi, rbp
xchg r8, r13
mov r13, qword [rsi]
xchg r8, r13
cmp qword [r8], r14
jne 0x14002e81e
cmp byte [rdi + 0x19], 0
je 0x14002e7d1
xchg rdx, rsi
mov rsi, rbx
xchg rdx, rsi
jmp 0x14002e815
xchg r8, rcx
mov r8, qword [rdi]
xchg r8, rcx
xchg rdi, rbx
mov rdx, rbx
xchg rbx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14002e815
nop word [rax + rax]
xchg r11, rax
mov r11, qword [rcx]
xchg r11, rax
xchg rcx, r13
mov rdx, r13
xchg r13, rcx
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x14002e7f8
xchg rbx, rdx
mov qword [r8], rbx
xchg rdx, rbx
mov rdx, qword [rsi]
cmp qword [rdx + 0x10], r14
jne 0x14002e945
cmp byte [rdi + 0x19], 0
je 0x14002e847
mov rcx, rbx
xchg rbx, r10
mov qword [rdx + 0x10], r10
xchg rbx, r10
jmp 0x14002e945
mov rax, qword [rdi + 0x10]
xchg r9, rcx
mov r9, rdi
xchg rcx, r9
cmp byte [rax + 0x19], 0
jne 0x14002e871
nop
mov rcx, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e860
mov qword [rdx + 0x10], rcx
jmp 0x14002e945
mov qword [rcx + 8], rax
xchg r13, rcx
mov r13, qword [r14]
xchg r13, rcx
xchg rcx, rdx
mov qword [rax], rdx
xchg rdx, rcx
cmp rax, qword [r9]
jne 0x14002e8a7
xchg rbx, rsi
mov rsi, rax
xchg rbx, rsi
jmp 0x14002e8e6
cmp byte [rdi + 0x19], 0
mov rbx, qword [rax + 8]
jne 0x14002e8b9
mov qword [rdi + 8], rbx
xchg rdi, r14
mov qword [rbx], r14
xchg rdi, r14
xchg rcx, rdi
mov rdi, qword [r9]
xchg rcx, rdi
xchg r9, rcx
mov qword [rax + 0x10], r9
xchg rcx, r9
xchg rcx, r8
mov r8, qword [r9]
xchg rcx, r8
xchg rsi, rax
mov qword [rcx + 8], rsi
xchg rsi, rax
mov rcx, qword [rsi]
cmp qword [rcx + 8], r14
jne 0x14002e900
xchg rbp, rax
mov qword [rcx + 8], rbp
xchg rbp, rax
jmp 0x14002e922
xchg rdx, rcx
mov rdx, qword [r8]
xchg rdx, rcx
cmp qword [rcx], r14
jne 0x14002e91e
xchg r8, rax
mov qword [rcx], r8
xchg r8, rax
jmp 0x14002e922
mov qword [rcx + 0x10], rax
xchg rbx, rcx
mov rbx, qword [r8]
xchg rbx, rcx
movzx edx, byte [rax + 0x18]
xchg r14, rcx
mov qword [rax + 8], r14
xchg rcx, r14
movzx ecx, byte [r14 + 0x18]
mov byte [rax + 0x18], cl
mov byte [r14 + 0x18], dl
cmp byte [r14 + 0x18], 1
jne 0x14002edca
xchg r8, rax
mov r8, qword [rsi]
xchg r8, rax
cmp rdi, qword [rax + 8]
je 0x14002edb2
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
xchg rbx, rbp
mov r10, rbp
xchg rbp, rbx
jne 0x14002edb2
xchg rcx, r8
mov r8, qword [rbx]
xchg r8, rcx
cmp rdi, rcx
jne 0x14002eb92
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x18], 0
jne 0x14002ea82
mov byte [rcx + 0x18], 0x44
sub byte [rcx + 0x18], 4
xor byte [rcx + 0x18], 0x37
xor byte [rcx + 0x18], 0x4a
sub byte [rcx + 0x18], 0x1f
xor byte [rcx + 0x18], 0x2a
add byte [rcx + 0x18], 0xe
sub byte [rcx + 0x18], 0x37
sub byte [rcx + 0x18], 0xa
mov rcx, qword [rbx + 0x10]
mov byte [rbx + 0x18], 0x35
sub byte [rbx + 0x18], 0x35
add byte [rbx + 0x18], 3
xor byte [rbx + 0x18], 0x2a
xor byte [rbx + 0x18], 0x62
sub byte [rbx + 0x18], 6
sub byte [rbx + 0x18], 0x45
mov rax, qword [rcx]
xchg rcx, rax
mov qword [rbx + 0x10], rcx
xchg rcx, rax
mov rax, qword [rcx]
cmp byte [rax + 0x19], 0
jne 0x14002e9ff
mov qword [rax + 8], rbx
xchg rbp, rax
mov rbp, qword [rbx + 8]
xchg rbp, rax
lea rdx, [rbx + 8]
mov qword [rcx + 8], rax
mov rax, qword [rsi]
cmp rbx, qword [rax + 8]
jne 0x14002ea35
mov qword [rax + 8], rcx
xchg rbx, r15
mov qword [rcx], r15
xchg r15, rbx
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002ea86
xchg r9, rax
mov r9, qword [rdx]
xchg r9, rax
cmp rbx, qword [rax]
jne 0x14002ea63
xchg rcx, r10
mov qword [rax], r10
xchg rcx, r10
mov qword [rcx], rbx
xchg r15, rcx
mov qword [rdx], r15
xchg r15, rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002ea86
mov qword [rax + 0x10], rcx
mov qword [rcx], rbx
xchg r13, rcx
mov qword [rdx], r13
xchg r13, rcx
xchg rcx, rbp
mov rbp, qword [rbx + 0x10]
xchg rcx, rbp
jmp 0x14002ea86
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ecd4
xchg rsi, r9
mov rsi, qword [rcx]
xchg r9, rsi
cmp byte [r9 + 0x18], 1
jne 0x14002eab6
xchg rdx, rax
mov rdx, qword [rcx + 0x10]
xchg rdx, rax
cmp byte [rax + 0x18], 1
je 0x14002ecb0
xchg r11, rax
mov r11, qword [rcx + 0x10]
xchg r11, rax
cmp byte [rax + 0x18], 1
jne 0x14002eb2d
mov byte [r9 + 0x18], 0x4a
sub byte [r9 + 0x18], 0x18
sub byte [r9 + 0x18], 0x31
add byte [r9 + 0x18], 0x43
xor byte [r9 + 0x18], 0x5a
add byte [r9 + 0x18], 0x15
sub byte [r9 + 0x18], 0x1a
xor byte [r9 + 0x18], 0x18
xchg rdx, rcx
mov rcx, rdx
xchg rdx, rcx
mov byte [rcx + 0x18], 0x37
sub byte [rcx + 0x18], 0x30
add byte [rcx + 0x18], 0x4b
add byte [rcx + 0x18], 6
xor byte [rcx + 0x18], 0x1e
add byte [rcx + 0x18], 0x26
sub byte [rcx + 0x18], 0x6c
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
call fcn.14002f7a0
xchg r15, rcx
mov r15, qword [rbx + 0x10]
xchg r15, rcx
movzx eax, byte [rbx + 0x18]
mov rdx, rbx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x10
add byte [rbx + 0x18], 0x2c
add byte [rbx + 0x18], 0xe
sub byte [rbx + 0x18], 0x21
sub byte [rbx + 0x18], 0xc
xor byte [rbx + 0x18], 0x68
sub byte [rbx + 0x18], 0x4d
xor byte [rbx + 0x18], 0x71
sub byte [rbx + 0x18], 0x58
mov rax, qword [rcx + 0x10]
xchg rcx, r12
mov r12, rsi
xchg r12, rcx
mov byte [rax + 0x18], 0x42
sub byte [rax + 0x18], 0x10
add byte [rax + 0x18], 9
sub byte [rax + 0x18], 0x1d
sub byte [rax + 0x18], 0x1a
xor byte [rax + 0x18], 0x46
sub byte [rax + 0x18], 0x24
sub byte [rax + 0x18], 0x1d
call fcn.14002f6e0
jmp 0x14002edb2
cmp byte [rcx + 0x18], 0
jne 0x14002ec86
mov byte [rcx + 0x18], reloc.SHLWAPI.dll_SHCreateMemStream
add byte [rcx + 0x18], 0x27
xor byte [rcx + 0x18], 9
add byte [rcx + 0x18], 0x2a
xor byte [rcx + 0x18], 0x45
add byte [rcx + 0x18], 0x2f
sub byte [rcx + 0x18], 0x4f
xchg r13, rcx
mov r13, qword [rbx]
xchg r13, rcx
mov byte [rbx + 0x18], 0x5d
sub byte [rbx + 0x18], 0x2c
add byte [rbx + 0x18], 0x3a
xor byte [rbx + 0x18], 0x38
sub byte [rbx + 0x18], 0x41
sub byte [rbx + 0x18], 0xc
add byte [rbx + 0x18], 0x3b
xor byte [rbx + 0x18], 0x41
xchg r8, rax
mov r8, qword [rcx + 0x10]
xchg r8, rax
mov qword [rbx], rax
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14002ebfe
mov qword [rax + 8], rbx
xchg r15, rax
mov r15, qword [rbx + 8]
xchg r15, rax
lea rdx, [rbx + 8]
xchg r12, rax
mov qword [rcx + 8], r12
xchg r12, rax
xchg rdx, rax
mov rdx, qword [rsi]
xchg rdx, rax
cmp rbx, qword [rax + 8]
jne 0x14002ec3c
mov qword [rax + 8], rcx
mov qword [rcx + 0x10], rbx
xchg rbp, rcx
mov qword [rdx], rbp
xchg rbp, rcx
mov rcx, qword [rbx]
jmp 0x14002ec8a
mov rax, qword [rdx]
cmp rbx, qword [rax + 0x10]
jne 0x14002ec68
xchg rcx, rdx
mov qword [rax + 0x10], rdx
xchg rcx, rdx
mov qword [rcx + 0x10], rbx
xchg rsi, rcx
mov qword [rdx], rsi
xchg rcx, rsi
mov rcx, qword [rbx]
jmp 0x14002ec8a
xchg rbx, rcx
mov qword [rax], rbx
xchg rbx, rcx
mov qword [rcx + 0x10], rbx
xchg r15, rcx
mov qword [rdx], r15
xchg r15, rcx
mov rcx, qword [rbx]
jmp 0x14002ec8a
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002ecd4
mov r8, qword [rcx + 0x10]
cmp byte [r8 + 0x18], 1
jne 0x14002ecf6
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ecf6
mov byte [rcx + 0x18], 0x19
xor byte [rcx + 0x18], 0x36
xor byte [rcx + 0x18], 0x1d
add byte [rcx + 0x18], 0x1f
sub byte [rcx + 0x18], 0x13
add byte [rcx + 0x18], 0x38
sub byte [rcx + 0x18], 0x5a
add byte [rcx + 0x18], 4
xor byte [rcx + 0x18], 0x20
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
xchg rdi, r10
mov r10, rdi
xchg rdi, r10
mov rbx, qword [rdx]
cmp r10, qword [rax + 8]
jne 0x14002e96c
jmp 0x14002edb2
xchg rbx, rax
mov rbx, qword [rcx]
xchg rbx, rax
cmp byte [rax + 0x18], 1
jne 0x14002ed65
mov byte [r8 + 0x18], 0x3b
xor byte [r8 + 0x18], 0x67
sub byte [r8 + 0x18], 0x57
xor byte [r8 + 0x18], 0xa
add byte [r8 + 0x18], 0x11
add byte [r8 + 0x18], 0x5d
xor byte [r8 + 0x18], 0x4d
sub byte [r8 + 0x18], 0x2f
xchg rcx, r13
mov rdx, r13
xchg r13, rcx
mov byte [rcx + 0x18], 0x5b
sub byte [rcx + 0x18], 0x15
xor byte [rcx + 0x18], 0x50
sub byte [rcx + 0x18], 0xb
add byte [rcx + 0x18], 0x3c
add byte [rcx + 0x18], 0x35
sub byte [rcx + 0x18], 0x7c
xchg rsi, r8
mov rcx, r8
xchg rsi, r8
call fcn.14002f6e0
mov rcx, qword [rbx]
movzx eax, byte [rbx + 0x18]
mov rdx, rbx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 1
add byte [rbx + 0x18], 0x5b
add byte [rbx + 0x18], 0x1e
sub byte [rbx + 0x18], 0x61
sub byte [rbx + 0x18], 3
add byte [rbx + 0x18], 0xc
add byte [rbx + 0x18], 0xf
sub byte [rbx + 0x18], 0x30
mov rax, qword [rcx]
mov rcx, rsi
mov byte [rax + 0x18], 0x67
xor byte [rax + 0x18], 0x35
add byte [rax + 0x18], 0x2a
xor byte [rax + 0x18], 0x32
sub byte [rax + 0x18], 0x17
sub byte [rax + 0x18], 0x36
call fcn.14002f7a0
mov byte [rdi + 0x18], 0x75
sub byte [rdi + 0x18], 0xd
xor byte [rdi + 0x18], 0x5c
xor byte [rdi + 0x18], 0x3f
xor byte [rdi + 0x18], 0x13
xor byte [rdi + 0x18], 0x19
mov rcx, qword [rsi + 8]
mov rax, r14
xchg rsi, rdi
mov rsi, qword [rsp + 0x38]
xchg rsi, rdi
mov rbx, qword [rsp + 0x30]
test rcx, rcx
je 0x14002edf7
dec rcx
xchg rcx, r15
mov qword [rsi + 8], r15
xchg r15, rcx
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
nop
xchg qword [rsp], r14
add rsp, 8
ret