Function at 0x140047200
Capabilities:
Authenticate hmac

Disassembly:
xchg rdx, rbx
mov qword [rsp + 8], rdx
xchg rdx, rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], r12
sub rsp, 8
push r13
nop
sub rsp, 8
mov qword [rsp], r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
xchg r9, rcx
mov rsi, rcx
xchg r9, rcx
xchg r15, r13
mov r13, r8
xchg r15, r13
mov r13d, edx
xchg r8, rdi
mov r8, rcx
xchg r8, rdi
mov r12b, 0x49
xor r12b, 1
add r12b, 0x19
add r12b, 0xb
sub r12b, 0x12
sub r12b, 0x52
add r12b, 0x5e
xor r12b, 0x17
sub r12b, 0x70
xor r14d, r14d
test r8, r8
je 0x140047397
movzx ebx, byte [rbp + 0x70]
nop
inc qword [rdi + 0x18]
xchg r11, rax
mov r11, qword [rdi]
xchg r11, rax
cmp rax, qword [rdi + 8]
je 0x1400472bd
movzx ecx, byte [rax]
inc rax
mov qword [rdi], rax
jmp 0x1400472ec
mov ecx, 0x23528eaa
xor ecx, 0x61c3628
add ecx, 0x5463a46f
sub ecx, 0x71449354
xor ecx, 0x772e5f11
xor ecx, 0x182fd1e0
add ecx, 0x53cfac3
add ecx, 0x9356bdd0
mov dword [rdi + 0x10], ecx
cmp ecx, 0xffffffff
je 0x140047400
mov rdx, qword [rsi + 0x10]
mov r8, qword [rsi + 0x18]
cmp rdx, r8
jae 0x140047352
lea rax, [rdx + 1]
mov qword [rsi + 0x10], rax
xchg rsi, r8
mov rax, r8
xchg rsi, r8
cmp r8, 0x10
jb 0x140047327
mov rax, qword [rsi]
mov byte [rax + rdx], cl
mov byte [rax + rdx + 1], 0x2b
xor byte [rax + rdx + 1], 0x33
sub byte [rax + rdx + 1], 8
add byte [rax + rdx + 1], 0x1c
add byte [rax + rdx + 1], 2
add byte [rax + rdx + 1], 0x2e
sub byte [rax + rdx + 1], 0x5c
jmp 0x14004738b
movzx r9d, cl
movzx r8d, bl
mov edx, 0x78c0f184
sub edx, 0x630492f
xor edx, 0x41770d97
sub edx, 0xf409288
sub edx, 0x2053c395
sub edx, 0x4534fa4
xchg rsi, r9
mov rcx, r9
xchg r9, rsi
call fcn.1400351b0
inc r14
cmp r14, r15
jb 0x14004729a
movzx eax, r12b
lea r11, [rsp + 0x130]
xchg r14, rbx
mov r14, qword [r11 + 0x30]
xchg rbx, r14
mov rsi, qword [r11 + 0x38]
xchg r8, rdi
mov r8, qword [r11 + 0x48]
xchg r8, rdi
mov rsp, r11
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
add rsp, 8
mov r13, qword [rsp - 8]
push rax
push rax
push rax
push rcx
push rdx
push rbx
push rax
push rbx
xchg qword [rsp + 0x40], r12
add rsp, 0x48
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]
mov rbx, qword [rdi + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0x3806e5c2
sub qword [rsp + 0x40], 0x13137677
add qword [rsp + 0x40], 0x3f488bc8
sub qword [rsp + 0x40], 0x195f76bb
add qword [rsp + 0x40], 0xebb350a
add qword [rsp + 0x40], 0x261c1b39
xor qword [rsp + 0x40], 0x7fb3d49d
mov qword [rsp + 0x48], 0x24483aff
add qword [rsp + 0x48], 0x405f8bbf
xor qword [rsp + 0x48], 0x87aa5b0
sub qword [rsp + 0x48], 0x6b78065d
sub qword [rsp + 0x48], 0x692d2
add qword [rsp + 0x48], 0x1fcb6b88
add qword [rsp + 0x48], 0x215b4944
add qword [rsp + 0x48], 0x2f40bcda
sub qword [rsp + 0x48], 0x71c63b76
mov eax, dword [0x140001790]
mov dword [rsp + 0x30], eax
movzx eax, word [0x140001794]
mov word [rsp + 0x34], ax
mov byte [rsp + 0x36], 2
add byte [rsp + 0x36], 0x62
sub byte [rsp + 0x36], 0x3c
add byte [rsp + 0x36], 1
sub byte [rsp + 0x36], 0x1e
add byte [rsp + 0x36], 0x4e
xor byte [rsp + 0x36], 0x59
movups xmmword [rsp + 0x50], xmm0
mov edx, 0x5c5fd756
add edx, 0xe2ab32f
sub edx, 0x21756662
xor edx, 0x6e0e160c
add edx, 0x39c42c72
sub edx, 0x60df5e81
lea rcx, [rsp + 0x50]
call fcn.140053730
mov rcx, rax
xchg rbx, rax
mov qword [rsp + 0x50], rbx
xchg rbx, rax
mov qword [rsp + 0x60], 0x11b694b7
xor qword [rsp + 0x60], 0x37c6ee85
add qword [rsp + 0x60], 0x4f342be7
xor qword [rsp + 0x60], 0x1b147ebd
sub qword [rsp + 0x60], 0x6bc090e8
xor qword [rsp + 0x60], 0x2f047ab
mov qword [rsp + 0x68], 0x5dc90037
sub qword [rsp + 0x68], 0x72d721d
sub qword [rsp + 0x68], 0x2cbd697
xor qword [rsp + 0x68], 0x7f83f981
add qword [rsp + 0x68], 0x3d166d62
xor qword [rsp + 0x68], 0x6962bb7b
movups xmm0, xmmword [0x140001948]
movups xmmword [rax], xmm0
mov eax, dword [0x140001958]
mov dword [rcx + 0x10], eax
movzx eax, word [0x14000195c]
mov word [rcx + 0x14], ax
movzx eax, byte [0x14000195e]
mov byte [rcx + 0x16], al
mov byte [rcx + 0x17], 0x5d
add byte [rcx + 0x17], 0xb
xor byte [rcx + 0x17], 0x28
add byte [rcx + 0x17], 0x36
xor byte [rcx + 0x17], 0x5a
add byte [rcx + 0x17], 0x38
sub byte [rcx + 0x17], 0x54
sub byte [rcx + 0x17], 0x10
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8d, r13d
lea rdx, [rbp - 0x70]
xchg rbp, rcx
mov rbp, rdi
xchg rcx, rbp
call fcn.140055560
nop
xor esi, esi
xchg rsi, rdx
mov qword [rsp + 0x20], rdx
xchg rdx, rsi
xchg rbp, rax
mov r9, rbp
xchg rbp, rax
mov r8, qword [rdi + 0x18]
lea edx, [rsi + 0x6e]
lea rcx, [rbp - 0x50]
call fcn.140038c30
xchg rdx, rax
mov rax, rdx
xchg rdx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0x77244130
sub qword [rbp - 0x80], 0x52dfb9e5
add qword [rbp - 0x80], 0x4d448a9b
sub qword [rbp - 0x80], 0x715141b1
add qword [rbp - 0x80], 0x6bdd0814
sub qword [rbp - 0x80], 0x6c14d83c
mov qword [rbp - 0x78], 0x2bbabb68
add qword [rbp - 0x78], 0x33ace4de
sub qword [rbp - 0x78], 0xde3431
sub qword [rbp - 0x78], 0xdcdc3f9
xor qword [rbp - 0x78], 0x6677c87
sub qword [rbp - 0x78], 0x35429a88
add qword [rbp - 0x78], 0x4aeb3260
sub qword [rbp - 0x78], 0x6c856c64
movsd xmm0, qword [0x140001960]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x140001968]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x14000196c]
mov byte [rsp + 0x7c], al
mov byte [rsp + 0x7d], sil
mov byte [rbx + 0x28], 0x56
xor byte [rbx + 0x28], 0x2a
sub byte [rbx + 0x28], 0x38
sub byte [rbx + 0x28], 0x32
xor byte [rbx + 0x28], 0x49
xor byte [rbx + 0x28], 0x72
sub byte [rbx + 0x28], 0x23
sub byte [rbx + 0x28], 5
cmp byte [rbx + 0x29], sil
jne 0x140047883
lea rbx, [0x140004a88]
mov qword [rbp - 0x30], rbx
lea rcx, [rbp - 0x28]
call fcn.1401fe108
mov qword [rbp - 0x50], rbx
lea rcx, [rbp - 0x48]
call fcn.1401fe108
nop
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x140047759
inc rdx
xchg rcx, r14
mov r14, qword [rbp - 0x70]
xchg rcx, r14
xchg rcx, rbx
mov rax, rbx
xchg rbx, rcx
cmp rdx, 0x1000
jb 0x140047754
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x140047754
call 0x140592ac5
int3
call fcn.1401fd098
xchg rbx, rsi
mov qword [rbp - 0x60], rbx
xchg rbx, rsi
mov qword [rbp - 0x58], 0x6baab5c9
xor qword [rbp - 0x58], 0x4fecbe79
xor qword [rbp - 0x58], 0x2bea0f77
add qword [rbp - 0x58], 0x598cb2dc
sub qword [rbp - 0x58], 0x37f3377f
sub qword [rbp - 0x58], 0x31458015
mov byte [rbp - 0x70], 0x7d
sub byte [rbp - 0x70], 0x45
xor byte [rbp - 0x70], 0x70
xor byte [rbp - 0x70], 0x74
xor byte [rbp - 0x70], 0x12
xor byte [rbp - 0x70], 0x26
add byte [rbp - 0x70], 0x5c
sub byte [rbp - 0x70], 0x23
sub byte [rbp - 0x70], 0x41
xchg rdx, rcx
mov rcx, qword [rsp + 0x68]
xchg rdx, rcx
cmp rdx, 0x10
jb 0x14004781f
inc rdx
xchg rbx, rcx
mov rbx, qword [rsp + 0x50]
xchg rbx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140047819
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffff82492e01
sub rax, 0xffffffff82492e09
cmp rax, 0x1f
jbe 0x140047819
call 0x140b14478
int3
call fcn.1401fd098
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14004787b
inc rdx
xchg rcx, rbx
mov rbx, qword [rsp + 0x30]
xchg rbx, rcx
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x140047876
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x140047876
call 0x1402f1aa2
int3
call fcn.1401fd098
xor r12b, r12b
jmp 0x140047397
lea rcx, [rbp - 0x10]
call fcn.14004bf90
lea rdx, [0x1402158f0]
lea rcx, [rbp - 0x10]
call fcn.1401fe10e
int3