Function at 0x14006c420
Capabilities:
Authenticate hmac

Disassembly:
xchg r10, rbx
mov qword [rsp + 8], r10
xchg rbx, r10
xchg r12, rsi
mov qword [rsp + 0x18], r12
xchg r12, rsi
xchg r8, rdi
mov qword [rsp + 0x20], r8
xchg rdi, r8
nop
sub rsp, 8
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], r12
push r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x50]
sub rsp, 0x150
movzx r14d, r9b
xchg rcx, rsi
mov rbx, rsi
xchg rcx, rsi
xor r13d, r13d
mov qword [rcx + 0x28], r8
xor dil, dil
lea rsi, [r13 - 1]
sub edx, 1
je 0x14006c576
sub edx, 1
je 0x14006c56c
sub edx, 1
je 0x14006c525
sub edx, 1
je 0x14006c519
cmp edx, 1
je 0x14006c525
movzx eax, dil
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
xchg r12, rsi
mov r12, qword [r11 + 0x40]
xchg rsi, r12
xchg rdi, rdx
mov rdx, qword [r11 + 0x48]
xchg rdi, rdx
mov rsp, r11
nop
add rsp, 8
mov r15, qword [rsp - 8]
push rdx
push rdx
xchg qword [rsp + 0x10], r14
add rsp, 0x18
push rcx
push rdx
push rbx
xchg qword [rsp + 0x18], r13
pop rbx
pop rdx
pop rcx
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
push rbx
push rbx
push rax
xchg qword [rsp + 0x18], rbp
pop rax
pop rbx
pop rbx
add rsp, 8
ret
call fcn.140068350
jmp 0x14006c599
inc qword [rcx + 0x18]
xchg r9, rax
mov r9, qword [rcx]
xchg r9, rax
cmp rax, qword [rcx + 8]
je 0x14006c55d
movzx edx, byte [rax]
inc rax
xchg r9, rax
mov qword [rcx], r9
xchg r9, rax
mov dword [rcx + 0x10], edx
cmp edx, 0x4e
je 0x14006c525
call fcn.140064b00
jmp 0x14006c599
mov edx, esi
mov dword [rcx + 0x10], esi
call fcn.140064b00
jmp 0x14006c599
call fcn.14006a8e0
jmp 0x14006c599
mov r8d, dword [rbp + 0xa0]
mov dl, 0x6e
xor dl, 0x54
sub dl, 0x10
sub dl, 0x1d
add dl, 0x1b
add dl, 0x34
xor dl, 0x4e
sub dl, 0x11
call fcn.1400684a0
movzx edi, al
test al, al
je 0x14006c4b5
test r14b, r14b
je 0x14006c4b5
mov eax, dword [rbx + 0x24]
add eax, 0xfffffffd
test eax, 0xfffffffd
je 0x14006c5d8
xchg rbx, rcx
mov rbx, rcx
xchg rbx, rcx
call fcn.140056a00
jmp 0x14006c60a
inc qword [rbx + 0x18]
mov rax, qword [rbx]
cmp rax, qword [rbx + 8]
je 0x14006c607
movzx ecx, byte [rax]
inc rax
xchg r15, rax
mov qword [rbx], r15
xchg r15, rax
mov dword [rbx + 0x10], ecx
cmp ecx, 0x4e
je 0x14006c5d8
jmp 0x14006c60a
mov dword [rbx + 0x10], esi
mov ecx, dword [rbx + 0x10]
cmp ecx, esi
je 0x14006c4b5
mov r12, qword [rbx + 0x28]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0x72f534c4
sub qword [rbp - 0x80], 0x12fbcb2a
xor qword [rbp - 0x80], 0x5164d35b
add qword [rbp - 0x80], 0x6ccd781d
xor qword [rbp - 0x80], 0x2df8b440
add qword [rbp - 0x80], 0x135cc963
sub qword [rbp - 0x80], 0x69f04ffc
mov qword [rbp - 0x78], 0x106d17b5
xor qword [rbp - 0x78], 0x713573c6
add qword [rbp - 0x78], 0x415a728
sub qword [rbp - 0x78], 0xabe0c3a
sub qword [rbp - 0x78], 0x16ca1a55
add qword [rbp - 0x78], 0x36ad2e2
xor qword [rbp - 0x78], 0x4750b7e1
mov eax, dword [0x140001844]
mov dword [rsp + 0x70], eax
movzx eax, byte [0x140001848]
mov byte [rsp + 0x74], al
mov byte [rsp + 0x75], r13b
xor eax, eax
mov word [rbp + 0x88], ax
mov byte [rbp + 0x8a], al
movzx r9d, cl
lea r8, [0x140001914]
lea edx, [rax + 3]
lea rcx, [rbp + 0x88]
call fcn.1400732f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r13
lea rax, [rbp + 0x88]
xchg rsi, r10
mov r14, r10
xchg r10, rsi
nop dword [rax]
inc r14
cmp byte [rax + r14], 0
jne 0x14006c6fd
movabs r15, 0x7fffffff2c586c5e
xor r15, 0x71c44df
xor r15, 0x17980b0c
add r15, 0xbc9f5ec
xor r15, 0x2a795cdc
xor r15, 0x3788e2f8
sub r15, 0x3cbbbc28
add r15, 0x7fffffff
xor r15, 0x676414cb
cmp r14, r15
ja 0x14006cdaa
mov eax, 0x53c58ad4
xor eax, 0x777c4b7c
add eax, 0x4706b2da
xor eax, 0x329750ea
xor eax, 0x46e58343
xor eax, 0x1fb2a73d
cmp r14, 0x10
jae 0x14006c802
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 0x38680436
xor qword [rsp + 0x48], 0x263e7b16
xor qword [rsp + 0x48], 0x7c94a9b0
xor qword [rsp + 0x48], 0x3c0bcc0c
sub qword [rsp + 0x48], 0x3ddcfee5
sub qword [rsp + 0x48], 0x20ec1ba8
xchg rbp, r8
mov rbp, r14
xchg r8, rbp
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x30]
call int.1401fdd00
mov byte [rsp + r14 + 0x30], 0x25
xor byte [rsp + r14 + 0x30], 0x39
xor byte [rsp + r14 + 0x30], 0x3a
sub byte [rsp + r14 + 0x30], 0x15
add byte [rsp + r14 + 0x30], 0x4e
xor byte [rsp + r14 + 0x30], 0x7a
sub byte [rsp + r14 + 0x30], 0x25
jmp 0x14006c8a5
xchg r10, r13
mov r10, r14
xchg r13, r10
or r13, 0xf
cmp r13, r15
jbe 0x14006c826
xchg r10, r13
mov r10, r15
xchg r13, r10
jmp 0x14006c82d
cmp r13, rax
cmovb r13, rax
lea rdx, [r13 + 1]
lea rcx, [rsp + 0x30]
call fcn.1400536d0
xchg r14, rax
mov rdi, r14
xchg r14, rax
xchg rbx, rax
mov qword [rsp + 0x30], rbx
xchg rbx, rax
xchg rcx, r14
mov qword [rsp + 0x40], rcx
xchg rcx, r14
xchg r13, rbx
mov qword [rsp + 0x48], rbx
xchg r13, rbx
xchg r14, r8
mov r14, r8
xchg r8, r14
lea rdx, [rbp + 0x88]
xchg rcx, r8
mov r8, rax
xchg r8, rcx
call int.1401fdd00
mov byte [rdi + r14], 0x64
sub byte [rdi + r14], 0x34
add byte [rdi + r14], 0x36
add byte [rdi + r14], 0xe
xor byte [rdi + r14], 0x5c
xor byte [rdi + r14], 0x30
sub byte [rdi + r14], 0x18
xor r13d, r13d
lea r8, [rsp + 0x30]
lea rdx, [0x140001850]
lea rcx, [rbp - 0x50]
call fcn.140036d70
nop
lea rcx, [rsp + 0x70]
xchg rbx, rcx
mov qword [rsp + 0x20], rbx
xchg rbx, rcx
xchg r10, r9
mov r10, rax
xchg r10, r9
mov r8d, dword [rbx + 0x24]
lea rdx, [rbp - 0x70]
xchg rbx, r14
mov rcx, r14
xchg rbx, r14
call fcn.140055530
nop
mov qword [rsp + 0x20], r13
xchg r10, rax
mov r9, r10
xchg r10, rax
mov r8, qword [rbx + 0x18]
mov edx, 0x677b193b
xor edx, 0x5ebc5ec2
add edx, 0x98f3758
xor edx, 0x7dee9fbb
xor edx, 0x515701a0
sub edx, 0x255baa19
sub edx, 0x30c34b37
xor edx, 0x363735c1
sub edx, 0x2fe7ddcd
lea rcx, [rbp - 0x30]
call fcn.140038cf0
xchg r13, rax
mov rdi, r13
xchg r13, rax
xor eax, eax
mov word [rbp + 0x88], ax
mov byte [rbp + 0x8a], al
movzx r9d, byte [rbx + 0x10]
lea r8, [0x140001914]
lea edx, [rax + 3]
lea rcx, [rbp + 0x88]
call fcn.1400732f0
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xchg rdi, r13
mov qword [rsp + 0x60], rdi
xchg r13, rdi
mov qword [rsp + 0x68], r13
lea rax, [rbp + 0x88]
nop dword [rax + rax]
inc rsi
cmp byte [rax + rsi], 0
jne 0x14006c991
cmp rsi, r15
ja 0x14006cdb0
cmp rsi, 0x10
jae 0x14006ca3c
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], 0x297b3d2
add qword [rsp + 0x68], 0x6ca98bc9
xor qword [rsp + 0x68], 0x1bcce6cb
sub qword [rsp + 0x68], 0x6d784e9c
add qword [rsp + 0x68], 0xd2140b0
sub qword [rsp + 0x68], 0x1436cb55
mov r8, rsi
lea rdx, [rbp + 0x88]
lea rcx, [rsp + 0x50]
call int.1401fdd00
mov byte [rsp + rsi + 0x50], 0x64
xor byte [rsp + rsi + 0x50], 0x2f
sub byte [rsp + rsi + 0x50], 0x13
add byte [rsp + rsi + 0x50], 0x41
sub byte [rsp + rsi + 0x50], 0x46
sub byte [rsp + rsi + 0x50], 0xb
xor byte [rsp + rsi + 0x50], 0x71
xor byte [rsp + rsi + 0x50], 7
sub byte [rsp + rsi + 0x50], 0x5e
mov r15, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
jmp 0x14006cadb
xchg r13, rsi
mov rax, r13
xchg rsi, r13
or rax, 0xf
cmp rax, r15
ja 0x14006ca89
mov r15, rax
cmp rax, 0x16
pushf
mov eax, 0x394d0a19
xor eax, 0x41d66352
xor eax, 0x20a0b4a9
add eax, 0x8217319
sub eax, 0x1d8439e7
xor eax, 0x193aea85
sub eax, 0x5acaacd3
sub eax, 0x11950a8
popf
cmovb r15, rax
lea rdx, [r15 + 1]
lea rcx, [rsp + 0x50]
call fcn.1400536d0
xchg rbx, rax
mov rax, rbx
xchg rbx, rax
xchg r12, rax
mov qword [rsp + 0x50], r12
xchg r12, rax
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x68], r15
mov r8, rsi
lea rdx, [rbp + 0x88]
mov rcx, rax
call int.1401fdd00
mov byte [rbx + rsi], 0x1c
xor byte [rbx + rsi], 0xf
sub byte [rbx + rsi], 0xe
add byte [rbx + rsi], 0x17
xor byte [rbx + rsi], 0x6b
sub byte [rbx + rsi], 0x77
mov byte [r12 + 0x28], 0x78
xor byte [r12 + 0x28], 0x56
xor byte [r12 + 0x28], 0
sub byte [r12 + 0x28], 0x22
add byte [r12 + 0x28], 0x38
sub byte [r12 + 0x28], 0x13
sub byte [r12 + 0x28], 0x30
cmp byte [r12 + 0x29], 0
jne 0x14006cd8d
cmp r15, 0x10
jb 0x14006cb6a
lea rdx, [r15 + 1]
xchg rbx, r10
mov rax, r10
xchg rbx, r10
cmp rdx, 0x1000
jb 0x14006cb5b
neg rdx
add rdx, 0xffffffffffffffd9
neg rdx
mov rbx, qword [rbx - 8]
sub rax, rbx
sub rax, 8
cmp rax, 0x1f
jbe 0x14006cb5b
push rcx
call 0x140654875
int3
xchg r13, rbx
mov rcx, r13
xchg r13, rbx
call fcn.1401fcc84
nop
lea rbx, [0x140004a88]
mov qword [rbp - 0x10], rbx
lea rcx, [rbp - 8]
call fcn.1401fdce8
xchg rdi, rbx
mov qword [rbp - 0x30], rdi
xchg rbx, rdi
lea rcx, [rbp - 0x28]
call fcn.1401fdce8
nop
xchg rbx, rdx
mov rbx, qword [rbp - 0x58]
xchg rbx, rdx
cmp rdx, 0x10
jb 0x14006cbf2
inc rdx
xchg rcx, rsi
mov rsi, qword [rbp - 0x70]
xchg rsi, rcx
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14006cbed
sub rdx, 0xffffffffffffffd9
mov rcx, qword [rcx - 8]
sub rax, rcx
neg rax
add rax, 8
neg rax
cmp rax, 0x1f
jbe 0x14006cbed
call 0x140a0000f
int3
call fcn.1401fcc84
movdqa xmm0, xmmword [0x140002c80]
movdqu xmmword [rbp - 0x60], xmm0
mov byte [rbp - 0x70], 0x3f
add byte [rbp - 0x70], 0xa
xor byte [rbp - 0x70], 0x5e
xor byte [rbp - 0x70], 0x42
add byte [rbp - 0x70], 0x18
xor byte [rbp - 0x70], 0x6d
xchg r13, rdx
mov r13, qword [rbp - 0x38]
xchg r13, rdx
cmp rdx, 0x10
jb 0x14006cc7e
inc rdx
xchg rcx, rdx
mov rdx, qword [rbp - 0x50]
xchg rdx, rcx
xchg rdi, rcx
mov rax, rdi
xchg rcx, rdi
cmp rdx, 0x1000
jb 0x14006cc79
nop
add rdx, 0x30d2bc8d
sub rdx, 0x30d2bc66
mov rcx, qword [rcx - 8]
sub rax, rcx
sub rax, 8
cmp rax, 0x1f
jbe 0x14006cc79
push rsi
call 0x140a9fd84
int3
call fcn.1401fcc84
movdqa xmm0, xmmword [0x140002c80]
xchg r9, rbp
movdqu xmmword [r9 - 0x40], xmm0
xchg r9, rbp
mov byte [rbp - 0x50], reloc.SHLWAPI.dll_SHCreateMemStream
add byte [rbp - 0x50], 0xe
sub byte [rbp - 0x50], 0x17
add byte [rbp - 0x50], 0x3e
add byte [rbp - 0x50], 0x16
xor byte [rbp - 0x50], 0x6e
sub byte [rbp - 0x50], 0xb
xor byte [rbp - 0x50], 0x2e
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14006cd17
inc rdx
mov rcx, qword [rsp + 0x30]
xchg rcx, rax
mov rcx, rax
xchg rcx, rax
cmp rdx, 0x1000
jb 0x14006cd11
nop
sub rdx, 0x4887aa3d
add rdx, 0x4887aa64
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
sub rax, 0xffffffffb9415da0
add rax, 0xffffffffb9415d98
cmp rax, 0x1f
jbe 0x14006cd11
push rcx
call 0x140ac15a3
int3
call fcn.1401fcc84
nop
xchg r11, rdx
mov r11, qword [rbp - 0x78]
xchg rdx, r11
cmp rdx, 0x10
jb 0x14006cd86
inc rdx
xchg rcx, r12
mov r12, qword [rsp + 0x70]
xchg r12, rcx
xchg r9, rax
mov r9, rcx
xchg r9, rax
cmp rdx, 0x1000
jb 0x14006cd81
nop
add rdx, 0x7814d83d
sub rdx, 0x7814d816
mov rcx, qword [rcx - 8]
sub rax, rcx
nop
add rax, 0xffffffffa1550d79
sub rax, 0xffffffffa1550d81
cmp rax, 0x1f
jbe 0x14006cd81
call 0x140bcc064
int3
call fcn.1401fcc84
xor al, al
jmp 0x14006c4b9
mov rdx, rdi
lea rcx, [rbp + 0x10]
call fcn.14004c0e0
lea rdx, [0x140215558]
lea rcx, [rbp + 0x10]
call fcn.1401fdcee
nop
call fcn.14002f960
nop
call fcn.14002f960
int3