Function at 0x1409f401e
Capabilities:
Authenticate hmac

Disassembly:
xor dword [rsp + rcx*2 + 0x20], r10d
pop rcx
movsx esi, byte [rsp + rcx - 0x11e9d71]
mov rbp, qword [rsp + rax*8 - 0x8f4ec08]
lea r11, [rax + 0x20ade938]
movsxd r10, r10d
xor si, dx
call fcn.140a0406d
sar qword [rsp + rax - 0x18bc], cl
push rax
lea rsi, [rsi + r9 - 0x231a5d92]
mov r10d, 0x2424d2ab
dec r9w
xchg word [rsp + r9 - 0x231a5d85], ax
mov edx, dword [rsi + rdx - 0x473396fb]
xor edx, ebp
not byte [rsp + rax - 0xfffc]
shl r9w, 0xa8
jne 0x1409ea021
mov r10d, 0xa58e71b7
movzx r8d, r10b
add r10b, r8b
mov eax, dword [r8 + rsi - 0xbb]
lea rsi, [rsi + r8 - 0xbb]
lea rcx, [r10*2 - 0x3fc4aecd]
xor eax, ebp
movsx edx, cx
ror eax, 1
lea r9, [rcx*8 - 0x5640b500]
lea eax, [r10 + rax - 0x288fae9]
call fcn.1409f9fe7
call fcn.140a60e64
ror word [rsp + rbx + 3], 0x4e
and word [rsp + rbx + 4], cx
mov qword [rsp + rbx*4], rdi
ret 8
sub r10d, 0xa30acba6
xor word [rsp + rcx + 0x13], cx
sbb qword [rsp + rcx + 5], rcx
jnp 0x140a24702
dec r10d
pop r9
add qword [rsp + rbx + 8], rbp
jmp 0x1409e3406
sub qword [rsp + r10*2 - 0xd57f957], 0xfffffffff6967b9b
sal rdx, cl
mov qword [rsp + r10*2 - 0xd57f94a], rbp
xor dword [rsp + r10 - 0x6abfc9d], eax
mov rbp, qword [rsp + r10*2 - 0xd57f94a]
inc rcx
sal dl, 0x84
ror r10b, 0xa5
movsxd rax, eax
jae 0x1409e4245
movsx edx, word [rsp + rcx - 4]
xor r10d, ebp
lea r10d, [r10 + rax*4 - 0x4de6d3cf]
xchg dword [rsp + rcx*2 + 0xf], edx
xor r10d, 0xe815053e
sar rax, cl
ror byte [rsp + rcx*8 - 0x30], 0xe5
rol r10d, 1
jmp 0x1409d2a7d
shl bx, 0xca
push rbp
or ecx, 0xecbd460a
movzx r10d, bl
xor dword [rsp + rdx - 0x100d0], eax
neg r9b
pop rbp
shr dx, cl
sub r10d, r8d
movsxd rax, eax
rol r8w, cl
jb 0x140a6a60f
adc r11, rax
xor r8w, dx
jmp r11
mov rdx, rcx
lea rbx, [r10 + r10*2 + 0x6a0c3e14]
movsx ecx, r10w
movzx ebx, byte [r10 + rsi - 0x103006c6]
call fcn.1409b4ea4
sar word [rsp + 0xa], 0x29
adc bl, 0x91
and byte [rsp + 9], r8b
dec r8b
add byte [rsp + 0xc], r8b
xor bpl, bl
bswap eax
lea rbx, [rsp + rbx + 0x10]
xchg qword [rsp + rax*8 - 0x400], rax
sar ax, 0xc1
mov dword [rbx + rax*8 + 0x1a7fa00], r9d
lea rax, [rax + rdx + 0x3200550f]
dec word [rsp + 2]
jge 0x140a4e2b6
mov r9d, dword [rsi - 5]
xadd dword [rsp + 0xb], eax
lea rsi, [rax + rsi - 5]
add qword [rsp + rax + 8], 0xffffffff9d0304ae
xor r9d, ebp
sar qword [rsp + rax*2 + 4], 0xda
rol r9d, 1
lea r9d, [rax + r9 + 0x538988f]
sal qword [rsp + rax*8 + 8], 0x89
bswap r9d
dec rdx
neg r9d
lea r9d, [r8 + r9 + 0x3baadd0e]
lea r10, [r8 + 0x71288eb8]
not r9d
mov qword [rsp + rax*4 + 8], rbp
pop rbx
add r10d, 0x1998c81e
xor dword [rsp + rax*2], r9d
add r8d, edx
inc al
pop rbp
jnp 0x140a44747
rol rcx, 4
dec qword [rsp + rax - 0xfc00]
and dx, 0x9834
call fcn.140a6b20b
lea esi, [r10 + rsi + 0x5c05d1ad]
bswap esi
rol esi, 1
dec rcx
xor ax, ax
dec esi
dec qword [rsp + r10 + 8]
cmovnp r11d, eax
rol esi, 1
mov qword [rsp + rbx*2 - 0x6838c536], rbp
sar ebx, cl
xor dword [rsp + rbx*4 + 8], esi
ror rax, 0xfa
mov rbp, qword [rsp + rbx + 8]
and r10, 0x6a3e2a6
mov dword [r9 + rbx], esi
jae 0x1409cb621
movzx ebx, dl
call fcn.1409a7708
mov eax, 0xc42a4a8f
sub rsi, 4
lea r9, [rax + rax*2 + 0xb814db5]
movsx ecx, al
movsx r8d, r9w
mov r9d, dword [rsi + r8*8 - 0x16b10]
xor r9d, ebp
lea r10, [rcx + 0x6bae8ea5]
dec ecx
neg r9d
sub r9d, 0xd9175838
jmp 0x140a63a00
jno 0x14099bc8d
xor dword [rsp + rbx + 8], r10d
mov rbp, qword [rsp + rdx - 0x569f7da8]
jmp 0x140a60671
ja 0x1409c1eec
adc r11, rax
rol qword [rsp + r10*2 - 0xd57f8d2], cl
mov qword [rsp + r10*4 - 0x1aaff1a4], r8
jae 0x140a41c14
call fcn.1409b334d
not edx
push rax
xor cl, 0xa5
neg edx
call fcn.1409fdc0a
mov r10, qword [r10 + rdi - 0x42089133]
lea r9, [rdx + rdx*4 - 0x5ce50db]
sub r9, rdx
movsx ecx, r9b
adc r8, r10
lea r10, [r9 + r9 - 0x40454b6b]
sal r9w, 0x4e
jne 0x140a5873e
add rdi, rax
mov eax, 0x5324c02f
call fcn.140a5f41f
movzx eax, r11w
mov qword [rsp + rbx + 0x10], 0x1238703d
ror sil, 1
mov qword [rsp + r11 - 0x40f4eae8], rbx
xor bpl, sil
xor bx, word [rsp + r11 - 0x40f4eaf5]
shl qword [rsp + r11 - 0x40f4eaf8], 0x54
mov qword [rsp + r11 - 0x40f4eb00], rbx
lea rsi, [rsp + rsi + 0x28]
mov edx, ebx
xchg byte [rsp + rbx*4 + 1], dl
xor qword [rsp + rbx*2 + 0x20], rax
mov dword [rbx + rsi], ecx
lea rcx, [rdx + rdx*4 - 0x44d6d773]
sar qword [rsp + rbx + 0x1a], 0x49
mov r10d, dword [r9 + r11 - 0x40f4eafc]
adc dl, 0x22
sub cl, 0xb7
lea r11, [r11 - 0x6efcb54e]
mov ecx, dword [r11 + r9 + 0x2e07ca56]
jno 0x1409fde03
xor r10d, ebp
not dl
inc dword [rsp + rbx*2 + 0xe]
shr word [rsp + rdx - 0x569f7dbc], 0xe8
neg r10d
rol dword [rsp + rbx*2 + 0x14], 7
dec word [rsp + rdx - 0x569f7dc0]
not r10d
sub ecx, r9d
ror dl, 0x22
lea r8, [rbx*2 - 0x568dcc9]
sub r10d, 0xcdb9462a
inc dword [rsp + rbx*2 + 3]
rol rax, 0xe2
ror r10d, 1
jmp 0x1409d9840
or r10d, ecx
rol dword [rsp + r11 + 0x2e07ca70], 0x61
not r10d
rol edx, 0xff
mov dword [r11 + r9 + 0x2e07ca56], r10d
sbb word [rsp + r11*2 + 0x5c0f94b6], ax
lea r9, [r9 + rbx*2 + 8]
mov r11d, dword [r8 + rbx*4 + 1]
lea rbx, [rbx*8 + 0x27a4758e]
jb 0x140a4464e
inc r11d
neg dword [rsp + rsi + 0x1001b]
mov dword [rsi + r9 + 0xfffb], eax
jae 0x140a4c2ec
shr r9b, 0xc1
mov r10d, dword [rsi + rbx*2 - 4]
cmovne bx, word [rsp + rbx*2 + 7]
movsx eax, word [rsp + rdx - 0x569f7d2c]
lea rsi, [rbx + rsi - 4]
neg ecx
jne 0x1409f61e6
mov dword [rsp + r10*4 - 0x1aaff2ae], edx
lea eax, [rax + r10*2 - 0x110dc370]
jmp 0x1409e0d06
jmp 0x140a46c6a
neg ebx
not r10w
rol rax, 0xec
lea ebx, [rbx + rdx*8 - 0x2d52f563]
sal r9, cl
movzx r8d, r10w
push rbp
movsx ebp, dx
xor dword [rsp + r10 - 0xfbfa], ebx
dec cx
pop rbp
rol cl, 0x22
movsxd rbx, ebx
and dl, r8b
jo 0x140a13269
sub rcx, 0xb98e21f
adc r11, rbx
shl r9, cl
jbe 0x1409ae12d
mov rcx, qword [rdi + r10 - 0xfbfa]
inc edx
call fcn.1409da919
xor edx, ebp
or byte [rsp + rax*2 - 0x1d184], ah
dec edx
call fcn.140a05920
rol r10d, 1
sal cl, 0x67
push rax
mov qword [rsp + rax - 0x11e9d64], rbp
adc edx, dword [rsp + rcx*2 + 7]
jne 0x1409e26f3
mov qword [rsp + r10 - 0x6abfc6d], r11
ret 0x10
movsxd r9, r9d
xadd rax, rdx
adc r11, r9
call fcn.140a35dc4
call fcn.140a5c69d
ror r10d, 0xb7
jae 0x1409e1486
movzx ecx, r10b
jg 0x140a43915
lea rsi, [rsp + r11 + 0x86]
mov ecx, dword [rsi + r11*4 - 8]
mov esi, ecx
dec dl
mov qword [rsp + r11 + 0x16], r11
push r11
mov r10d, dword [r9 + r11*2 - 8]
push rdx
add r11w, ax
adc esi, r10d
jmp 0x140a4d93f
bswap eax
bswap rbx
call fcn.140a7004f
mov r9d, 0x631c81a
mov eax, dword [r9 + rsi - 0x631c81e]
sal r9, 0x3c
sbb r9b, 0x8e
lea rsi, [rsi + r9*8 - 0x38c]
xor eax, ebp
xor eax, 0x6b27ab02
inc eax
ror eax, 1
neg eax
add eax, 0xd3ae7e9d
lea rdx, [r9 - 0x7f6520ef]
push rbp
movzx ebx, r9w
lea rbp, [rbx*2 + 0x529a22b6]
xor dword [rsp + r9*8 - 0x388], eax
pop rbp
ror r9b, 0xa1
movsxd rax, eax
dec r9b
movzx r8d, r9b
mov ecx, ebx
add r11, rax
mov r9, qword [rbx + rdi - 0x71]
mov rax, qword [rbx + rdi - 0x69]
add r9, rax
mov rcx, r9
inc dl
cmove r8d, edx
mov r8, qword gs:[rcx + rbx*2 - 0xe2]
mov qword [rdi + rbx - 0x69], r8
lea rdi, [rdi + rbx*4 - 0x1bc]
xchg edx, ebx
jmp r11
mov dword [r9 + rsi*4 + 0x3fff4], ebx
sar rsi, 0xd1
call fcn.1409c1642
shr rax, 0xcd
mov dword [r9 + r11*2 - 8], esi
adc r11b, dl
xor qword [rsp + r11*2 - 0x2e], 0x70183599
lea r9, [r9 + r11*4 - 0xa8]
movzx ebx, byte [rsp + r11*8 - 0x13a]
movsx r10d, r11b
pop rcx
pop rbx
pop r11
pop rax
pop rsi
pop rcx
jno fcn.1409b5b64
xor edx, ebp
ror bx, 0x8f
neg edx
mov ecx, r8d
lea edx, [rdx + r8 - 0x4d61ff4a]
neg word [rsp + rbx + 0xd]
adc qword [rsp + rbx + 8], r8
shr word [rsp + rbx*2 + 6], 0x2e
rol edx, 1
ror rcx, 0xe9
sar cx, 0x45
call fcn.1409adc35
rol r10d, 2
call fcn.140a39790
mov ecx, dword [rsi - 4]
dec r8
lea rdx, [r8*2 - 0x4d73806f]
inc edx
xor ecx, ebp
movzx r9d, dx
push rdx
movzx r10d, r8b
ror ecx, 3
xor byte [rsp + r10*2], 0x1b
bswap ecx
sal byte [rsp + r9*4 - 0xc651], 0x41
rol ecx, 3
movzx eax, r8b
neg ecx
neg r10
call fcn.14099b21c
adc r10w, 0x343d
lea r8, [rdx + 0x2ba8aab3]
xor bp, r10w
dec qword [rsp + r9 + 3]
bswap edx
mov word [r9 + rdi - 2], r10w
lea rdi, [rdi + r9*4 - 2]
or rbx, rbx
pop r8
pop rcx
jae fcn.140a1acc9
push 0x500c9aae
sub rsi, 4
mov r8d, dword [rsi]
call fcn.1409ea5e9
mov eax, 0x798a7728
push rax
lea rsi, [rax + rsi - 0x798a772c]
pop rdx
jmp 0x140a6da11
dec qword [rsp + rsi - 0x8000]
jge 0x140a5c308
mov qword [rdi + rdx - 0x42089133], r8
mov ebx, dword [rsi + rcx*2 - 0x26]
sub r9b, r10b
add ecx, ecx
sar edx, 0xe8
lea rsi, [rsi + rdx*4 - 0x1082248]
lea r8, [r9*2 - 0x13fc6645]
mov eax, r8d
ror r8w, 0x2c
xor ebx, ebp
ror r9b, 0x43
xor ebx, 0x6b27ab02
lea rcx, [rcx*4 + 0xa2348b3]
inc ebx
call fcn.1409f0b1c
jmp 0x140a142ff
rol bl, 1
ror word [rsp + rsi*2 - 0xffff], cl
call fcn.140a60dcd
call fcn.1409c38c7
sal word [rsp + r8*4 - 3], 0xea
lea rdi, [r10 + rdi + 0x251fef70]
neg dword [rsp + r8*4 - 4]
pop rcx
jg fcn.140a1acc9
jle 0x140a17094
add rdx, rsp
shr r10w, cl
ror rcx, cl
movzx r10w, byte [rdx + rcx*2 - 0x7fffffc0]
mov eax, r8d
and r9, r8
movzx r10w, r10b
sar r8w, 0xab
movsx ebx, al
mov cl, byte [rdi + rcx*2 - 0x7fffffc0]
inc r8b
movzx edx, bx
ror r8w, 0x8e
and r10b, cl
sar eax, 0x45
movzx ecx, al
rol al, 0x45
not r10b
ror cx, 0xd
mov word [rdi + rbx - 0x29], r10w
sal r9d, 0xb2
add edx, 0x18c5181
shl r8b, 0xc2
mov eax, dword [rsi + rdx*2 - 0x318a359]
not rbx
sar r9w, 0xe1
lea rsi, [rsi + rbx*2 + 0x4f]
sar rdx, cl
xor eax, ebp
xor rdx, rcx
lea r9, [rcx + r9 + 0x18143b36]
cmovne dx, r8w
neg eax
xchg ecx, r9d
and ebx, ecx
not eax
sbb eax, 0xcdb9462a
ror eax, 1
add rcx, r9
not r9d
dec eax
jmp 0x1409e1235
xchg byte [rsp + rbx*2], r9b
movsxd r10, r10d
add r11, r10
sar word [rsp + rbx + 5], 4
ror rax, cl
mov qword [rsp + rdx - 0x569f7db0], r11
ret 8
inc r10w
not r9d
movzx ebx, r8b
dec bx
ror ax, cl
lea r9d, [rax + r9 - 0x3a67c00]
bswap r9d
call fcn.140a0b927
mov r10w, word [r9]
mov esi, 0xf726040d
mov ebx, esi
mov ax, word [r9 + 2]
add r10w, ax
mov word [r9 + 2], r10w
mov r10d, dword [r8]
movzx eax, bl
push rax
inc byte [rsp + rax - 0xa]
xor r10d, ebp
add byte [rsp + rax - 0xb], ah
dec r10d
not byte [rsp + rax*2 - 0x17]
not r10d
lea r10d, [r10 + rax*2 + 0x528be410]
neg bx
xchg rsi, rax
not byte [rsp + rsi - 0xc]
rol r10d, 1
mov qword [rsp + rsi - 0xd], rbp
movzx ecx, bx
rol ecx, 0x9a
sal si, cl
xor dword [rsp + rsi - 0x8000], r10d
xor ebx, 0x523b816
pop rbp
movsxd r10, r10d
adc rdi, r10
lea rdx, [rcx + rsi*8 - 0x1176b26a]
push rbx
movzx ebx, byte [r8 + rsi - 0x7ffc]
xchg rcx, rdx
lea r8, [r8 + rsi - 0x7ffb]
neg dx
and rdx, rsi
xor bl, bpl
ror bl, 1
movsx r11d, al
add bl, 0x21
xor bl, 0x2a
jmp 0x140a5409e
jne fcn.140a1acc9
shl ax, 0x2d
mov r10d, dword [rsi + rdx - 0x798a7728]
xor r10d, ebp
lea rcx, [rax + rdx*4 + 0x349f113f]
shr ecx, cl
neg r10d
mov r8d, 0xdd184c06
ror cx, 0xcb
dec r10d
inc r8b
movzx r9d, r8b
rol edx, 0x21
rol r10d, 1
inc r10d
dec rax
sar cl, 0x84
xor r9b, r8b
rol r10d, 1
add r8d, edx
xor r10d, 0x8e915d95
not r10d
shl ax, 0xed
push rbp
xor dword [rsp + rcx*2 - 4], r10d
movzx ebp, ax
pop rbp
movsx ebx, al
add r9d, ebx
not eax
movsxd r10, r10d
call fcn.140a386cb
inc r8b
mov byte [r10 + rcx - 1], bl
mov qword [rsp + r10 - 1], r11
ret 8