Function at 0x1403a4b97
Capabilities:
Authenticate hmac
Execute anti-debugging instructions

Disassembly:
push r15
push r14
bts dx, r8w
movzx ax, sil
push r13
shl dl, 0x6e
jmp 0x1403a4baf
push r12
cmp r8b, 0x89
lahf
bsr r13, r8
push rsi
btr r8w, r8w
mov sil, 0xde
push rdi
push rbp
sar r12b, 0xe6
push rbx
bt ax, 0x8e
adc r14, rbx
sub rsp, 0x88
shr sil, cl
mov r14, rcx
rdtsc
and al, sil
xchg r12b, r13b
mov eax, dword [rcx + 0x24]
inc r12b
btc r13w, r14w
ror ebx, 0xfa
mov ebx, dword [rcx + 0x28]
mov esi, dword [rcx + 0x2c]
and dl, sil
mov ebp, dword [rcx + 0x54]
rcr r8d, cl
shr r12b, 0x15
mov r8d, dword [rcx + 0x50]
dec edx
movsx r12w, r11b
mov r13d, 0x62f43849
mov r12, qword [rcx + 0x30]
shl r13, 0x47
rcl r13w, cl
mov rdx, qword [rcx + 0x38]
sar r13d, cl
jmp 0x1403a4c34
mov dword [rsp + 0x24], eax
or r13w, 0x3d3f
rcr r13w, cl
mov r13d, eax
rcl rax, 0xb7
btr ax, bx
and r13d, 0x7fff
lea rax, [rcx + 0xc8]
mov qword [rsp + 0x48], rax
xor ax, r15w
lea rax, [rcx + 0x80c8]
cmc
mov qword [rsp + 0x78], rax
mov ah, 0x6e
sar eax, 0x4f
lea rax, [rcx + 0x192a2]
test ecx, 0x3c2b4c
mov qword [rsp + 0x58], rax
rcl al, 0xcc
lea rax, [rcx + 0x1c8]
mov qword [rsp + 0x50], rax
lea rax, [rcx + 0xd0]
clc
mov qword [rsp + 0x60], rax
movsx ax, bpl
btr eax, 0xe9
mov rax, qword [r14 + 0xb8]
cmp r15b, al
cmc
test rax, rax
jne 0x1403a4ce2
cmp dword [r14 + 0xa8], 0
jmp 0x1403a4ccf
je 0x1403a576b
test ebx, ebx
jmp 0x1403a4cdc
je 0x1403a576b
mov qword [rsp + 0x30], rdx
stc
adc r15w, r12w
sal r15, 0x3f
mov dword [rsp + 0x28], ebp
movsx r15, sp
cmovle bp, cx
mov rbp, r10
mov dword [rsp + 0x2c], r8d
mov r15d, 0x1000
and bp, si
ror bpl, 0xb6
mov rbp, 0x30563d35
sub r15d, ebx
not bpl
xchg bpl, bpl
cmp rax, r15
cmovb r15, rax
movzx bp, r10b
sub rax, r15
rol rbp, cl
mov qword [r14 + 0xb8], rax
xadd bpl, bpl
or bp, di
movsx rbp, r8w
lea ebp, [rbx + r15]
cmc
test r15, r15
je 0x1403a4e47
add ebx, dword [rsp + 0x24]
movsx dx, ah
movsx edx, r12w
mov rdx, qword [r14 + 0xb0]
jmp 0x1403a4d9b
mov rdx, rdi
test r10w, 0x676d
cmp r15d, 0x71337e5c
test bl, ch
add rdx, qword [r14 + 0xb0]
clc
mov qword [r14 + 0xb0], rdx
test rdi, r9
add ebx, edi
clc
sub r15d, edi
je 0x1403a4e47
and ebx, 0x7fff
movsx r8d, si
cmovp rdi, r15
mov edi, 0x8000
adc cl, sil
sub edi, ebx
bsf r8w, dx
cmp edi, r15d
cdqe
lahf
movzx eax, sp
cmovae edi, r15d
movsxd r8, esi
mov rax, qword [rsp + 0x48]
movzx r8w, r12b
lea rcx, [rax + rbx]
movzx r8d, r12w
mov r8, rdi
jmp 0x1403a4de2
call fcn.1404a1c3e
cmp ebx, 0x100
jmp 0x1403a4df2
ja 0x1403a4d6b
mov rax, qword [rsp + 0x78]
lea rcx, [rax + rbx]
rcr dh, cl
xor r8d, 0x575a6144
and r8b, r12b
mov rdx, qword [r14 + 0xb0]
movsx r8w, dl
mov r8d, 0x101
cmp ax, ax
sub r8d, ebx
stc
test rbx, 0x61be637f
cmp r12b, 0x5f
cmp edi, r8d
cmovb r8d, edi
jmp 0x1403a4e3d
call fcn.1404a1c3e
jmp 0x1403a4d6b
mov r15d, 0x8000
rcl edi, cl
test r10w, si
mov edi, ebp
stc
test al, r12b
sub r15d, ebp
jmp 0x1403a4e61
cmp r15d, esi
cmovae r15d, esi
cmp dword [r14 + 0xa8], 0
jne 0x1403a4e87
cmp edi, 0x1000
jmp 0x1403a4e81
jb 0x1403a5744
cmp edi, 4
mov edx, 0x795e1402
movsx rbp, di
mov r8d, dword [rsp + 0x2c]
setb bpl
mov ebp, dword [rsp + 0x28]
movsx rdx, r13w
xchg edx, ebx
mov rdx, qword [rsp + 0x30]
cmovge ebx, r15d
movsx bx, r14b
movsxd rbx, r13d
mov ebx, dword [rsp + 0x24]
jmp 0x1403a4ec0
jae 0x1403a506c
mov dword [rsp + 0x24], ebx
xor ebx, ebx
mov esi, r15d
test edi, edi
je 0x1403a4cae
dec edi
jmp 0x1403a4ede
jmp 0x1403a4eff
inc r13d
stc
and r13d, 0x7fff
cmc
stc
clc
add edi, 0xffffffff
jmp 0x1403a4ef9
jae 0x1403a56db
mov eax, r13d
xchg cx, cx
not ecx
setg cl
movzx eax, byte [r14 + rax + 0xc8]
add cx, 0x7e73
mov byte [r12], al
movsx ecx, r13w
sar cx, 0x5c
shr rcx, 0xae
shr byte [rdx], 1
inc ebp
movsx cx, r11b
lea rcx, [r12 + 1]
jmp 0x1403a4f3b
dec r8d
add r12, 2
test r15b, dil
test r8d, r8d
cmove rdx, rcx
jmp 0x1403a4f51
cmovne r12, rcx
movsx cx, r9b
movsxd rcx, r13d
mov ecx, 8
jmp 0x1403a4f67
cmove r8d, ecx
inc word [r14 + rax*2 + 0x81ca]
movsx ecx, r10w
mov ecx, dword [rsp + 0x24]
movsx rax, r9w
inc ecx
movsx ax, r13b
dec ah
inc r15d
sub al, spl
test r10d, r12d
cmp r15d, 0x8000
cdqe
mov eax, 0x8000
jmp 0x1403a4fa5
cmovae r15d, eax
jmp 0x1403a4fb7
cmp r12, qword [rsp + 0x58]
jmp 0x1403a4fc1
mov dword [rsp + 0x24], ecx
jmp 0x1403a4fca
jbe 0x1403a4ee3
mov dword [r14 + 0x24], ecx
mov dword [r14 + 0x28], edi
rcr cx, 0xba
btr cx, bp
add cx, 0x2fcd
mov dword [r14 + 0x2c], r15d
mov dword [r14 + 0x54], ebp
rcl cx, 0x14
mov qword [r14 + 0x30], r12
cmp al, r14b
mov qword [r14 + 0x38], rdx
setbe ch
mov dword [r14 + 0x50], r8d
mov rcx, r14
stc
sub edx, edx
jmp 0x1403a500e
call fcn.1403a6bb8
test eax, eax
jmp 0x1403a501a
jne 0x1403a56e8
mov ebp, dword [r14 + 0x54]
jmp 0x1403a5032
mov r12, qword [r14 + 0x30]
cwd
mov rdx, qword [r14 + 0x38]
mov r8d, dword [r14 + 0x50]
jmp 0x1403a5045
jmp 0x1403a4ee3
add r13d, dword [rsp + 0x80]
cmc
and r13d, 0x7fff
test r10b, bl
cmc
cmp edi, 3
jmp 0x1403a5066
jbe 0x1403a4ec6
mov dword [rsp + 0x28], ebp
sbb ax, cx
inc bp
mov r9d, edi
shl ch, 0x7a
mov qword [rsp + 0x30], rdx
test r12w, 0x2f28
xor dl, spl
mov ebp, r13d
mov r11d, dword [r14 + rbp + 0xc8]
rdtsc
mov ecx, r11d
or ah, ah
cdq
xor sil, 0x36
and ecx, 0xffffff
movsx r10, r14w
lahf
mov eax, ecx
or sil, 0x1b
sbb si, 0x73a8
shr eax, 0x11
cqo
sbb dil, bl
shld edx, r13d, 0xf5
mov edx, r11d
add r10b, r12b
bts r10, rsi
add r10b, 0x60
and edx, 0xfff
shld r10d, r15d, 0x94
movzx rdi, r14w
bt edi, 0x8a
xor edx, eax
btc rsi, 0x80
movzx edi, word [r14 + rdx*2 + 0x292aa]
mov esi, r11d
movsx r10, dx
xadd esi, esi
mov word [r14 + rdx*2 + 0x292aa], bx
test spl, 0x53
mov r10d, ebx
xor sil, 0x78
xor sil, cl
stc
sub r10d, edi
btc si, 0x5c
xchg sil, sil
movzx esi, r10w
clc
cmp r10w, 0x2172
cmp r15d, esi
mov qword [rsp + 0x80], rbp
jmp 0x1403a513d
jb 0x1403a531c
mov eax, edi
bsf r13w, dx
movsxd rdx, r13d
xor dx, cx
and eax, 0x7fff
test r15b, 0x9d
mov rdx, qword [rsp + 0x48]
sal r13b, cl
cmp r8w, 0x41e6
mov edx, dword [rdx + rax]
movzx r13, di
bsr r13, rsp
btc r13w, si
mov dword [rsp + 0x44], r9d
not r9
cmp bh, 0x7b
mov r13d, ebx
ror r9b, cl
ror bl, 0x31
mov ebx, 0xffffff
and edx, ebx
btr rbx, 0xf5
rcl bl, cl
mov ebx, r13d
cmc
mov r9d, dword [rsp + 0x44]
clc
cmp edx, 0x64365d0f
cmp edx, ecx
jmp 0x1403a51b0
jne 0x1403a531c
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x2c], r8d
cmovns cx, ax
mov dword [rsp + 0x24], ebx
mov rcx, qword [rsp + 0x48]
movsx ebx, r14w
btc edx, esi
add rcx, rbp
mov qword [rsp + 0x38], rcx
mov rcx, qword [rsp + 0x50]
btr si, 0x7f
lea r8, [rcx + rbp]
and cl, 0x64
mov rsi, rdi
xadd bh, dh
ror dx, 0x96
bsr rdx, r13
and edi, 0x7fff
bsr rbx, r13
mov qword [rsp + 0x68], rdi
lea rdx, [r14 + rbp]
movsx bx, bpl
sub cl, 0x7f
rcr ebp, cl
add rax, qword [rsp + 0x60]
xor bp, 0x7523
mov ecx, 0x20
sub dil, r11b
sal di, cl
sbb ebx, r15d
sub r13d, r13d
mov edi, r9d
ror bpl, cl
nop dword [rax]
movzx ebp, word [rdx + r13 + 0xca]
not bh
movzx ebx, word [rax + r13 - 6]
stc
cmc
cmp bp, bx
jmp 0x1403a525b
jne 0x1403a535a
movzx ebp, word [rdx + r13 + 0xcc]
btc bx, 0x36
sbb bh, 0xc7
shr rbx, 0x84
movzx ebx, word [rax + r13 - 4]
test sil, 0x1a
cmp bp, bx
jmp 0x1403a5288
jne 0x1403a5372
movzx ebp, word [rdx + r13 + 0xce]
movzx ebx, word [rax + r13 - 2]
cmp r12w, 0x156
cmc
cmp bp, bx
jmp 0x1403a52ac
jne 0x1403a5385
movzx ebp, word [rdx + r13 + 0xd0]
ror bx, 0x83
movzx ebx, word [rax + r13]
cmp bp, bx
jmp 0x1403a52cc
jne 0x1403a539a
dec ecx
cmc
add r13, 8
cmc
cmp r13d, 0x100
jmp 0x1403a52e6
jne 0x1403a5240
movzx ebp, byte [r8]
mov rax, qword [rsp + 0x50]
movsx bx, dil
shr bh, 0xfa
add ch, al
mov rcx, qword [rsp + 0x68]
movzx ebx, byte [rax + rcx]
test ah, 0x65
test r13w, r14w
cmc
sub ecx, ecx
jmp 0x1403a5317
jmp 0x1403a53b0
mov byte [r12], r11b
mov rdx, qword [rsp + 0x30]
lahf
shr byte [rdx], 1
setnp r13b
xchg dil, dil
inc r12
movsx cx, r12b
not di
mov r13b, 0xa
movzx eax, r11b
mov r13d, 1
mov rcx, r13
mov rcx, r12
mov edi, r9d
jmp 0x1403a5355
jmp 0x1403a55b0
lea r8, [rdx + r13]
cmp r10b, r10b
jmp 0x1403a5366
add r8, 0xca
jmp 0x1403a53b0
lea r8, [rdx + r13]
test r9b, r9b
add r8, 0xcc
jmp 0x1403a53b0
lea r8, [rdx + r13]
add r8, 0xce
jmp 0x1403a5395
jmp 0x1403a53b0
lea r8, [rdx + r13]
add r8, 0xd0
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x38]
shr dl, cl
test r15b, 0xa0
sub r8d, eax
and r8d, 0xfffffffe
btc r13w, 0xac
movsx r13, bp
sub eax, eax
bt r13w, sp
bsr edx, ebp
cmp bpl, bl
sete al
or eax, r8d
bsr dx, si
adc dx, ax
mov ebx, dword [rsp + 0x24]
movzx edx, bp
bts r13w, di
cmp si, bx
mov r13d, 0x102
cwd
mov rdx, r9
xchg dx, dx
mov edx, 0
jmp 0x1403a540d
cmove r13d, edx
test ecx, ecx
jmp 0x1403a5418
cmovne r13d, eax
clc
jmp 0x1403a5422
cmp r13d, 3
jmp 0x1403a542b
jb 0x1403a5448
jne 0x1403a5484
movzx eax, r10w
stc
cmc
cmp eax, 0x2000
jb 0x1403a5484
mov byte [r12], r11b
cbw
mov rdx, qword [rsp + 0x30]
stc
or r13w, r9w
rol r13w, 0x21
shr byte [rdx], 1
movsx r13w, r13b
inc r12
movzx r13, di
movzx eax, r11b
cmovb r13w, cx
mov r13d, 1
jmp 0x1403a547f
jmp 0x1403a5597
cmp r13d, edi
cmovae r13d, edi
xchg bp, ax
rdtsc
movsx rdi, ax
mov rax, qword [rsp + 0x70]
bswap si
dec eax
bts edx, esp
lea esi, [r13 - 3]
rol r8b, cl
cwd
test rbx, 0x208d67d9
mov byte [r12], sil
movsxd rcx, ecx
sal rcx, cl
inc dl
mov dword [r12 + 1], eax
movzx rbp, bp
dec bpl
add r12, 3
dec dil
bsf rbp, r8
mov rdx, qword [rsp + 0x30]
movzx cx, spl
movzx ebp, si
neg cx
movzx ecx, byte [rdx]
shr cl, 1
btc rbp, rcx
or di, dx
or cl, 0x80
shl ebp, cl
mov byte [rdx], cl
rol bpl, cl
bt cx, r11w
cmp r10w, r15w
mov ecx, eax
cmc
rcl r8w, cl
and ecx, 0x1ff
lea rbp, [0x1400bcab0]
xadd r8w, r8w
rol edi, 0x2a
add rcx, rbp
cmp r12b, 0x32
mov rbp, rax
shr rbp, 8
sal di, cl
mov edi, ebx
sar r8b, cl
lea rbx, [0x1400bccb0]
add rbp, rbx
adc r8b, 0x78
rcl bh, cl
shld bx, ax, 0x65
mov ebx, edi
adc r8b, sil
mov edi, dword [rsp + 0x44]
cmovp r8d, esi
cmp eax, 0x200
cmovb rbp, rcx
sets ch
cbw
movzx r8, di
movzx ecx, byte [rbp]
movsx eax, bx
jmp 0x1403a5575
inc word [r14 + rcx*2 + 0x840a]
movsxd rcx, esp
movzx ax, spl
lahf
lea rcx, [0x1400bcd30]
cbw
movzx eax, word [rcx + rsi*2]
dec cx
mov rcx, r12
xchg r8, rbp
movsxd r8, r12d
movzx ebp, si
mov r8d, dword [rsp + 0x2c]
movzx ebp, ax
dec ebp
movsxd rbp, ebx
mov ebp, dword [rsp + 0x28]
jmp 0x1403a55b9
inc word [r14 + rax*2 + 0x81ca]
jmp 0x1403a55cd
sub r12d, r12d
dec r8d
cmove rdx, rcx
movsxd rax, ecx
jmp 0x1403a55df
sete r12b
lahf
movzx rax, sp
bswap ax
mov eax, 8
jmp 0x1403a55f5
cmove r8d, eax
neg ah
movsxd rax, r9d
lea r12, [r12 + rcx]
rol ax, cl
bswap ax
add ebp, r13d
btr ax, cx
or rax, 0x37827442
neg ah
add ebx, r13d
add r15d, r13d
cmp r15d, 0x8000
movzx eax, r14w
bswap eax
mov eax, 0x8000
cmovae r15d, eax
test r8w, 0x47b2
sub edi, r13d
test r12w, 0x68c8
cmp dil, bl
cmp r12, qword [rsp + 0x58]
jmp 0x1403a5650
jbe 0x1403a504a
mov dword [r14 + 0x24], ebx
clc
ror cl, 0xe3
or rcx, rbp
mov dword [r14 + 0x28], edi
or ecx, 0x3f825534
movsxd rcx, edx
mov dword [r14 + 0x2c], r15d
movsx ecx, r9w
clc
mov dword [r14 + 0x54], ebp
mov qword [r14 + 0x30], r12
shl ch, cl
mov qword [r14 + 0x38], rdx
sar cl, cl
sbb ecx, 0x4da8057e
mov dword [r14 + 0x50], r8d
jmp 0x1403a56a0
mov rcx, r14
xor edx, edx
jmp 0x1403a56aa
call fcn.1403a6bb8
test eax, eax
jmp 0x1403a56b6
jne 0x1403a56e8
mov ebp, dword [r14 + 0x54]
mov r12, qword [r14 + 0x30]
cmovbe dx, r11w
mov rdx, qword [r14 + 0x38]
mov r8d, dword [r14 + 0x50]
jmp 0x1403a56d6
jmp 0x1403a504a
mov esi, r15d
jmp 0x1403a56e3
jmp 0x1403a4cae
setns al
rol r14b, cl
movzx eax, al
sal r13w, cl
rcr bpl, 0x75
neg r14b
add rsp, 0x88
jmp 0x1403a570d
pop rbx
movsx r12d, bp
pop rbp
cmovne r12, rsi
pop rdi
movsx r13d, r8w
movsx si, r11b
pop rsi
pop r12
mov r13b, 0xe6
movzx r13w, r9b
pop r13
xchg r15d, r14d
cmove r14w, sp
pop r14
movzx r15d, r8w
pop r15
jmp 0x1403a5743
ret
mov esi, r15d
mov ebx, edi
mov r8d, dword [rsp + 0x2c]
lahf
movsx dx, ch
movzx rax, cx
mov ebp, dword [rsp + 0x28]
movsx eax, cx
mov dl, 0xca
mov rdx, qword [rsp + 0x30]
movsx eax, si
movzx eax, dx
mov eax, dword [rsp + 0x24]
jmp 0x1403a5774
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x28], ebx
mov dword [r14 + 0x2c], esi
jmp 0x1403a5787
mov dword [r14 + 0x54], ebp
xchg al, al
mov al, 0xfc
mov qword [r14 + 0x30], r12
jmp 0x1403a5798
mov qword [r14 + 0x38], rdx
mov dword [r14 + 0x50], r8d
mov al, 1
jmp 0x1403a57a7
jmp 0x1403a56ee