Function at 0x7ff7a3907ac0
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x7ff7a4317500]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rax, rcx
mov qword [rbp - 0x79], rcx
mov dword [rbp - 0x61], 0
mov r13, qword [rax]
mov byte [rbp - 0x31], 0x5e
mov al, 0x38
mov cl, 0x37
mov dl, 0x28
mov r8b, 0x3b
mov r9b, 0x33
mov r10b, 1
mov r11b, 0x29
mov bl, 0x31
movzx edi, bl
movzx esi, al
movzx r14d, r8b
mov r15b, 0x2c
xor r12d, r12d
xor al, 0x5e
mov byte [rbp - 0x30], al
xor cl, 0x5e
mov byte [rbp - 0x2f], cl
xor dl, 0x5e
mov byte [rbp - 0x2e], dl
xor r8b, 0x5e
mov byte [rbp - 0x2d], r8b
xor r9b, 0x5e
mov byte [rbp - 0x2c], r9b
xor r10b, 0x5e
mov byte [rbp - 0x2b], r10b
xor r11b, 0x5e
mov byte [rbp - 0x2a], r11b
xor bl, 0x5e
mov byte [rbp - 0x29], bl
xor dil, 0x5e
mov byte [rbp - 0x28], dil
xor sil, 0x5e
mov byte [rbp - 0x27], sil
xor r14b, 0x5e
mov byte [rbp - 0x26], r14b
xor r15b, 0x5e
mov byte [rbp - 0x25], r15b
mov byte [rbp - 0x24], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
xor eax, eax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
lea rax, [rbp - 0x30]
mov r12, 0xffffffffffffffff
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x7ff7a3907ba5
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x21]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x21]
lea rcx, [0x7ff7a4320b00]
call fcn.7ff7a3817250
mov rdx, rax
lea rcx, [rbp - 0x71]
call fcn.7ff7a38092a0
lea rcx, [0x7ff7a4320970]
mov qword [rsp + 0x28], rcx
lea rcx, [0x7ff7a4317390]
mov qword [rsp + 0x20], rcx
mov r9, r13
mov r8, rax
mov edx, 0x83609
lea rcx, [rbp - 1]
call fcn.7ff7a3911ba0
nop
cmp byte [rbp - 1], 0
jne 0x7ff7a39080ca
movdqa xmm1, xmmword [0x7ff7a39e14e0]
movdqu xmmword [rbp - 0x21], xmm1
mov dl, 0x75
mov r8b, 0x62
mov r9b, 0x63
mov r10b, 0x79
mov r11b, 0x7f
mov bl, 0x7e
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x20], al
xor byte [rbp - 0x1f], cl
xor byte [rbp - 0x1e], cl
xor byte [rbp - 0x1d], cl
xor byte [rbp - 0x1c], cl
xor byte [rbp - 0x1b], cl
xor byte [rbp - 0x1a], cl
xor byte [rbp - 0x19], cl
xor byte [rbp - 0x18], cl
xor byte [rbp - 0x17], cl
xor byte [rbp - 0x16], cl
xor byte [rbp - 0x15], cl
xor byte [rbp - 0x14], cl
xor byte [rbp - 0x13], cl
xor byte [rbp - 0x12], cl
xor dl, cl
mov byte [rbp - 0x11], dl
xor r8b, cl
mov byte [rbp - 0x10], r8b
xor r9b, cl
mov byte [rbp - 0xf], r9b
xor r10b, cl
mov byte [rbp - 0xe], r10b
xor r11b, cl
mov byte [rbp - 0xd], r11b
xor bl, cl
mov byte [rbp - 0xc], bl
mov byte [rbp - 0xb], 0
lea rcx, [rbp - 0x20]
mov rax, r12
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x7ff7a3907ca0
lea rcx, [rbp + 7]
mov r13, qword [rbp + 7]
mov rbx, qword [rbp + 0x1f]
cmp rbx, 0xf
cmova rcx, r13
mov r8, qword [rbp + 0x17]
cmp r8, rax
jne 0x7ff7a3907d20
lea rdx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x7ff7a3907d20
mov edi, dword [rbp - 0x61]
cmp edi, 1
jge 0x7ff7a3907d20
cmp rbx, 0xf
jbe 0x7ff7a3907d12
lea rdx, [rbx + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x7ff7a3907d0a
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff7a3908432
mov rcx, r13
call fcn.7ff7a3938048
inc edi
mov dword [rbp - 0x61], edi
mov rax, qword [rbp - 0x79]
jmp 0x7ff7a3907b00
lea rax, [rbp - 0x71]
mov qword [rbp - 0x59], rax
mov byte [rbp - 0x71], 0
xor eax, eax
mov qword [rbp - 0x69], rax
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.7ff7a380c270
mov byte [rbp - 0x71], 4
mov byte [rbp - 0x79], 1
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x31], 0x55
mov al, 0x33
mov cl, 0x3c
mov dl, 0x23
mov r8b, 0x30
mov r9b, 0x38
mov r10b, 0xa
mov r11b, 0x22
mov bl, 0x3a
movzx edi, bl
movzx esi, al
movzx r14d, r8b
mov r15b, 0x27
xor r12d, r12d
xor al, 0x55
mov byte [rbp - 0x30], al
xor cl, 0x55
mov byte [rbp - 0x2f], cl
xor dl, 0x55
mov byte [rbp - 0x2e], dl
xor r8b, 0x55
mov byte [rbp - 0x2d], r8b
xor r9b, 0x55
mov byte [rbp - 0x2c], r9b
xor r10b, 0x55
mov byte [rbp - 0x2b], r10b
xor r11b, 0x55
mov byte [rbp - 0x2a], r11b
xor bl, 0x55
mov byte [rbp - 0x29], bl
xor dil, 0x55
mov byte [rbp - 0x28], dil
xor sil, 0x55
mov byte [rbp - 0x27], sil
xor r14b, 0x55
mov byte [rbp - 0x26], r14b
xor r15b, 0x55
mov byte [rbp - 0x25], r15b
mov byte [rbp - 0x24], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
xor eax, eax
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], rax
lea rax, [rbp - 0x30]
mov r12, 0xffffffffffffffff
mov r8, r12
nop
inc r8
cmp byte [rax + r8], 0
jne 0x7ff7a3907df0
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x21]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x21]
lea rcx, [0x7ff7a4320b00]
call fcn.7ff7a3817250
mov r15, rax
mov byte [rbp - 0x31], 0x59
mov cl, 0x3d
mov dl, 0x36
mov r8b, 0x2e
mov r9b, 0x37
mov r10b, 0x35
movzx r11d, dl
mov bl, 0x38
movzx edi, cl
mov sil, 0x3c
movzx r14d, cl
xor eax, eax
xor cl, 0x59
mov byte [rbp - 0x30], cl
xor dl, 0x59
mov byte [rbp - 0x2f], dl
xor r8b, 0x59
mov byte [rbp - 0x2e], r8b
xor r9b, 0x59
mov byte [rbp - 0x2d], r9b
xor r10b, 0x59
mov byte [rbp - 0x2c], r10b
xor r11b, 0x59
mov byte [rbp - 0x2b], r11b
xor bl, 0x59
mov byte [rbp - 0x2a], bl
xor dil, 0x59
mov byte [rbp - 0x29], dil
xor sil, 0x59
mov byte [rbp - 0x28], sil
xor r14b, 0x59
mov byte [rbp - 0x27], r14b
mov byte [rbp - 0x26], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], rax
mov qword [rbp - 0x39], rax
lea rax, [rbp - 0x30]
mov r8, r12
inc r8
cmp byte [rax + r8], 0
jne 0x7ff7a3907ea0
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x51]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x51]
mov rcx, r15
call fcn.7ff7a3817250
mov rcx, rax
lea rdx, [rbp - 0x71]
call fcn.7ff7a3818750
lea rax, [rbp - 0x71]
mov qword [rbp - 0x59], rax
mov byte [rbp - 0x71], 0
xor eax, eax
mov qword [rbp - 0x69], rax
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.7ff7a380c270
mov byte [rbp - 0x71], 4
mov byte [rbp - 0x79], 0
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x31], 0x34
mov al, 0x52
mov cl, 0x5d
mov dl, 0x42
mov r8b, 0x51
mov r9b, 0x59
mov r10b, 0x6b
mov r11b, 0x43
mov bl, 0x5b
movzx edi, bl
movzx esi, al
movzx r14d, r8b
mov r15b, 0x46
xor r12d, r12d
xor al, 0x34
mov byte [rbp - 0x30], al
xor cl, 0x34
mov byte [rbp - 0x2f], cl
xor dl, 0x34
mov byte [rbp - 0x2e], dl
xor r8b, 0x34
mov byte [rbp - 0x2d], r8b
xor r9b, 0x34
mov byte [rbp - 0x2c], r9b
xor r10b, 0x34
mov byte [rbp - 0x2b], r10b
xor r11b, 0x34
mov byte [rbp - 0x2a], r11b
xor bl, 0x34
mov byte [rbp - 0x29], bl
xor dil, 0x34
mov byte [rbp - 0x28], dil
xor sil, 0x34
mov byte [rbp - 0x27], sil
xor r14b, 0x34
mov byte [rbp - 0x26], r14b
xor r15b, 0x34
mov byte [rbp - 0x25], r15b
mov byte [rbp - 0x24], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
xor esi, esi
mov qword [rbp - 0x41], rsi
mov qword [rbp - 0x39], rsi
lea rax, [rbp - 0x30]
mov r12, 0xffffffffffffffff
mov r8, r12
nop
inc r8
cmp byte [rax + r8], sil
jne 0x7ff7a3907fa0
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x51]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x51]
lea rcx, [0x7ff7a4320b00]
call fcn.7ff7a3817250
mov rdi, rax
mov byte [rbp - 0x31], 0x2f
mov cl, 0x5c
mov dl, 0x5a
mov r8b, 0x4c
movzx r9d, r8b
mov r10b, 0x4a
movzx r11d, cl
movzx ebx, cl
xor eax, eax
xor cl, 0x2f
mov byte [rbp - 0x30], cl
xor dl, 0x2f
mov byte [rbp - 0x2f], dl
xor r8b, 0x2f
mov byte [rbp - 0x2e], r8b
xor r9b, 0x2f
mov byte [rbp - 0x2d], r9b
xor r10b, 0x2f
mov byte [rbp - 0x2c], r10b
xor r11b, 0x2f
mov byte [rbp - 0x2b], r11b
xor bl, 0x2f
mov byte [rbp - 0x2a], bl
mov byte [rbp - 0x29], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
lea rax, [rbp - 0x30]
nop dword [rax]
inc r12
cmp byte [rax + r12], sil
jne 0x7ff7a3908030
mov r8, r12
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x21]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.7ff7a3817250
mov rcx, rax
lea rdx, [rbp - 0x71]
call fcn.7ff7a3818750
nop
mov rax, qword [rbp + 0x1f]
cmp rax, 0xf
jbe 0x7ff7a390809d
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x7ff7a3908095
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff7a3908432
mov rcx, r13
call fcn.7ff7a3938048
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.7ff7a3937cf0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rax, [rbp - 0x71]
mov qword [rbp - 0x59], rax
mov byte [rbp - 0x71], 0
xor eax, eax
mov qword [rbp - 0x69], rax
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.7ff7a380c270
mov byte [rbp - 0x71], 4
mov byte [rbp - 0x79], 1
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x31], 0x6f
mov al, 9
mov cl, 6
mov dl, 0x19
mov r8b, 0xa
mov r9b, 2
mov r10b, 0x30
mov r11b, 0x18
xor bl, bl
xor dil, dil
movzx esi, al
movzx r14d, r8b
mov r15b, 0x1d
xor r13d, r13d
xor al, 0x6f
mov byte [rbp - 0x30], al
xor cl, 0x6f
mov byte [rbp - 0x2f], cl
xor dl, 0x6f
mov byte [rbp - 0x2e], dl
xor r8b, 0x6f
mov byte [rbp - 0x2d], r8b
xor r9b, 0x6f
mov byte [rbp - 0x2c], r9b
xor r10b, 0x6f
mov byte [rbp - 0x2b], r10b
xor r11b, 0x6f
mov byte [rbp - 0x2a], r11b
xor bl, 0x6f
mov byte [rbp - 0x29], bl
xor dil, 0x6f
mov byte [rbp - 0x28], dil
xor sil, 0x6f
mov byte [rbp - 0x27], sil
xor r14b, 0x6f
mov byte [rbp - 0x26], r14b
xor r15b, 0x6f
mov byte [rbp - 0x25], r15b
mov byte [rbp - 0x24], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
mov qword [rbp - 0x41], r13
mov qword [rbp - 0x39], r13
lea rax, [rbp - 0x30]
mov r8, r12
inc r8
cmp byte [rax + r8], r13b
jne 0x7ff7a3908190
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x51]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x51]
lea rcx, [0x7ff7a4320b00]
call fcn.7ff7a3817250
mov r15, rax
mov byte [rbp - 0x31], 0x3c
mov cl, 0x58
mov dl, 0x53
mov r8b, 0x4b
mov r9b, 0x52
mov r10b, 0x50
movzx r11d, dl
mov bl, 0x5d
movzx edi, cl
mov sil, 0x59
movzx r14d, cl
xor eax, eax
xor cl, 0x3c
mov byte [rbp - 0x30], cl
xor dl, 0x3c
mov byte [rbp - 0x2f], dl
xor r8b, 0x3c
mov byte [rbp - 0x2e], r8b
xor r9b, 0x3c
mov byte [rbp - 0x2d], r9b
xor r10b, 0x3c
mov byte [rbp - 0x2c], r10b
xor r11b, 0x3c
mov byte [rbp - 0x2b], r11b
xor bl, 0x3c
mov byte [rbp - 0x2a], bl
xor dil, 0x3c
mov byte [rbp - 0x29], dil
xor sil, 0x3c
mov byte [rbp - 0x28], sil
xor r14b, 0x3c
mov byte [rbp - 0x27], r14b
mov byte [rbp - 0x26], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], r13
mov qword [rbp - 9], r13
lea rax, [rbp - 0x30]
mov r8, r12
nop
inc r8
cmp byte [rax + r8], r13b
jne 0x7ff7a3908240
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x21]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x21]
mov rcx, r15
call fcn.7ff7a3817250
mov rcx, rax
lea rdx, [rbp - 0x71]
call fcn.7ff7a3818750
lea rax, [rbp - 0x71]
mov qword [rbp - 0x59], rax
mov byte [rbp - 0x71], 0
xor eax, eax
mov qword [rbp - 0x69], rax
xor edx, edx
lea rcx, [rbp - 0x69]
call fcn.7ff7a380c270
mov byte [rbp - 0x71], 4
mov byte [rbp - 0x79], 1
mov rax, qword [rbp - 0x79]
mov qword [rbp - 0x69], rax
mov byte [rbp - 0x31], 0x20
mov al, 0x46
mov cl, 0x49
mov dl, 0x56
mov r8b, 0x45
mov r9b, 0x4d
mov r10b, 0x7f
mov r11b, 0x57
mov bl, 0x4f
movzx edi, bl
movzx esi, al
movzx r14d, r8b
mov r15b, 0x52
xor r13d, r13d
xor al, 0x20
mov byte [rbp - 0x30], al
xor cl, 0x20
mov byte [rbp - 0x2f], cl
xor dl, 0x20
mov byte [rbp - 0x2e], dl
xor r8b, 0x20
mov byte [rbp - 0x2d], r8b
xor r9b, 0x20
mov byte [rbp - 0x2c], r9b
xor r10b, 0x20
mov byte [rbp - 0x2b], r10b
xor r11b, 0x20
mov byte [rbp - 0x2a], r11b
xor bl, 0x20
mov byte [rbp - 0x29], bl
xor dil, 0x20
mov byte [rbp - 0x28], dil
xor sil, 0x20
mov byte [rbp - 0x27], sil
xor r14b, 0x20
mov byte [rbp - 0x26], r14b
xor r15b, 0x20
mov byte [rbp - 0x25], r15b
mov byte [rbp - 0x24], r13b
xorps xmm0, xmm0
movups xmmword [rbp - 0x51], xmm0
xor esi, esi
mov qword [rbp - 0x41], rsi
mov qword [rbp - 0x39], rsi
lea rax, [rbp - 0x30]
mov r8, r12
inc r8
cmp byte [rax + r8], sil
jne 0x7ff7a3908336
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x51]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x51]
lea rcx, [0x7ff7a4320b00]
call fcn.7ff7a3817250
mov rdi, rax
mov byte [rbp - 0x31], 0x60
mov cl, 0x13
mov dl, 0x15
mov r8b, 3
movzx r9d, r8b
mov r10b, 5
movzx r11d, cl
movzx ebx, cl
xor eax, eax
xor cl, 0x60
mov byte [rbp - 0x30], cl
xor dl, 0x60
mov byte [rbp - 0x2f], dl
xor r8b, 0x60
mov byte [rbp - 0x2e], r8b
xor r9b, 0x60
mov byte [rbp - 0x2d], r9b
xor r10b, 0x60
mov byte [rbp - 0x2c], r10b
xor r11b, 0x60
mov byte [rbp - 0x2b], r11b
xor bl, 0x60
mov byte [rbp - 0x2a], bl
mov byte [rbp - 0x29], al
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
lea rax, [rbp - 0x30]
inc r12
cmp byte [rax + r12], sil
jne 0x7ff7a39083c2
mov r8, r12
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x21]
call fcn.7ff7a3814400
lea rdx, [rbp - 0x21]
mov rcx, rdi
call fcn.7ff7a3817250
mov rcx, rax
lea rdx, [rbp - 0x71]
call fcn.7ff7a3818750
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0xf
jbe 0x7ff7a390809d
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x7ff7a3908098
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x7ff7a3908098
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3