Function at 0x14002e4f0
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rsi
push rax
mov qword [rsp], r14
sub rsp, 0x20
mov rax, qword [rdx + 0x10]
lea r9, [rdx + 0x10]
xchg rdi, r10
mov qword [rsp + 0x38], r10
xchg r10, rdi
xchg rsi, rcx
mov rcx, rsi
xchg rcx, rsi
xchg r14, rsi
mov rsi, rdx
xchg r14, rsi
cmp byte [rax + 0x19], 0
je 0x14002e565
mov rax, qword [rdx + 8]
lea r8, [rdx + 8]
cmp byte [rax + 0x19], 0
jne 0x14002e59b
cmp rdx, qword [rax + 0x10]
jne 0x14002e59b
xchg rbx, rdx
mov rbx, rax
xchg rdx, rbx
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14002e53f
jmp 0x14002e59b
xchg rdx, r14
mov r14, qword [rax]
xchg rdx, r14
cmp byte [rdx + 0x19], 0
jne 0x14002e597
mov rcx, qword [rdx]
xchg r13, rdx
mov rax, r13
xchg rdx, r13
xchg rdx, r8
mov r8, rcx
xchg r8, rdx
cmp byte [rcx + 0x19], 0
je 0x14002e578
lea r8, [r14 + 8]
mov rcx, qword [r14]
mov rdi, qword [r9]
mov qword [rsp + 0x30], rbx
cmp byte [rcx + 0x19], 0
jne 0x14002e5cf
cmp byte [rdi + 0x19], 0
je 0x14002e5c2
mov rdi, rcx
jmp 0x14002e5cf
mov rdi, qword [rax + 0x10]
cmp rax, r14
jne 0x14002e6ea
cmp byte [rdi + 0x19], 0
xchg rbx, rdx
mov rdx, qword [r8]
xchg rbx, rdx
jne 0x14002e5e6
mov qword [rdi + 8], rbx
xchg r15, rax
mov r15, qword [rsi]
xchg r15, rax
cmp qword [rax + 8], r14
jne 0x14002e606
xchg rcx, rdi
mov qword [rax + 8], rcx
xchg rdi, rcx
jmp 0x14002e61b
cmp qword [rbx], r14
jne 0x14002e617
mov qword [rbx], rdi
jmp 0x14002e61b
mov qword [rbx + 0x10], rdi
xchg r15, r8
mov r15, qword [rsi]
xchg r15, r8
cmp qword [r8], r14
jne 0x14002e684
cmp byte [rdi + 0x19], 0
je 0x14002e645
xchg rbx, rsi
mov rdx, rsi
xchg rsi, rbx
jmp 0x14002e681
mov rcx, qword [rdi]
mov rdx, rdi
cmp byte [rcx + 0x19], 0
jne 0x14002e681
nop word [rax + rax]
xchg rbp, rax
mov rbp, qword [rcx]
xchg rbp, rax
xchg rcx, rdx
mov rcx, rdx
xchg rcx, rdx
xchg r11, rax
mov rcx, r11
xchg r11, rax
cmp byte [rax + 0x19], 0
je 0x14002e660
mov qword [r8], rdx
mov rdx, qword [rsi]
cmp qword [rdx + 0x10], r14
jne 0x14002e799
cmp byte [rdi + 0x19], 0
je 0x14002e6ad
xchg rcx, rbx
mov rbx, rcx
xchg rbx, rcx
mov qword [rdx + 0x10], rbx
jmp 0x14002e799
mov rax, qword [rdi + 0x10]
xchg r15, rdi
mov rcx, r15
xchg r15, rdi
cmp byte [rax + 0x19], 0
jne 0x14002e6db
nop
xchg r9, rax
mov rcx, r9
xchg r9, rax
mov rax, qword [rax + 0x10]
cmp byte [rax + 0x19], 0
je 0x14002e6c6
xchg r12, rcx
mov qword [rdx + 0x10], r12
xchg r12, rcx
jmp 0x14002e799
xchg r12, rax
mov qword [rcx + 8], r12
xchg r12, rax
mov rcx, qword [r14]
mov qword [rax], rcx
cmp rax, qword [r9]
jne 0x14002e70d
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
jmp 0x14002e748
cmp byte [rdi + 0x19], 0
xchg r11, rbx
mov r11, qword [rax + 8]
xchg rbx, r11
jne 0x14002e72b
xchg rbx, rcx
mov qword [rdi + 8], rcx
xchg rbx, rcx
mov qword [rbx], rdi
xchg r13, rcx
mov r13, qword [r9]
xchg rcx, r13
mov qword [rax + 0x10], rcx
xchg rcx, r13
mov r13, qword [r9]
xchg rcx, r13
mov qword [rcx + 8], rax
xchg r13, rcx
mov r13, qword [rsi]
xchg rcx, r13
cmp qword [rcx + 8], r14
jne 0x14002e764
mov qword [rcx + 8], rax
jmp 0x14002e77c
mov rcx, qword [r8]
cmp qword [rcx], r14
jne 0x14002e778
mov qword [rcx], rax
jmp 0x14002e77c
mov qword [rcx + 0x10], rax
xchg r14, rcx
mov r14, qword [r8]
xchg rcx, r14
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 0x14002ec5e
xchg r15, rax
mov r15, qword [rsi]
xchg r15, rax
cmp rdi, qword [rax + 8]
je 0x14002ec3a
nop word [rax + rax]
cmp byte [rdi + 0x18], 1
xchg rcx, rbx
mov r10, rcx
xchg rbx, rcx
jne 0x14002ec3a
xchg r15, rcx
mov r15, qword [rbx]
xchg rcx, r15
cmp rdi, rcx
jne 0x14002e9f2
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x18], 0
jne 0x14002e8fc
mov byte [rcx + 0x18], 0x36
xor byte [rcx + 0x18], 0x4f
xor byte [rcx + 0x18], 0x40
add byte [rcx + 0x18], 0x2f
xor byte [rcx + 0x18], 0x5a
sub byte [rcx + 0x18], 0x21
sub byte [rcx + 0x18], 5
add byte [rcx + 0x18], 0x63
sub byte [rcx + 0x18], 0x6e
xchg rcx, r14
mov r14, qword [rbx + 0x10]
xchg rcx, r14
mov byte [rbx + 0x18], 2
xor byte [rbx + 0x18], 0x52
sub byte [rbx + 0x18], 0x2d
sub byte [rbx + 0x18], 0xb
xor byte [rbx + 0x18], 0x13
xor byte [rbx + 0x18], 0x57
xor byte [rbx + 0x18], 0x4d
add byte [rbx + 0x18], 0x1e
sub byte [rbx + 0x18], 0x2f
xchg rdi, rax
mov rdi, qword [rcx]
xchg rdi, rax
xchg r9, rax
mov qword [rbx + 0x10], r9
xchg r9, rax
xchg r14, rax
mov r14, qword [rcx]
xchg r14, rax
cmp byte [rax + 0x19], 0
jne 0x14002e869
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
xchg r14, rax
mov r14, qword [rsi]
xchg r14, rax
cmp rbx, qword [rax + 8]
jne 0x14002e8a3
xchg r8, rcx
mov qword [rax + 8], r8
xchg rcx, r8
mov qword [rcx], rbx
mov qword [rdx], rcx
mov rcx, qword [rbx + 0x10]
jmp 0x14002e900
xchg r14, rax
mov r14, qword [rdx]
xchg r14, rax
cmp rbx, qword [rax]
jne 0x14002e8dd
xchg rsi, rcx
mov qword [rax], rsi
xchg rcx, rsi
xchg rbx, r8
mov qword [rcx], r8
xchg rbx, r8
xchg r8, rcx
mov qword [rdx], r8
xchg r8, rcx
xchg rcx, r15
mov r15, qword [rbx + 0x10]
xchg rcx, r15
jmp 0x14002e900
mov qword [rax + 0x10], rcx
xchg r9, rbx
mov qword [rcx], r9
xchg r9, rbx
mov qword [rdx], rcx
xchg r12, rcx
mov r12, qword [rbx + 0x10]
xchg rcx, r12
jmp 0x14002e900
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002eb40
mov r9, qword [rcx]
cmp byte [r9 + 0x18], 1
jne 0x14002e926
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x18], 1
je 0x14002eb24
xchg r11, rax
mov r11, qword [rcx + 0x10]
xchg r11, rax
cmp byte [rax + 0x18], 1
jne 0x14002e99b
mov byte [r9 + 0x18], 0x4e
add byte [r9 + 0x18], 0xf
xor byte [r9 + 0x18], 0x61
sub byte [r9 + 0x18], 0x1f
add byte [r9 + 0x18], 0x56
xor byte [r9 + 0x18], 0x3a
sub byte [r9 + 0x18], 0x27
sub byte [r9 + 0x18], 0x21
xchg rcx, rbp
mov rdx, rbp
xchg rcx, rbp
mov byte [rcx + 0x18], 0x27
xor byte [rcx + 0x18], 0x1a
add byte [rcx + 0x18], 9
add byte [rcx + 0x18], 0x10
sub byte [rcx + 0x18], 0x1d
add byte [rcx + 0x18], 0x15
xor byte [rcx + 0x18], 0x50
sub byte [rcx + 0x18], 0x1e
xchg rcx, rsi
mov rsi, rcx
xchg rcx, rsi
call fcn.14002f690
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rbx + 0x18]
mov rdx, rbx
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 5
xor byte [rbx + 0x18], 0x37
xor byte [rbx + 0x18], 0x67
xor byte [rbx + 0x18], 0x74
xor byte [rbx + 0x18], 0x32
sub byte [rbx + 0x18], 0x12
mov rax, qword [rcx + 0x10]
mov rcx, rsi
mov byte [rax + 0x18], 0x3f
xor byte [rax + 0x18], 0x73
sub byte [rax + 0x18], 0x1f
sub byte [rax + 0x18], 0x1b
add byte [rax + 0x18], 0x4c
add byte [rax + 0x18], 0x1e
xor byte [rax + 0x18], 0x62
add byte [rax + 0x18], 0x14
sub byte [rax + 0x18], 0x31
call fcn.14002f5c0
jmp 0x14002ec3a
cmp byte [rcx + 0x18], 0
jne 0x14002eaf4
mov byte [rcx + 0x18], 0x60
xor byte [rcx + 0x18], 0x34
add byte [rcx + 0x18], 0xe
xor byte [rcx + 0x18], 0x7b
xor byte [rcx + 0x18], 0x19
xor byte [rcx + 0x18], 0x52
sub byte [rcx + 0x18], 0x27
add byte [rcx + 0x18], 0x11
sub byte [rcx + 0x18], 0x3b
mov rcx, qword [rbx]
mov byte [rbx + 0x18], 0x39
xor byte [rbx + 0x18], 0x3f
add byte [rbx + 0x18], 0x77
sub byte [rbx + 0x18], 0x16
xor byte [rbx + 0x18], 0x6a
add byte [rbx + 0x18], 0x5c
sub byte [rbx + 0x18], 0x69
xchg r9, rax
mov r9, qword [rcx + 0x10]
xchg r9, rax
xchg r10, rax
mov qword [rbx], r10
xchg r10, rax
mov rax, qword [rcx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14002ea60
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 0x14002eaa4
xchg rcx, rbx
mov qword [rax + 8], rbx
xchg rbx, rcx
xchg r12, rbx
mov qword [rcx + 0x10], r12
xchg r12, rbx
xchg r10, rcx
mov qword [rdx], r10
xchg rcx, r10
xchg r14, rcx
mov r14, qword [rbx]
xchg r14, rcx
jmp 0x14002eaf8
mov rax, qword [rdx]
cmp rbx, qword [rax + 0x10]
jne 0x14002ead0
mov qword [rax + 0x10], rcx
xchg rdx, rbx
mov qword [rcx + 0x10], rdx
xchg rdx, rbx
mov qword [rdx], rcx
xchg rcx, rsi
mov rsi, qword [rbx]
xchg rsi, rcx
jmp 0x14002eaf8
xchg r13, rcx
mov qword [rax], r13
xchg r13, rcx
xchg rbx, r13
mov qword [rcx + 0x10], r13
xchg rbx, r13
mov qword [rdx], rcx
xchg r14, rcx
mov r14, qword [rbx]
xchg r14, rcx
jmp 0x14002eaf8
lea rdx, [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x14002eb40
xchg r8, rsi
mov rsi, qword [rcx + 0x10]
xchg r8, rsi
cmp byte [r8 + 0x18], 1
jne 0x14002eb68
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002eb68
mov byte [rcx + 0x18], 0x33
xor byte [rcx + 0x18], 0x41
xor byte [rcx + 0x18], 0x12
sub byte [rcx + 0x18], 0x5d
add byte [rcx + 0x18], 2
xor byte [rcx + 0x18], 0x40
xor byte [rcx + 0x18], 0x45
xchg r14, rax
mov r14, qword [rsi]
xchg r14, rax
xchg rdi, r11
mov r11, r10
xchg rdi, r11
xchg rsi, rbx
mov rsi, qword [rdx]
xchg rsi, rbx
cmp r10, qword [rax + 8]
jne 0x14002e7c0
jmp 0x14002ec3a
mov rax, qword [rcx]
cmp byte [rax + 0x18], 1
jne 0x14002ebe1
mov byte [r8 + 0x18], 0x3b
xor byte [r8 + 0x18], 0x49
sub byte [r8 + 0x18], 0x6a
add byte [r8 + 0x18], 0x56
sub byte [r8 + 0x18], 0x3d
add byte [r8 + 0x18], 0x36
xor byte [r8 + 0x18], 0x39
xor byte [r8 + 0x18], 0x6f
xchg rcx, rdx
mov rcx, rdx
xchg rcx, rdx
mov byte [rcx + 0x18], 4
xor byte [rcx + 0x18], 0x71
sub byte [rcx + 0x18], 0x35
sub byte [rcx + 0x18], 0x21
add byte [rcx + 0x18], 2
add byte [rcx + 0x18], 0x35
add byte [rcx + 0x18], 0xf
add byte [rcx + 0x18], 0x18
sub byte [rcx + 0x18], 0x7d
xchg r8, rsi
mov rcx, r8
xchg rsi, r8
call fcn.14002f5c0
xchg rsi, rcx
mov rsi, qword [rbx]
xchg rsi, rcx
movzx eax, byte [rbx + 0x18]
xchg rbx, r10
mov rdx, r10
xchg rbx, r10
mov byte [rcx + 0x18], al
mov byte [rbx + 0x18], 0x32
sub byte [rbx + 0x18], 5
add byte [rbx + 0x18], 0x16
sub byte [rbx + 0x18], 8
add byte [rbx + 0x18], 1
sub byte [rbx + 0x18], 0x3b
mov rax, qword [rcx]
xchg rsi, rcx
mov rsi, rcx
xchg rcx, rsi
mov byte [rax + 0x18], 0x75
sub byte [rax + 0x18], 0x4c
add byte [rax + 0x18], 0x16
sub byte [rax + 0x18], 0x20
sub byte [rax + 0x18], 9
xor byte [rax + 0x18], 0
add byte [rax + 0x18], 0x5f
xor byte [rax + 0x18], 0x74
call fcn.14002f690
mov byte [rdi + 0x18], 0x6c
sub byte [rdi + 0x18], 0x36
add byte [rdi + 0x18], 0x1f
add byte [rdi + 0x18], 0
sub byte [rdi + 0x18], 0x2b
xor byte [rdi + 0x18], 0x1a
add byte [rdi + 0x18], 0x17
sub byte [rdi + 0x18], 0x23
sub byte [rdi + 0x18], 0x23
mov rcx, qword [rsi + 8]
mov rax, r14
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
test rcx, rcx
je 0x14002ec85
dec rcx
xchg r15, rcx
mov qword [rsi + 8], r15
xchg r15, rcx
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]