Function at 0x140049200
Capabilities:
Authenticate hmac

Disassembly:
xchg rbx, rdi
mov qword [rsp + 0x20], rdi
xchg rbx, rdi
mov byte [rsp + 0x18], r8b
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rsi
sub rsp, 8
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
movzx r15d, r9b
xchg r13, rdx
mov rdx, rcx
xchg r13, rdx
mov byte [rcx], 0x36
xor byte [rcx], 0x64
xor byte [rcx], 4
xor byte [rcx], 0x3f
add byte [rcx], 9
xor byte [rcx], 0x77
add byte [rcx], 4
add byte [rcx], 0x5c
sub byte [rcx], 0x65
xor eax, eax
mov qword [rcx + 8], rax
mov r12, qword [rdx + 8]
mov rbx, qword [rdx]
xchg rdi, rbx
mov rbx, rdi
xchg rdi, rbx
cmp rbx, r12
je 0x1400492fe
mov rsi, qword [rdi + 0x10]
mov rax, rdi
test rsi, rsi
cmovne rax, rsi
cmp byte [rax], 2
jne 0x140049410
mov rcx, rdi
test rsi, rsi
cmovne rcx, rsi
call fcn.1400704f0
cmp rax, 2
jne 0x140049410
xchg r14, rdx
mov rdx, rdi
xchg rdx, r14
test rsi, rsi
cmovne r14, rsi
cmp byte [r14], al
jne 0x1400497dd
mov rax, qword [r14 + 8]
xchg rcx, r12
mov r12, qword [rax]
xchg r12, rcx
cmp byte [rcx], 3
jne 0x140049410
add rdi, 0x18
cmp rdi, r12
jne 0x14004928d
movzx r8d, byte [rbp + 0x77]
mov al, 0x37
add al, 0x2c
sub al, 0x45
add al, 0x51
sub al, 0x53
add al, 7
xor al, 0x59
sub al, 0x79
test r8b, r8b
jne 0x140049338
xor ecx, ecx
movzx eax, al
cmp r15b, 2
cmovne ecx, eax
movzx eax, cl
cmp r15b, 1
jne 0x140049338
test cl, cl
je 0x140049776
test al, al
je 0x140049670
mov byte [r13], 0x1c
xor byte [r13], 0x2f
add byte [r13], 5
add byte [r13], 0x41
sub byte [r13], 0x48
add byte [r13], 9
add byte [r13], 9
add byte [r13], 0x33
sub byte [r13], 0x75
mov dl, 0x15
xor dl, 5
add dl, 0x6d
sub dl, 0x7b
add dl, 0x5c
xor dl, 0x5f
lea rcx, [rbp + 0x67]
call fcn.14004ba70
mov rax, qword [rbp + 0x67]
mov qword [r13 + 8], rax
cmp rbx, r12
je 0x1400496f0
movabs rdi, 0x333333347f6d92f
sub rdi, 0x150052e2
xor rdi, 0x5638509e
sub rdi, 0x34e1925c
add rdi, 0xf1b2fb1
add rdi, 0x3ef4110a
sub rdi, 0x487d7cb6
xor rdi, 0x64c3b4f
nop dword [rax + rax]
xchg rdx, r12
mov r12, qword [rbx + 0x10]
xchg rdx, r12
test rdx, rdx
jne 0x14004941c
movzx esi, byte [rbx]
mov byte [rbp - 0x79], sil
xchg r10, rax
mov r10, qword [rbx + 8]
xchg r10, rax
xchg r9, rax
mov qword [rbp - 0x71], r9
xchg r9, rax
mov byte [rbx], dl
mov qword [rbx + 8], rdx
jmp 0x140049431
xor al, al
movzx r8d, byte [rbp + 0x77]
jmp 0x14004930e
lea rcx, [rbp - 0x79]
call fcn.140048ea0
xchg rdx, rax
mov rdx, qword [rbp - 0x71]
xchg rdx, rax
movzx esi, byte [rbp - 0x79]
mov r14, qword [r13 + 8]
mov r15, qword [rax]
mov qword [rbp + 0x67], r15
mov r15, qword [r15 + 8]
xchg r15, r8
mov r15, r8
xchg r15, r8
lea rdx, [rbp - 0x49]
mov rcx, r14
call fcn.140033ce0
movups xmm0, xmmword [rax]
xchg rdx, rbp
movups xmmword [rdx - 0x69], xmm0
xchg rdx, rbp
movsd xmm0, qword [rax + 0x10]
movsd qword [rbp - 0x19], xmm0
xchg r8, r9
mov r9, qword [rbp - 0x19]
xchg r9, r8
cmp byte [r8 + 0x19], 0
jne 0x1400494a4
sub r8, 0xffffffffffffffe0
xchg rdx, r15
mov r15, rdx
xchg r15, rdx
xchg rcx, rbp
mov rbp, r14
xchg rcx, rbp
call fcn.140030920
test al, al
je 0x140049645
cmp qword [r14 + 8], rdi
je 0x140049770
mov rdi, qword [r14]
mov qword [rbp - 0x59], r14
mov qword [rbp - 0x51], 0x5001483d
sub qword [rbp - 0x51], 0x372263e
add qword [rbp - 0x51], 0x15e0819
add qword [rbp - 0x51], 0x121897ca
xor qword [rbp - 0x51], 0x686aa061
add qword [rbp - 0x51], 0x232b8ca9
add qword [rbp - 0x51], 0x1fe7baec
xor qword [rbp - 0x51], 0x5dffce48
sub qword [rbp - 0x51], 0x167d6750
mov ecx, 0x52f5c7a6
sub ecx, 0x312ec6ab
add ecx, 0x1761b8cb
sub ecx, 0x855f1af
xor ecx, 0x629addc
sub ecx, 0x36fb657b
call fcn.1401fcb6c
xchg r8, rax
mov rax, r8
xchg r8, rax
xorps xmm0, xmm0
xchg r13, rax
movups xmmword [r13 + 0x20], xmm0
xchg r13, rax
xor edx, edx
mov qword [rax + 0x30], rdx
xchg r9, rdx
mov qword [rax + 0x38], r9
xchg r9, rdx
xchg rdi, r15
movups xmm0, xmmword [rdi]
xchg r15, rdi
xchg rcx, rax
movups xmmword [rcx + 0x20], xmm0
xchg rcx, rax
xchg r14, r15
movups xmm1, xmmword [r14 + 0x10]
xchg r15, r14
xchg r15, rax
movups xmmword [r15 + 0x30], xmm1
xchg r15, rax
mov qword [r15 + 0x10], rdx
mov qword [r15 + 0x18], 0x6c5a8517
xor qword [r15 + 0x18], 0x36668bde
sub qword [r15 + 0x18], 0x4ca593e0
xor qword [r15 + 0x18], 0x2ef36ed4
xor qword [r15 + 0x18], 0x4e293980
xor qword [r15 + 0x18], 0x21d90ee7
sub qword [r15 + 0x18], 0x51f3a70
xor qword [r15 + 0x18], 0x4775e8e5
mov byte [r15], dl
xchg rsi, rcx
mov rsi, qword [rbp + 0x67]
xchg rsi, rcx
movzx eax, byte [rcx + 0x10]
mov byte [r8 + 0x40], al
xchg r11, rax
mov r11, qword [rcx + 0x18]
xchg r11, rax
xchg rcx, rax
mov qword [r8 + 0x48], rcx
xchg rcx, rax
mov byte [rcx + 0x10], dl
xchg r8, rdx
mov qword [rcx + 0x18], r8
xchg rdx, r8
xchg rdi, r14
mov qword [r8], r14
xchg rdi, r14
mov qword [r8 + 8], rdi
mov qword [r8 + 0x10], rdi
mov word [r8 + 0x18], dx
mov qword [rbp - 0x51], rdx
xchg r11, rbp
movups xmm0, xmmword [r11 - 0x69]
xchg rbp, r11
movaps xmmword [rbp - 0x69], xmm0
lea rdx, [rbp - 0x69]
mov rcx, r14
call fcn.140052fa0
movabs rdi, 0x33333334cbf2103
sub rdi, 0x36ffe3e8
xor rdi, 0x1ecc01b0
add rdi, 0x2430b40c
xor rdi, 0x26cda7ad
xor rdi, 0x3a5d6429
movzx edx, sil
lea rcx, [rbp - 0x71]
call fcn.140054410
nop
nop
sub rbx, 0x20b5e298
add rbx, 0x20b5e2b0
cmp rbx, r12
jne 0x1400493db
jmp 0x1400496f0
mov byte [r13], 0x5c
add byte [r13], 0xb
xor byte [r13], 0
sub byte [r13], 0x63
add byte [r13], 0x59
xor byte [r13], 0x2b
xor byte [r13], 0x60
xor byte [r13], 0x14
mov ecx, 0x1c036c92
xor ecx, 0x235cff47
xor ecx, 0x3681bf80
add ecx, 0x465b2bce
sub ecx, 0x2f13b159
xor ecx, 0x2125a6d2
call fcn.1401fcb6c
xchg rdi, rax
mov rax, rdi
xchg rdi, rax
lea rax, [rbp + 0x67]
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x61], rdi
lea r9, [rbp + 0x6f]
mov r8, r12
mov rdx, rbx
mov rcx, rdi
call fcn.1400301e0
nop
xchg rdi, rcx
mov qword [r13 + 8], rcx
xchg rcx, rdi
xchg rbp, rax
mov rbp, r13
xchg rbp, rax
mov rbx, qword [rsp + 0x118]
add rsp, 0xc0
nop
add rsp, 8
mov r15, qword [rsp - 8]
push rbx
push rbx
push rdx
push rbx
push rbx
push rax
push rax
push rbx
xchg qword [rsp + 0x40], r14
pop rbx
pop rax
pop rax
pop rbx
pop rbx
pop rdx
pop rbx
pop rbx
add rsp, 8
push rbx
push rax
push rbx
push rdx
xchg qword [rsp + 0x20], r13
add rsp, 0x28
nop
mov r12, qword [rsp]
add rsp, 8
push rdx
push rcx
xchg qword [rsp + 0x10], rdi
pop rcx
pop rdx
add rsp, 8
push rbx
push rdx
push rdx
push rcx
push rbx
push rbx
push rdx
push rdx
xchg qword [rsp + 0x40], rsi
pop rdx
pop rdx
pop rbx
pop rbx
pop rcx
pop rdx
pop rdx
pop rbx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
ret
call fcn.14002f7f0
nop
lea rdx, [0x140001708]
lea rcx, [rbp - 0x49]
call fcn.140049a40
nop
xor r9d, r9d
lea r8, [rbp - 0x49]
mov edx, 0x48c43357
sub edx, 0x1e394eaa
add edx, 0x4b8fbc34
xor edx, 0x2f1cdd2b
xor edx, 0x26cfbce0
sub edx, 0x32829f7c
add edx, 0x22ed5b5b
xor edx, 0x11e290cf
sub edx, 0x61d6ec99
lea rcx, [rbp - 0x11]
call fcn.1400395a0
lea rdx, [0x140215350]
lea rcx, [rbp - 0x11]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
xchg r14, r9
mov rcx, r9
xchg r14, r9
call fcn.1400714e0
mov qword [rbp + 0x67], rax
lea r8, [rbp + 0x67]
lea rdx, [0x1400016d0]
lea rcx, [rbp - 0x49]
call fcn.1400375b0
nop
mov r9, r14
xchg r8, rax
mov rax, r8
xchg r8, rax
mov edx, 0x4f97e2da
sub edx, 0x15f3bd04
xor edx, 0x32903b4c
add edx, 0x6f9f3079
sub edx, 0x68154f23
xor edx, 0x1b0570a4
add edx, 0x53c30e99
sub edx, 0x5d7b9cbc
lea rcx, [rbp - 0x11]
call fcn.14003a160
lea rdx, [0x140215350]
lea rcx, [rbp - 0x11]
call sub.VCRUNTIME140.dll__CxxThrowException
int3