Function at 0x1800287b0
Capabilities:
Authenticate hmac

Disassembly:
mov dword [rsp + 8], ecx
push rbp
push rbx
push rdi
push r12
push r14
mov rbp, rsp
sub rsp, 0x70
mov rbx, qword [rbp + 0x38]
mov dword [rbp - 0x18], 0x48da
mov dword [rbp - 0x14], 0x224b
mov dword [rbp - 0x10], 0x4a5e
mov eax, 0x375c
xor r14d, r14d
mov edi, 0x5c
cmp eax, 0x375c
je 0x180028bfb
cmp eax, 0x7acd
je 0x180028ab3
cmp eax, 0x9de4
je 0x180028a93
cmp eax, 0xadeb
je 0x18002889c
cmp eax, 0xe1c6
jne 0x180028d93
mov dword [rbp + 0x38], 0x291a
or dword [rbp + 0x38], 0x68d34f12
imul eax, dword [rbp + 0x38], 0x79
mov dword [rbp + 0x38], eax
xor dword [rbp + 0x38], 0x8be14311
mov dword [rbp + 0x40], 0x4320
xor dword [rbp + 0x40], 0xbc72ed38
xor dword [rbp + 0x40], 0xbc78f52a
mov dword [rbp + 0x30], 0xe8e0
or dword [rbp + 0x30], 0x46215878
imul eax, dword [rbp + 0x30], 0x34
mov dword [rbp + 0x30], eax
xor dword [rbp + 0x30], 0x3ee2502a
mov r9d, dword [rbp + 0x30]
mov rdx, qword [0x18002c270]
mov r8d, dword [rbp + 0x40]
mov ecx, dword [rbp + 0x38]
add rdx, 0x10
call fcn.18000c6d4
mov rcx, qword [0x18002c270]
mov dword [rcx], eax
add rsp, 0x70
pop r14
pop r12
pop rdi
pop rbx
pop rbp
ret
mov dword [rbp + 0x40], 0xf980
mov ecx, 0x10
shr dword [rbp + 0x40], 0xe
add dword [rbp + 0x40], 0xffff6857
xor dword [rbp + 0x40], 0xffff685e
mov dword [rbp + 0x38], 0x1da
add dword [rbp + 0x38], 0xffff17ab
shr dword [rbp + 0x38], 6
add dword [rbp + 0x38], 0x184c
xor dword [rbp + 0x38], 0x4041889
mov dword [rbp + 0x30], 0x2e1b
xor dword [rbp + 0x30], 0xf714f0ea
add dword [rbp + 0x30], 0xfffff1be
or dword [rbp + 0x30], 0xa2354250
add dword [rbp + 0x30], 0xffff5756
xor dword [rbp + 0x30], 0xf73ab47c
mov eax, dword [rbp + 0x30]
mov eax, dword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
call fcn.18000c2f8
mov dword [rbp + 0x38], 0x9879
mov edi, eax
mov eax, 0x8421085
imul ecx, dword [rbp + 0x38], 0x36
mov dword [rbp + 0x38], ecx
imul ecx, dword [rbp + 0x38], 0x52
mov dword [rbp + 0x38], ecx
imul ecx, dword [rbp + 0x38], 0x63
mov dword [rbp + 0x38], ecx
xor dword [rbp + 0x38], 0xfbe4bf45
mov dword [rbp + 0x48], 0xd83a
xor dword [rbp + 0x48], 0x88713ccc
xor dword [rbp + 0x48], 0x887941f7
mov dword [rbp + 0x30], 0x555e
shr dword [rbp + 0x30], 0xe
add dword [rbp + 0x30], 0x2197
add dword [rbp + 0x30], 0xffff383f
xor dword [rbp + 0x30], 0xfff1c300
mov dword [rbp + 0x40], 0xe75a
xor dword [rbp + 0x40], 0xca12eb8d
mov ecx, dword [rbp + 0x40]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
mov dword [rbp + 0x40], ecx
mov rcx, rbx
xor dword [rbp + 0x40], 0x684b615
mov eax, dword [rbp + 0x30]
mov r9d, dword [rbp + 0x38]
mov r8d, dword [rbp + 0x40]
mov edx, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
call fcn.18001e278
mov dword [rbp + 0x30], 0x125e
or dword [rbp + 0x30], 0x98f863ae
mov ecx, dword [rbp + 0x30]
mov eax, 0x2fa0be83
mul ecx
mov eax, 0x2f684bdb
shr edx, 3
mov dword [rbp + 0x30], edx
shr dword [rbp + 0x30], 7
mov ecx, dword [rbp + 0x30]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp + 0x30], ecx
xor dword [rbp + 0x30], 0x21bb
mov eax, dword [rbp + 0x30]
mov dword [rbp + 0x48], 0x463c
lea rbx, [rbx + rax*2]
shl dword [rbp + 0x48], 4
xor dword [rbp + 0x48], 0xa53f0
mov dword [rbp + 0x40], 0x8781
shr dword [rbp + 0x40], 4
xor dword [rbp + 0x40], 0xb1cd7
mov dword [rbp + 0x38], 0xbf8b
add dword [rbp + 0x38], 0xf35
mov eax, 0xecf56bf
mov r9d, edi
xor dword [rbp + 0x38], 0xcec1
mov dword [rbp + 0x30], 0x2939
or dword [rbp + 0x30], 0xc2e51dcf
xor dword [rbp + 0x30], 0xb2d29055
shl dword [rbp + 0x30], 3
mov ecx, dword [rbp + 0x30]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp + 0x30], ecx
xor dword [rbp + 0x30], 0x1127db8
mov r8d, dword [rbp + 0x30]
mov eax, dword [rbp + 0x38]
mov rcx, rbx
or r8d, eax
mov eax, dword [rbp + 0x40]
mov edx, dword [rbp + 0x48]
mov dword [rsp + 0x20], eax
call fcn.18001e278
lea rbx, [rbx + rdi*2]
mov eax, 0x7acd
jmp 0x1800287e3
mov dword [rbx], 0x64002e
mov dword [rbx + 4], 0x6c006c
mov word [rbx + 8], r14w
add rbx, 0xa
mov eax, 0xe1c6
jmp 0x1800287e8
mov word [rbx], di
mov dword [rbp + 0x40], 0x10eb
mov eax, 0x8421085
or dword [rbp + 0x40], 0xfd5ff7bf
add rbx, 2
xor dword [rbp + 0x40], 0xfd5ff7fb
mov dword [rbp + 0x38], 0x4aad
mov ecx, dword [rbp + 0x38]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
mov dword [rbp + 0x38], ecx
mov ecx, 0x10
add dword [rbp + 0x38], 0xffff9306
shr dword [rbp + 0x38], 0xa
add dword [rbp + 0x38], 0xb629
xor dword [rbp + 0x38], 0x47914b
mov dword [rbp + 0x30], 0x219b
shr dword [rbp + 0x30], 0xc
shl dword [rbp + 0x30], 9
xor dword [rbp + 0x30], 0x9e9c14fa
add dword [rbp + 0x30], 0xffff5852
xor dword [rbp + 0x30], 0x9e97b1a7
mov eax, dword [rbp + 0x30]
mov eax, dword [rbp + 0x38]
mov edx, dword [rbp + 0x40]
call fcn.18000c2f8
mov dword [rbp + 0x38], 0x53c3
or dword [rbp + 0x38], 0x4ce08c17
mov r9d, eax
mov eax, 0xaaaaaaab
mov ecx, dword [rbp + 0x38]
lea edx, [rcx + rcx*8]
shl edx, 2
mov dword [rbp + 0x38], edx
shr dword [rbp + 0x38], 0xa
xor dword [rbp + 0x38], 0x335f55
mov dword [rbp + 0x48], 0x801a
mov ecx, dword [rbp + 0x48]
lea edx, [rcx + rcx*2]
add edx, edx
mov dword [rbp + 0x48], edx
mov ecx, dword [rbp + 0x48]
mul ecx
shr edx, 4
mov dword [rbp + 0x48], edx
xor dword [rbp + 0x48], 0x6bf37
mov dword [rbp + 0x40], 0xfda8
mov eax, dword [rbp + 0x40]
lea ecx, [rax + rax*4]
shl ecx, 4
mov dword [rbp + 0x40], ecx
mov rcx, rbx
or dword [rbp + 0x40], 0x82ea2ed6
xor dword [rbp + 0x40], 0x82ef6ed7
mov dword [rbp + 0x30], 0xe278
xor dword [rbp + 0x30], 0x705bab6e
add dword [rbp + 0x30], 0x89d6
add dword [rbp + 0x30], 0xffff431b
xor dword [rbp + 0x30], 0x705b1605
mov r8d, dword [rbp + 0x30]
mov eax, dword [rbp + 0x40]
or r8d, eax
mov eax, dword [rbp + 0x48]
mov edx, dword [rbp + 0x38]
mov dword [rsp + 0x20], eax
call fcn.18001e278
lea rbx, [rbx + r9*2]
mov eax, 0x9de4
jmp 0x1800287e8
mov rax, qword [0x18002c270]
cmp dword [rax + 4], r14d
je 0x180028c1c
mov dword [rbp + 0x30], 0xbfa8
shr dword [rbp + 0x30], 5
xor dword [rbp + 0x30], 0x5d8
jmp 0x180028c3c
mov dword [rbp + 0x30], 0x95ca
shr dword [rbp + 0x30], 1
or dword [rbp + 0x30], 0x4e343a44
shl dword [rbp + 0x30], 0xf
shl dword [rbp + 0x30], 2
xor dword [rbp + 0x30], 0xf5ca001c
mov r8d, dword [rbp + 0x30]
mov dword [rbp - 0x20], 0x1d45
mov eax, 0x2fa0be83
mov ecx, dword [rbp - 0x20]
mov dword [rsp + 0x48], r8d
mul ecx
shr edx, 4
mov dword [rbp - 0x20], edx
xor dword [rbp - 0x20], 0x4e6aa
mov dword [rbp + 0x48], 0xaef4
imul eax, dword [rbp + 0x48], 0x61
mov dword [rbp + 0x48], eax
xor dword [rbp + 0x48], 0x4801b6
mov dword [rbp + 0x38], 0xbc0e
shr dword [rbp + 0x38], 0x10
imul eax, dword [rbp + 0x38], 0x76
mov dword [rbp + 0x38], eax
xor dword [rbp + 0x38], 0x67d
mov dword [rbp + 0x30], 0x2ee5
or dword [rbp + 0x30], 0xfff3c774
xor dword [rbp + 0x30], 0x6b91e806
add dword [rbp + 0x30], 0xa157
xor dword [rbp + 0x30], 0x9460d21d
mov dword [rbp + 0x40], 0x50a1
imul eax, dword [rbp + 0x40], 0x71
mov dword [rbp + 0x40], eax
xor dword [rbp + 0x40], 0x260219
mov rax, qword [0x18002c270]
add rax, 0x10
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x40]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x30]
mov r8d, dword [rbp + 0x38]
mov edx, dword [rbp + 0x48]
mov ecx, dword [rbp - 0x20]
mov dword [rsp + 0x20], eax
call fcn.180022134
mov dword [rbp + 0x38], 0x4650
shl dword [rbp + 0x38], 7
xor dword [rbp + 0x38], 0x700e4e24
shr dword [rbp + 0x38], 3
shl dword [rbp + 0x38], 6
xor dword [rbp + 0x38], 0x816c0679
mov dword [rbp + 0x40], 0x4e5b
add dword [rbp + 0x40], 0x1985
or dword [rbp + 0x40], 0x7ae881a4
xor dword [rbp + 0x40], 0x7aec1b75
mov dword [rbp + 0x30], 0x48ef
xor dword [rbp + 0x30], 0xf4f6f374
add dword [rbp + 0x30], 0xffff54e3
imul eax, dword [rbp + 0x30], 0x19
mov dword [rbp + 0x30], eax
add dword [rbp + 0x30], 0xb20f
xor dword [rbp + 0x30], 0xec054621
mov r9d, dword [rbp + 0x30]
mov rcx, qword [0x18002c270]
mov r8d, dword [rbp + 0x40]
mov edx, dword [rbp + 0x38]
add rcx, 0x10
call fcn.180012f1c
movsxd rcx, eax
mov rax, qword [0x18002c270]
lea rbx, [rax + rcx*2]
mov eax, 0xadeb
mov word [rbx + 0x10], di
add rbx, 0x12
cmp eax, 0xd724
je 0x180028890
jmp 0x1800287e8