Function at 0x140217e80
Capabilities:
Authenticate hmac

Disassembly:
push rbp
sub rsp, 0x430
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov rax, r8
mov qword [rbp + 8], rax
mov rax, rdx
mov qword [rbp], rax
mov qword [rbp + 0x18], r8
mov qword [rbp + 0x10], rdx
lea rcx, [rbp + 0x20]
mov edx, 0xaa
mov r8d, 0x158
call fcn.140375530
lea rax, [rbp + 0x20]
mov qword [rbp + 0x178], 0x4d430001
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], 0x158
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov qword [rbp + 0x1a0], 0
lea rax, [rbp + 0x178]
xor ecx, ecx
mov edx, ecx
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
lea rcx, [rbp + 0x1a8]
mov edx, 0xaa
mov r8d, 0x80
call fcn.140375530
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x178], 0x4d430001
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], 0x80
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov qword [rbp + 0x1a0], 0
lea rax, [rbp + 0x178]
xor ecx, ecx
mov edx, ecx
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
lea rcx, [rbp + 0x228]
mov edx, 0xaa
mov r8d, 0x80
call fcn.140375530
mov r8, qword [rbp + 8]
lea rax, [rbp + 0x228]
mov qword [rbp + 0x178], 0x4d430001
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], 0x80
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x198], 0
mov qword [rbp + 0x1a0], 0
lea rax, [rbp + 0x178]
xor ecx, ecx
mov edx, ecx
rol rdi, 3
rol rdi, 0xd
rol rdi, 0x3d
rol rdi, 0x33
xchg rbx, rbx
cmp r8, 0x80
ja 0x140218043
jmp 0x140218071
mov qword [rbp + 0x2a8], 0
lea rax, [rbp + 0x20]
add rax, 0xd8
mov qword [rbp - 0x18], rax
jmp 0x1402182b3
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
lea r8, [rbp + 0x1a8]
call fcn.140155a30
lea rcx, [rbp + 0x1a8]
add rcx, 0x30
xor edx, edx
mov r8d, 0x50
call fcn.140375530
jmp 0x140218025
mov rax, qword [rbp + 8]
cmp rax, 0x80
jb 0x140218081
jmp 0x140218099
jmp 0x140218025
mov rcx, qword [rbp + 8]
lea rax, [rbp + 0x1a8]
mov qword [rbp - 0x20], rax
xor eax, eax
cmp rax, rcx
jbe 0x1402180be
jmp 0x1402180c0
mov rcx, qword [rbp + 8]
mov eax, 0x80
cmp rax, rcx
je 0x14021824a
jmp 0x14021824c
mov rax, qword [rbp + 8]
cmp rax, 0x80
jbe 0x1402180da
jmp 0x1402180dc
jmp 0x1402180b0
mov rdx, qword [rbp + 8]
xor eax, eax
mov ecx, eax
call fcn.140010910
mov rcx, qword [rbp + 8]
xor eax, eax
cmp rax, rcx
jbe 0x140218104
jmp 0x140218106
jmp 0x1402180cd
mov rcx, qword [rbp + 8]
mov edx, 0x80
call fcn.1400011f0
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp - 0x20]
mov rax, rcx
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
cmp rax, rcx
je 0x14021813f
jmp 0x140218141
jmp 0x1402180ea
mov rdx, qword [rbp + 8]
xor eax, eax
mov ecx, eax
call fcn.1400011f0
mov rcx, qword [rbp]
mov rax, qword [rbp - 0x28]
mov r9, qword [rbp - 0x30]
mov r8, rcx
add r8, r9
mov rdx, rax
add rdx, r9
cmp rax, r8
setae al
cmp rcx, rdx
setae cl
or al, cl
test al, 1
jne 0x14021818b
jmp 0x14021818d
jmp 0x140218113
lea rcx, str._memcpy_arguments_have_non_equal_lengths
mov edx, 0x28
xor eax, eax
mov r8d, eax
lea r9, [0x1403f70b0]
call fcn.140001170
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp]
mov rcx, qword [rbp - 0x28]
call fcn.1403750f0
mov rax, qword [rbp + 8]
lea rcx, [rbp + 0x1a8]
add rcx, rax
mov qword [rbp - 0x38], rcx
cmp rax, 0x80
jbe 0x1402181c2
jmp 0x1402181c4
jmp 0x14021815e
lea rcx, str._memcpy_arguments_alias
mov edx, 0x17
xor eax, eax
mov r8d, eax
lea r9, [0x1403f70b0]
call fcn.140001170
mov rcx, qword [rbp + 8]
mov eax, 0x80
sub rax, rcx
mov qword [rbp - 0x40], rax
mov al, 1
test al, 1
jne 0x1402181e0
jmp 0x1402181e2
jmp 0x1402181aa
mov rcx, qword [rbp + 8]
mov edx, 0x80
call fcn.140010910
mov rax, qword [rbp + 8]
cmp rax, 0x80
jbe 0x140218203
jmp 0x140218205
jmp 0x1402181d2
mov edx, 0x80
mov rcx, rdx
call fcn.1400011f0
mov rcx, qword [rbp - 0x38]
mov r8, qword [rbp - 0x40]
xor edx, edx
call fcn.140375530
jmp 0x14021807f
jmp 0x1402181ef
mov rcx, qword [rbp + 8]
mov edx, 0x80
call fcn.1400011f0
mov rcx, qword [rbp]
mov r8, rcx
add r8, 0x80
lea rdx, [rbp + 0x1a8]
add rdx, 0x80
lea rax, [rbp + 0x1a8]
cmp rax, r8
setae al
cmp rcx, rdx
setae cl
or al, cl
test al, 1
jne 0x140218284
jmp 0x140218286
jmp 0x140218213
lea rcx, str._memcpy_arguments_have_non_equal_lengths
mov edx, 0x28
xor eax, eax
mov r8d, eax
lea r9, [0x1403f70b0]
call fcn.140001170
mov rdx, qword [rbp]
lea rcx, [rbp + 0x1a8]
mov r8d, 0x80
call fcn.1403750f0
jmp 0x14021807f
jmp 0x140218269
lea rcx, str._memcpy_arguments_alias
mov edx, 0x17
xor eax, eax
mov r8d, eax
lea r9, [0x1403f70b0]
call fcn.140001170
mov qword [rbp + 0x2c0], 0
jmp 0x1402183d4
mov rax, qword [rbp + 0x2a8]
mov qword [rbp - 0x48], rax
cmp rax, 0x80
jb 0x1402182d9
jmp 0x140218300
mov rax, qword [rbp - 0x48]
add rax, 1
mov qword [rbp + 0x2a8], rax
jmp 0x1402182b3
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x18]
add rcx, rax
mov qword [rbp - 0x50], rcx
mov qword [rbp + 0x2b0], rcx
mov qword [rbp + 0x2b8], rax
cmp rax, 0x80
jb 0x140218318
jmp 0x14021831a
jmp 0x1402182a3
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
mov cl, byte [rbp + rcx + 0x1a8]
xor cl, 0x5c
mov byte [rax], cl
jmp 0x1402182c8
jmp 0x140218302
mov rcx, qword [rbp - 0x48]
mov edx, 0x80
call fcn.1400011f0
lea rcx, [rbp + 0x2d8]
call fcn.14015cb60
vmovdqu ymm0, ymmword [rbp + 0x390]
vmovdqu ymmword [rbp + 0xd8], ymm0
vmovdqu ymm0, ymmword [rbp + 0x378]
vmovdqu ymmword [rbp + 0xc0], ymm0
vmovdqu ymm0, ymmword [rbp + 0x358]
vmovdqu ymmword [rbp + 0xa0], ymm0
vmovdqu ymm0, ymmword [rbp + 0x2d8]
vmovdqu ymm1, ymmword [rbp + 0x2f8]
vmovdqu ymm2, ymmword [rbp + 0x318]
vmovdqu ymm3, ymmword [rbp + 0x338]
vmovdqu ymmword [rbp + 0x80], ymm3
vmovdqu ymmword [rbp + 0x60], ymm2
vmovdqu ymmword [rbp + 0x40], ymm1
vmovdqu ymmword [rbp + 0x20], ymm0
lea rcx, [rbp + 0x20]
mov r8d, 0x80
lea rdx, [rbp + 0x228]
vzeroupper
call fcn.14015cb90
mov rcx, qword [rbp - 0x10]
lea rdx, [rbp + 0x20]
mov r8d, 0x158
call fcn.1403750f0
mov rax, qword [rbp - 8]
add rsp, 0x430
pop rbp
ret
mov rax, qword [rbp + 0x2c0]
mov qword [rbp - 0x58], rax
cmp rax, 0x80
jb 0x1402183fa
jmp 0x140218424
mov rax, qword [rbp - 0x58]
add rax, 1
mov qword [rbp + 0x2c0], rax
jmp 0x1402183d4
mov rax, qword [rbp - 0x58]
lea rcx, [rbp + 0x228]
add rcx, rax
mov qword [rbp - 0x60], rcx
mov qword [rbp + 0x2c8], rcx
mov qword [rbp + 0x2d0], rax
cmp rax, 0x80
jb 0x14021843f
jmp 0x140218441
jmp 0x140218328
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
mov cl, byte [rbp + rcx + 0x1a8]
xor cl, 0x36
mov byte [rax], cl
jmp 0x1402183e9
jmp 0x140218429
mov rcx, qword [rbp - 0x58]
mov edx, 0x80
call fcn.1400011f0
int3