Function at 0x1403a3e45
Capabilities:
Authenticate hmac

Disassembly:
push r15
ror r8b, 0x9d
bsr r8w, r11w
push r14
sbb r14b, 0xe3
push r13
sub r14w, cx
ror ax, 0x14
push r12
sbb ah, 0x4a
btc r12w, 0x55
lahf
push rsi
mov r8w, 0x3886
cbw
push rdi
shl r13b, 0xbc
rol dh, 0x18
push rbp
shr bpl, cl
not dh
sal r14b, 0xad
push rbx
sub rsp, 0x88
cdqe
mov r14, rcx
clc
mov eax, dword [rcx + 0x24]
rcl r13w, 0x2e
mov ebx, dword [rcx + 0x28]
cwd
stc
mov esi, dword [rcx + 0x2c]
mov ebp, dword [rcx + 0x54]
mov r8d, dword [rcx + 0x50]
jmp 0x1403a3eb9
mov r12, qword [rcx + 0x30]
sar edx, cl
mov rdx, qword [rcx + 0x38]
adc r13b, 0xad
mov dword [rsp + 0x24], eax
stc
mov r13d, eax
and r13d, 0x7fff
cwde
movzx eax, sp
cbw
lea rax, [rcx + 0xc8]
cmp r15w, 0x9f1
mov qword [rsp + 0x48], rax
lea rax, [rcx + 0x80c8]
mov qword [rsp + 0x78], rax
btc ax, r12w
cbw
lea rax, [rcx + 0x192a2]
test r10w, 0xbcf
clc
mov qword [rsp + 0x58], rax
cmp bx, bx
adc rax, rsp
lea rax, [rcx + 0x1c8]
mov qword [rsp + 0x50], rax
stc
lea rax, [rcx + 0xd0]
cmc
cmp r15b, 0xd2
mov qword [rsp + 0x60], rax
rcr eax, 0x89
btr eax, esi
movsx eax, si
mov rax, qword [r14 + 0xb8]
cmp r9w, r12w
test rax, rax
jmp 0x1403a3f54
jne 0x1403a3f7a
cmp dword [r14 + 0xa8], 0
jmp 0x1403a3f67
je 0x1403a49fb
test ebx, ebx
jmp 0x1403a3f74
je 0x1403a49fb
mov qword [rsp + 0x30], rdx
neg r15b
mov dword [rsp + 0x28], ebp
jmp 0x1403a3f8b
mov dword [rsp + 0x2c], r8d
shrd ebp, r9d, 0x38
mov r15d, 0x1000
xadd ebp, ebp
test r10b, 0x79
ror rbp, cl
sub r15d, ebx
movsx rbp, si
adc bpl, 0x2b
bswap bp
cmp rax, r15
cmovb r15, rax
sub rax, r15
xor bpl, sil
mov qword [r14 + 0xb8], rax
cmp r10b, sil
clc
rol rbp, 0xde
lea ebp, [rbx + r15]
test r15, r15
je 0x1403a40cb
add ebx, dword [rsp + 0x24]
setp dh
cwd
mov rdx, qword [r14 + 0xb0]
jmp 0x1403a3ff1
jmp 0x1403a4027
mov rdx, rdi
test r10b, 0xb3
test sil, r13b
cmp r13b, bl
add rdx, qword [r14 + 0xb0]
cmc
mov qword [r14 + 0xb0], rdx
add ebx, edi
cmp spl, 0x4e
stc
sub r15d, edi
jmp 0x1403a4021
je 0x1403a40cb
and ebx, 0x7fff
mov edi, 0x8000
or rcx, 0x518e58bc
rcl r8w, cl
sbb r8b, 0x33
sub edi, ebx
cmp edi, r15d
cbw
cmovae edi, r15d
movzx r8, ax
mov rax, qword [rsp + 0x48]
lea rcx, [rax + rbx]
setp r8b
mov r8, rdi
call fcn.1404a0f31
cmp ebx, 0x100
jmp 0x1403a4070
ja 0x1403a3ff6
mov rax, qword [rsp + 0x78]
rcr ecx, 0x21
lea rcx, [rax + rbx]
test r9w, 0x5059
sal r8b, cl
mov rdx, qword [r14 + 0xb0]
bts r8d, r12d
rcr r8w, cl
cmc
mov r8d, 0x101
cmp dx, 0x3acb
jmp 0x1403a40ac
sub r8d, ebx
jmp 0x1403a40b5
cmp edi, r8d
cmovb r8d, edi
jmp 0x1403a40c1
call fcn.1404a0f31
jmp 0x1403a3ff6
mov r15d, 0x8000
cmc
cmp dil, 1
movsx edi, di
mov edi, ebp
cmc
cmp r15d, esp
sub r15d, ebp
jmp 0x1403a40ee
cmp r15d, esi
jmp 0x1403a40f6
cmovae r15d, esi
cmp dword [r14 + 0xa8], 0
jmp 0x1403a4107
jne 0x1403a411e
cmp edi, 0x1000
jmp 0x1403a4118
jb 0x1403a49d9
cmp edi, 4
mov r8d, dword [rsp + 0x2c]
setns dh
not ebx
mov ebp, dword [rsp + 0x28]
mov rdx, 0x635b3ba7
cdq
movzx rdx, r12w
mov rdx, qword [rsp + 0x30]
mov ebx, 0x65bd6ebd
mov ebx, dword [rsp + 0x24]
jae 0x1403a4328
mov dword [rsp + 0x24], ebx
rol sil, cl
sal rsi, cl
sub ebx, ebx
mov esi, r15d
cmc
test rdx, rbp
cmp r13w, r15w
test edi, edi
jmp 0x1403a416d
je 0x1403a3f41
dec edi
jmp 0x1403a41a5
inc r13d
jmp 0x1403a4188
and r13d, 0x7fff
cmc
cmp r15, 0xed2785a
add edi, 0xffffffff
jmp 0x1403a419f
jae 0x1403a4976
mov eax, r13d
sub cx, di
cmove rcx, r11
movzx eax, byte [r14 + rax + 0xc8]
adc cl, 0x17
shl rcx, 0x30
mov byte [r12], al
shr byte [rdx], 1
inc ebp
lea rcx, [r12 + 1]
jmp 0x1403a41d1
dec r8d
cmp r11w, r13w
add r12, 2
cmc
stc
cmp r10w, r14w
test r8d, r8d
jmp 0x1403a41ea
cmove rdx, rcx
jmp 0x1403a41f3
cmovne r12, rcx
movzx ecx, sp
mov ecx, 8
jmp 0x1403a4204
cmove r8d, ecx
xchg ecx, ecx
inc word [r14 + rax*2 + 0x81ca]
cbw
cwde
mov ecx, dword [rsp + 0x24]
cbw
inc ecx
sets ah
inc r15d
shr rax, cl
and rax, r10
cmp r15d, 0x8000
mov eax, 0x8000
jmp 0x1403a423b
cmovae r15d, eax
jmp 0x1403a4249
cmp r12, qword [rsp + 0x58]
jmp 0x1403a4253
mov dword [rsp + 0x24], ecx
jbe 0x1403a417a
mov dword [r14 + 0x24], ecx
movsxd rcx, ebx
rcl cl, 0x19
dec cl
mov dword [r14 + 0x28], edi
adc rcx, r9
rcl cx, cl
mov dword [r14 + 0x2c], r15d
movzx rcx, r13w
movzx cx, r8b
mov dword [r14 + 0x54], ebp
mov qword [r14 + 0x30], r12
and rcx, rdi
shr cx, cl
test r11b, 0xdb
mov qword [r14 + 0x38], rdx
btr cx, 0x74
bt cx, di
mov dword [r14 + 0x50], r8d
sar cx, cl
shrd cx, si, 0xfc
mov rcx, r14
xor edx, edx
jmp 0x1403a42b5
call fcn.1403a5e90
test eax, eax
jmp 0x1403a42c1
jne 0x1403a4983
mov ebp, dword [r14 + 0x54]
mov r12w, r8w
cmovle r8d, edi
mov r12, qword [r14 + 0x30]
movzx dx, r14b
mov rdx, qword [r14 + 0x38]
movsxd r8, r10d
movzx r8, bp
mov r8w, 0x2e79
mov r8d, dword [r14 + 0x50]
jmp 0x1403a42f5
jmp 0x1403a417a
add r13d, dword [rsp + 0x80]
stc
cmc
jmp 0x1403a4309
and r13d, 0x7fff
cmp bp, 0x15fc
jmp 0x1403a431a
cmp edi, 3
jmp 0x1403a4322
jbe 0x1403a414f
mov dword [rsp + 0x28], ebp
add ecx, 0x14190e61
mov r9d, edi
stc
rcl rsi, 0xa6
mov qword [rsp + 0x30], rdx
mov ebp, r13d
xor r10b, 0xa9
mov r11d, dword [r14 + rbp + 0xc8]
setb ah
rcl ax, 0xcc
mov ecx, r11d
cbw
and ecx, 0xffffff
mov eax, ecx
shr eax, 0x11
inc r10b
not r10b
mov edx, r11d
xor di, r14w
movsx di, r10b
and edx, 0xfff
bsr edi, r13d
cmc
xor edx, eax
movzx edi, word [r14 + rdx*2 + 0x292aa]
mov word [r14 + rdx*2 + 0x292aa], bx
mov r10d, ebx
btc esi, r14d
sub r10d, edi
ror si, 7
movzx esi, r10w
clc
test si, r15w
test bpl, 0x35
cmp r15d, esi
jmp 0x1403a43b9
mov qword [rsp + 0x80], rbp
jmp 0x1403a43c6
jb 0x1403a459c
mov eax, edi
movsx dx, r15b
shrd rdx, rdi, 0x3f
sar edx, 0x67
and eax, 0x7fff
mov rdx, qword [rsp + 0x48]
btc r13, 0x5c
rcr r13b, cl
bt r13, r13
mov edx, dword [rdx + rax]
btc r13, r15
movzx r13d, r9w
xadd r13b, r13b
mov dword [rsp + 0x44], r9d
test spl, r9b
mov r13d, ebx
mov ebx, 0xffffff
rcr r9b, cl
and edx, ebx
mov ebx, r13d
or r9b, 0x14
movsxd r9, r11d
mov r9d, dword [rsp + 0x44]
clc
cmp edx, ecx
jmp 0x1403a442c
jne 0x1403a459c
mov qword [rsp + 0x70], rsi
bt ecx, 5
sar dx, 0x84
movsxd rdx, esp
mov dword [rsp + 0x2c], r8d
bt edx, 0xc7
mov dword [rsp + 0x24], ebx
sal r8b, cl
btc edx, edi
mov rcx, qword [rsp + 0x48]
lea rcx, [rcx + rbp]
movsx dx, sil
mov qword [rsp + 0x38], rcx
xadd dl, sil
mov rcx, qword [rsp + 0x50]
lea r8, [rcx + rbp]
test cx, bx
ror esi, 0xb5
mov rsi, rdi
movzx rdx, r9w
and edi, 0x7fff
or dl, r15b
mov qword [rsp + 0x68], rdi
or dh, ch
sar di, cl
bswap rdi
lea rdx, [r14 + rbp]
ror dil, cl
add rax, qword [rsp + 0x60]
shrd edi, ecx, 0x6c
mov ecx, 0x20
inc bl
dec bpl
sub r13d, r13d
shr bp, cl
movsxd rbp, esi
mov edi, r9d
neg bpl
nop dword [rax]
clc
rol bx, cl
xadd bl, bpl
movzx ebp, word [rdx + r13 + 0xca]
rcr ebx, 0x8d
movzx ebx, word [rax + r13 - 6]
cmp bp, bx
jmp 0x1403a44ea
jne 0x1403a45e8
movzx ebp, word [rdx + r13 + 0xcc]
movzx ebx, word [rax + r13 - 4]
cmp bp, bx
jmp 0x1403a4507
jne 0x1403a45fd
movzx ebp, word [rdx + r13 + 0xce]
movzx ebx, word [rax + r13 - 2]
cmp bp, bx
jmp 0x1403a4524
jne 0x1403a461e
movzx ebp, word [rdx + r13 + 0xd0]
ror rbx, cl
movzx ebx, word [rax + r13]
cmp rbx, rbx
cmp r15b, 0x97
cmp bp, bx
jmp 0x1403a454a
jne 0x1403a4635
dec ecx
jmp 0x1403a4557
add r13, 8
cmp r8b, r11b
cmc
cmp r13d, 0x100
jne 0x1403a44d0
movzx ebp, byte [r8]
inc cl
movsx rbx, r15w
mov rax, qword [rsp + 0x50]
movsxd rbx, r10d
mov bx, r12w
mov rcx, qword [rsp + 0x68]
movzx ebx, byte [rax + rcx]
cmp r8b, 0xda
cmc
sub ecx, ecx
jmp 0x1403a4597
jmp 0x1403a4654
mov byte [r12], r11b
add dl, 0xab
rol dl, cl
not dx
mov rdx, qword [rsp + 0x30]
shl cl, 0x8d
shl r13d, cl
shr byte [rdx], 1
movzx rcx, r10w
movsx r13d, bp
movsxd rcx, ebx
inc r12
movzx eax, r11b
setnp cl
jmp 0x1403a45cf
mov r13d, 1
mov dil, 0x36
mov rcx, r12
mov edi, r9d
jmp 0x1403a45e3
jmp 0x1403a486a
lea r8, [rdx + r13]
add r8, 0xca
jmp 0x1403a45f8
jmp 0x1403a4654
lea r8, [rdx + r13]
test r14b, r13b
test sil, 0xec
jmp 0x1403a460d
add r8, 0xcc
jmp 0x1403a4619
jmp 0x1403a4654
lea r8, [rdx + r13]
stc
cmc
add r8, 0xce
jmp 0x1403a4630
jmp 0x1403a4654
lea r8, [rdx + r13]
cdqe
add r8, 0xd0
nop word cs:[rax + rax]
clc
sar r13b, cl
and dl, r8b
mov rax, qword [rsp + 0x38]
sub r8d, eax
or r13b, r14b
cmp bl, dil
and r8d, 0xfffffffe
jmp 0x1403a4673
sub eax, eax
xadd al, r13b
cmp bpl, bl
cwd
sete al
bts bx, si
movsx rbx, bp
or eax, r8d
inc r13b
sbb dl, r10b
bsr bx, r11w
mov ebx, dword [rsp + 0x24]
btr r13d, r13d
cmp si, bx
mov r13, r9
movsx r13d, bx
mov r13d, 0x102
cqo
movsx dx, r14b
mov edx, 0
cmove r13d, edx
clc
test spl, r9b
cmc
test ecx, ecx
jmp 0x1403a46cb
cmovne r13d, eax
cmp r13d, 3
jb 0x1403a46ee
jne 0x1403a4733
movzx eax, r10w
cmp eax, 0x2000
jb 0x1403a4733
mov byte [r12], r11b
bt r13w, 0x2c
setno r13b
mov rdx, qword [rsp + 0x30]
mov ah, 3
rcl al, cl
shr byte [rdx], 1
cdqe
movsx r13, r14w
movzx r13w, r10b
inc r12
movzx eax, r11b
movzx r13, r13w
jmp 0x1403a4723
mov r13d, 1
jmp 0x1403a472e
jmp 0x1403a485b
cmp r13d, edi
bswap rsi
cmovae r13d, edi
cbw
movsxd rdi, eax
dec bp
mov rax, qword [rsp + 0x70]
dec eax
rcr dh, 0xa4
lea esi, [r13 - 3]
ror rcx, cl
shl dh, cl
stc
mov byte [r12], sil
shl r8b, cl
test bl, 0xea
mov dword [r12 + 1], eax
adc bp, r11w
mov r8w, r9w
neg bpl
add r12, 3
cwd
btr cx, 0x26
shr dil, cl
mov rdx, qword [rsp + 0x30]
btc bp, 0x90
sal r8w, 0xe3
movzx ecx, byte [rdx]
shr cl, 1
sal rdi, 0x2c
or cl, 0x80
or r8d, esi
sub ebp, r14d
xadd r8b, bpl
mov byte [rdx], cl
btr ecx, edi
mov ecx, eax
sbb ebp, 0x39922406
and ecx, 0x1ff
cmp r9w, r13w
cmovo rbp, rsp
sub r8b, r14b
lea rbp, [0x1400bcab0]
sal edi, cl
add rcx, rbp
mov rbp, rax
movzx r8d, r12w
sal dil, 0x6e
shr rbp, 8
mov edi, ebx
bts bx, si
movzx rbx, r10w
lea rbx, [0x1400bccb0]
btr r8w, 0xe1
sar r8w, 0x88
bswap r8
lea rbp, [rbp + rbx]
xor bx, r10w
btr r8d, 0x23
mov ebx, edi
inc di
movzx r8d, ax
mov edi, dword [rsp + 0x44]
cmp eax, 0x200
movzx r8, ax
mov r8b, 0x52
cmovb rbp, rcx
jmp 0x1403a4832
movzx ecx, byte [rbp]
cwde
bswap ax
inc word [r14 + rcx*2 + 0x840a]
bswap ecx
lea rcx, [0x1400bcd30]
movzx eax, word [rcx + rsi*2]
mov ebp, r11d
cmovnp r8d, esp
movzx ebp, r10w
mov rcx, r12
movsx r8, di
inc r8
mov r8d, dword [rsp + 0x2c]
mov ebp, dword [rsp + 0x28]
jmp 0x1403a4873
inc word [r14 + rax*2 + 0x81ca]
xor r12d, r12d
dec r8d
cmove rdx, rcx
jmp 0x1403a488b
sete r12b
not ax
movzx rax, dx
mov eax, 8
jmp 0x1403a48a0
cmove r8d, eax
bt ax, 0xa2
xor ax, di
movzx eax, dx
add r12, rcx
shld rax, r10, 0xf3
cmovb ax, si
bt ax, 0x97
add ebp, r13d
or ah, 0xd5
movsxd rax, r8d
bt ax, ax
add ebx, r13d
cmc
add r15d, r13d
cmp r15d, 0x8000
jmp 0x1403a48e4
mov eax, 0x8000
jmp 0x1403a48ee
cmovae r15d, eax
test bp, 0x6c6b
stc
clc
sub edi, r13d
cmp r12, qword [rsp + 0x58]
jbe 0x1403a42fa
mov dword [r14 + 0x24], ebx
mov dword [r14 + 0x28], edi
mov dword [r14 + 0x2c], r15d
shl cx, cl
or cx, r9w
mov dword [r14 + 0x54], ebp
mov qword [r14 + 0x30], r12
mov qword [r14 + 0x38], rdx
xor cx, 0x7f7b
mov cx, 0x540
mov dword [r14 + 0x50], r8d
bts ecx, ecx
movsx rcx, bp
test esp, eax
mov rcx, r14
sub edx, edx
jmp 0x1403a4946
call fcn.1403a5e90
test eax, eax
jmp 0x1403a4952
jne 0x1403a4983
mov ebp, dword [r14 + 0x54]
cwd
seto dh
mov r12, qword [r14 + 0x30]
movsx rdx, r11w
mov rdx, qword [r14 + 0x38]
mov r8d, dword [r14 + 0x50]
jmp 0x1403a42fa
mov esi, r15d
jmp 0x1403a497e
jmp 0x1403a3f41
setns al
rcl r14d, 0x66
sal dil, 0x98
movzx eax, al
cmp r9w, si
btc rbp, rcx
or bh, 0x40
add rsp, 0x88
not r12b
movzx r13d, cx
pop rbx
pop rbp
setns r12b
pop rdi
movzx r14d, dx
pop rsi
jmp 0x1403a49c1
pop r12
cmovs r13, rsp
pop r13
movzx r15d, di
mov r14b, dl
movsx r15d, r8w
pop r14
pop r15
ret
mov esi, r15d
rdtsc
lahf
mov ebx, edi
cdqe
mov r8d, dword [rsp + 0x2c]
not eax
mov ebp, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
jmp 0x1403a49fb
mov eax, dword [rsp + 0x24]
jmp 0x1403a4a04
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x28], ebx
mov al, dl
not al
setl al
mov dword [r14 + 0x2c], esi
setl al
mov dword [r14 + 0x54], ebp
mov qword [r14 + 0x30], r12
mov qword [r14 + 0x38], rdx
mov dword [r14 + 0x50], r8d
setno al
mov al, 1
jmp 0x1403a4a34
jmp 0x1403a498e