Function at 0x140389348
Capabilities:
Authenticate hmac

Disassembly:
push r14
push rsi
push rdi
bsf di, r15w
push rbx
rcl ax, cl
sub rsp, 0x28
mov rdi, rdx
mov r14, rcx
btc esi, r11d
bt esi, 0x66
lea rsi, [rdx + r8]
mov eax, dword [rcx + 8]
clc
cmp r15, r8
stc
test al, 2
jmp 0x14038937a
jne 0x14038941d
test al, 4
jmp 0x140389387
jne 0x14038953f
test al, 8
jmp 0x140389394
jne 0x140389675
test al, 0x10
jmp 0x1403893a1
jne 0x1403897af
test eax, 0x400
jmp 0x1403893b1
jne 0x1403898f6
test eax, 0x800
jmp 0x1403893c1
jne 0x14038994f
test eax, 0x1000
je 0x140389995
lea rax, [rdi + 1]
clc
jmp 0x1403893dc
cmp rax, rsi
ja 0x140389ddc
mov byte [rdi], 0x60
add rdi, 2
stc
cmc
cmp rdi, rsi
jmp 0x1403893f6
ja 0x140389ddc
mov cl, byte [r14 + 0x92]
jmp 0x140389408
mov byte [rax], cl
movsx eax, r13w
lahf
mov eax, dword [r14 + 8]
jmp 0x140389418
jmp 0x140389995
test r8, r8
jmp 0x140389425
jle 0x140389ddc
mov byte [rdi], 0xa
shrd rcx, rsp, 0xd8
movsx rcx, cx
add rdi, 1
mov rcx, qword [r14 + 0x20]
cmp dx, di
cmp rcx, 0x80
jmp 0x14038944e
jb 0x1403894ad
nop
movsx rax, r14w
rcl al, 0x96
lea rax, [rdi + 1]
cmp rax, rsi
ja 0x140389ddc
mov edx, ecx
test rcx, rcx
clc
jmp 0x140389474
or dl, 0x80
mov byte [rdi], dl
rcr dil, 0x89
xadd dil, dil
bsf rdx, r8
mov rdx, rcx
shr rdx, 7
mov rdi, rax
cmp rcx, 0x3fff
movzx cx, dh
mov rcx, rdx
jmp 0x1403894a2
ja 0x14038945c
jmp 0x1403894c9
mov rax, rdi
bts rdx, r11
rol edx, 0x92
movsx dx, r8b
mov rdx, rcx
bswap rcx
rcl cl, 0xca
movzx rcx, r13w
lea rcx, [rax + 1]
cmc
test r12b, r11b
cmp rcx, rsi
ja 0x140389ddc
mov byte [rax], dl
xadd di, r8w
mov r8d, esp
mov r8, qword [r14 + 0x20]
cmc
movsxd rdi, esi
lea rdi, [rcx + r8]
test al, 0x63
cmp rdi, rsi
jmp 0x1403894fa
ja 0x140389ddc
cmp qword [r14 + 0x28], 0x10
jmp 0x14038950a
jb 0x14038951e
mov rdx, qword [r14 + 0x10]
jmp 0x140389519
jmp 0x140389527
lea rdx, [r14 + 0x10]
jmp 0x140389527
call fcn.140457667
mov eax, dword [r14 + 8]
stc
test r9w, 0x6368
test al, 4
je 0x14038938d
lea rax, [rdi + 1]
test r8w, r14w
cmp r8d, esi
cmp rax, rsi
jmp 0x140389552
ja 0x140389ddc
mov byte [rdi], 0x12
mov cx, ax
mov rcx, qword [r14 + 0x40]
cmp rcx, 0x80
jmp 0x14038956e
jb 0x1403895ee
nop word cs:[rax + rax]
movsx dx, al
ror dl, cl
nop dword [rax + rax]
inc dl
shr dx, cl
lea rdx, [rax + 1]
cmp rdi, 0x549224b7
test r14d, ebp
cmp rdx, rsi
jmp 0x1403895a4
ja 0x140389ddc
mov ebx, ecx
or bl, 0x80
mov byte [rax], bl
neg bx
mov rbx, rcx
bsf eax, r12d
shr rbx, 7
xor al, r11b
mov rax, rdx
cmp spl, r13b
cmp rcx, 0x3fff
movzx rcx, r14w
movsx ecx, sp
movzx cx, sil
mov rcx, rbx
jmp 0x1403895e3
ja 0x14038958e
jmp 0x140389601
mov rdx, rax
shr rbx, cl
setge bh
mov rbx, rcx
sbb rcx, 0x1bef0693
lea rcx, [rdx + 1]
cmp r14, 0x51d64738
clc
cmp rcx, rsi
ja 0x140389ddc
mov byte [rdx], bl
cmp rbp, rdx
xchg r8b, r8b
shl r8b, cl
mov r8, qword [r14 + 0x40]
add edi, r15d
lea rdi, [rcx + r8]
clc
test r11, r13
cmp rdi, rsi
ja 0x140389ddc
cmp qword [r14 + 0x48], 0x10
jmp 0x140389643
jb 0x140389657
mov rdx, qword [r14 + 0x30]
jmp 0x140389652
jmp 0x140389660
lea rdx, [r14 + 0x30]
jmp 0x140389660
call fcn.140457667
mov eax, dword [r14 + 8]
test r15b, 0xe6
test al, 8
je 0x14038939a
lea rax, [rdi + 1]
cmp spl, 0x2a
cmp rax, rsi
jmp 0x140389685
ja 0x140389ddc
mov byte [rdi], 0x1a
setle cl
inc cl
mov rcx, qword [r14 + 0x60]
test ah, 2
cmp rcx, 0x80
jmp 0x1403896a6
jb 0x14038972c
nop word cs:[rax + rax]
nop dword [rax + rax]
clc
or dl, r12b
lea rdx, [rax + 1]
clc
cmp sil, sil
cmp rdx, rsi
jmp 0x1403896cf
ja 0x140389ddc
mov ebx, ecx
clc
cmp r14b, 0x22
or bl, 0x80
mov byte [rax], bl
bts eax, r14d
shr rbx, 0x83
mov rbx, rcx
btr ax, cx
cbw
adc al, 0xe
shr rbx, 7
bsr rax, r11
sub ah, 0xce
mov rax, rdx
cmp ch, 0xf4
cmc
cmp cl, sil
cmp rcx, 0x3fff
movsxd rcx, r13d
movzx cx, dl
bswap ecx
mov rcx, rbx
jmp 0x140389721
ja 0x1403896bf
jmp 0x140389741
mov rdx, rax
ror bl, 8
sar rbx, cl
mov rbx, rcx
cmove cx, r10w
and cx, r11w
lea rcx, [rdx + 1]
cmp rcx, rsi
ja 0x140389ddc
mov byte [rdx], bl
stc
and r8w, 0x782d
shl rdi, 0x4a
mov r8, qword [r14 + 0x60]
lea rdi, [rcx + r8]
cmp rdi, rsi
jmp 0x14038976b
ja 0x140389ddc
cmp qword [r14 + 0x68], 0x10
jb 0x14038978a
mov rdx, qword [r14 + 0x50]
jmp 0x140389785
jmp 0x14038978e
lea rdx, [r14 + 0x50]
call fcn.140457667
mov eax, dword [r14 + 8]
stc
cmp bp, 0x1b38
jmp 0x1403897a2
test al, 0x10
jmp 0x1403897a9
je 0x1403893a7
lea rax, [rdi + 1]
cmp rax, rsi
jmp 0x1403897bb
ja 0x140389ddc
mov byte [rdi], 0x22
not ch
and cx, sp
mov rcx, qword [r14 + 0x80]
cmp rcx, 0x80
jmp 0x1403897dc
jb 0x14038985a
nop word cs:[rax + rax]
nop
shr dl, cl
shl dl, 0xd8
bsr dx, r13w
lea rdx, [rax + 1]
cmp dx, r11w
stc
cmp rdx, rsi
jmp 0x140389809
ja 0x140389ddc
mov ebx, ecx
stc
or bl, 0x80
test r8b, 0x19
mov byte [rax], bl
setns bh
stc
clc
mov rbx, rcx
add ah, 0x5c
rol ax, 0xb
shr rbx, 7
cmc
mov rax, rdx
cmp r11d, esi
jmp 0x14038983a
cmp rcx, 0x3fff
movsxd rcx, ebx
mov cl, r15b
mov rcx, rbx
jmp 0x14038984f
ja 0x1403897f8
jmp 0x14038986f
mov rdx, rax
inc bh
adc bl, 0xda
bsr rbx, r9
mov rbx, rcx
sub cl, 0xac
sbb cl, 0x40
lea rcx, [rdx + 1]
cmp rcx, rsi
jmp 0x14038987b
ja 0x140389ddc
mov byte [rdx], bl
movzx rdi, r11w
sbb dil, 0x73
mov r8, qword [r14 + 0x80]
movzx di, cl
xadd rdi, rdi
rcr di, 0x6b
lea rdi, [rcx + r8]
cmp dil, r14b
cmp rdi, rsi
ja 0x140389ddc
cmp qword [r14 + 0x88], 0x10
jmp 0x1403898bb
jb 0x1403898cf
mov rdx, qword [r14 + 0x70]
jmp 0x1403898ca
jmp 0x1403898d8
lea rdx, [r14 + 0x70]
jmp 0x1403898d8
call fcn.140457667
mov eax, dword [r14 + 8]
stc
test bpl, 0x4f
test eax, 0x400
jmp 0x1403898f0
je 0x1403893b7
lea rax, [rdi + 1]
test cx, 0x6284
cmc
test edi, esi
cmp rax, rsi
ja 0x140389ddc
mov byte [rdi], 0x50
cmp dx, bx
cmp r12w, 0x67eb
add rdi, 2
clc
cmc
cmp rdi, rsi
jmp 0x140389925
ja 0x140389ddc
mov cl, byte [r14 + 0x90]
test r11d, 0x5da14a45
test r12w, di
clc
mov byte [rax], cl
mov eax, dword [r14 + 8]
test eax, 0x800
je 0x1403893c7
lea rax, [rdi + 1]
cmp rax, rsi
ja 0x140389ddc
mov byte [rdi], 0x58
stc
add rdi, 2
clc
cmc
cmp rdi, rsi
jmp 0x14038996e
ja 0x140389ddc
mov cl, byte [r14 + 0x91]
cmc
mov byte [rax], cl
mov eax, dword [r14 + 8]
cmp r14b, dl
test eax, 0x1000
jmp 0x14038998f
jne 0x1403893d2
test eax, 0x8000
jmp 0x14038999f
jne 0x140389a91
test eax, 0x100000
jmp 0x1403899af
jne 0x140389b5a
test eax, 0x200000
jmp 0x1403899bf
jne 0x140389ce3
mov bl, 1
test eax, 0x400000
jmp 0x1403899d1
je 0x140389dde
lea rax, [rdi + 1]
clc
cmp rax, rsi
ja 0x140389ddc
mov byte [rdi], 0xb2
test r8b, r9b
cmp bh, 0x5e
add rdi, 2
cmp rdi, rsi
jmp 0x1403899fa
ja 0x140389ddc
mov byte [rax], 1
btr rcx, rbx
mov rcx, qword [r14 + 0xe8]
clc
test r15d, r15d
cmp rcx, 0x80
jmp 0x140389a1e
jb 0x140389c64
lea rax, [rdi + 1]
test dl, r14b
test edx, 0x38e33f9e
cmp rax, rsi
jmp 0x140389a39
ja 0x140389ddc
mov edx, ecx
test cl, 0x16
or dl, 0x80
test r11w, r14w
mov byte [rdi], dl
shrd dx, sp, 0xa6
bts rdx, rbp
mov rdx, rcx
shld di, ax, 0x1f
shr rdx, 7
sub dil, 0x19
movsx di, spl
xadd rdi, rdi
mov rdi, rax
cmc
stc
test r8b, bl
cmp rcx, 0x3fff
mov rcx, rdx
jmp 0x140389a86
ja 0x140389a24
jmp 0x140389c6a
lea rax, [rdi + 1]
cmp rax, rsi
jmp 0x140389a9d
ja 0x140389ddc
mov byte [rdi], pe_nt_image_headers64
bt bx, r15w
mov ebx, dword [r14 + 0x94]
cmp rbx, 0x80
jb 0x140389b22
lea rdx, [rax + 1]
cmp r12w, 0x2be7
test r8w, bx
cmp rdx, rsi
jmp 0x140389ad5
ja 0x140389ddc
mov ecx, ebx
test edx, r15d
or cl, 0x80
test dl, r8b
cmc
mov byte [rax], cl
movzx ecx, r9w
mov rcx, rbx
and ah, 0xb3
shr rcx, 7
bt rax, rcx
shrd ax, r12w, 0x53
mov rax, rdx
cmc
cmp dl, r9b
cmp rbx, 0x3fff
mov rbx, rcx
jmp 0x140389b17
ja 0x140389abf
jmp 0x140389b2e
mov rdx, rax
ror ecx, cl
sub dil, 0xb6
mov rcx, rbx
lea rdi, [rdx + 1]
cmp rdi, rsi
jmp 0x140389b3a
ja 0x140389ddc
mov byte [rdx], cl
mov eax, dword [r14 + 8]
cmc
test bpl, cl
test eax, 0x100000
jmp 0x140389b54
je 0x1403899b5
lea rax, [rdi + 1]
cmc
clc
cmp rax, rsi
jmp 0x140389b68
ja 0x140389ddc
mov byte [rdi], 0xa2
test cx, 0x4733
cmc
add rdi, 2
test dx, r8w
cmp rdi, rsi
jmp 0x140389b87
ja 0x140389ddc
mov byte [rax], 1
mov rcx, qword [r14 + 0xa8]
jmp 0x140389b9c
cmp rcx, 0x80
jb 0x140389c0b
lea rax, [rdi + 1]
cmp r12w, si
test r15w, r11w
cmc
cmp rax, rsi
jmp 0x140389bbe
ja 0x140389ddc
mov edx, ecx
or dl, 0x80
cmp cl, spl
clc
cmc
mov byte [rdi], dl
xchg edx, edi
movsx dx, r14b
stc
mov rdx, rcx
dec rdi
sar rdi, cl
shr rdx, 7
mov rdi, rax
cmp rcx, 0x3fff
jmp 0x140389bf8
mov rcx, rdx
jmp 0x140389c00
ja 0x140389ba9
jmp 0x140389c14
mov rax, rdi
mov rdx, rcx
xor rcx, rbx
lea rcx, [rax + 1]
jmp 0x140389c1d
cmp rcx, rsi
ja 0x140389ddc
mov byte [rax], dl
ror di, 0x10
clc
mov r8, qword [r14 + 0xa8]
rcr edi, cl
lea rdi, [rcx + r8]
stc
clc
cmp rdi, rsi
ja 0x140389ddc
cmp qword [r14 + 0xb0], 0x10
jmp 0x140389c52
jb 0x140389cc7
mov rdx, qword [r14 + 0x98]
jmp 0x140389cce
mov rax, rdi
mov rdx, rcx
lea rcx, [rax + 1]
cmp rcx, rsi
jmp 0x140389c76
ja 0x140389ddc
mov byte [rax], dl
setbe r8b
bt ax, si
cmovl r8w, r10w
mov r8, qword [r14 + 0xe8]
sbb ax, 0x47c8
lea rax, [rcx + r8]
cmp rax, rsi
jmp 0x140389ca2
ja 0x140389ddc
cmp qword [r14 + 0xf0], 0x10
jmp 0x140389cb5
jb 0x140389e45
mov r14, qword [r14 + 0xd8]
jmp 0x140389e51
lea rdx, [r14 + 0x98]
call fcn.140457667
mov eax, dword [r14 + 8]
clc
test eax, 0x200000
je 0x1403899c5
lea rax, [rdi + 1]
test r8w, 0x754d
cmp rax, rsi
jmp 0x140389cf5
ja 0x140389ddc
mov byte [rdi], 0xaa
cmc
test bl, cl
add rdi, 2
clc
jmp 0x140389d0b
cmp rdi, rsi
jmp 0x140389d13
ja 0x140389ddc
mov byte [rax], 1
mov rcx, qword [r14 + 0xc8]
cmp rcx, 0x80
jmp 0x140389d2f
jb 0x140389d93
lea rax, [rdi + 1]
test r11b, bpl
cmp rax, rsi
ja 0x140389ddc
mov edx, ecx
jmp 0x140389d4c
or dl, 0x80
clc
cmp dil, 0xff
mov byte [rdi], dl
mov rdx, rcx
adc dil, dil
shr rdx, 7
cmp r14b, 0x36
rcr di, 0xcc
mov rdi, rax
jmp 0x140389d71
cmp rcx, 0x3fff
movzx cx, r10b
movsxd rcx, r9d
mov rcx, rdx
jmp 0x140389d88
ja 0x140389d35
jmp 0x140389da1
mov rax, rdi
mov rdx, rcx
bswap cx
movzx cx, r11b
lea rcx, [rax + 1]
test sp, 0x2f50
clc
cmp rcx, rsi
jmp 0x140389db3
ja 0x140389ddc
mov byte [rax], dl
movzx di, r13b
mov r8, qword [r14 + 0xc8]
lea rdi, [rcx + r8]
test r15b, bl
cmp rdi, rsi
jmp 0x140389dd6
jbe 0x140389e02
xor ebx, ebx
mov eax, ebx
btr rbx, 0xb4
dec ebx
add rsp, 0x28
pop rbx
pop rdi
movsx r14d, r8w
movsx r14, sp
pop rsi
movzx r14d, dx
pop r14
jmp 0x140389e01
ret
cmp qword [r14 + 0xd0], 0x10
jmp 0x140389e0f
jb 0x140389e26
mov rdx, qword [r14 + 0xb8]
jmp 0x140389e21
jmp 0x140389e32
lea rdx, [r14 + 0xb8]
jmp 0x140389e32
call fcn.140457667
mov eax, dword [r14 + 8]
jmp 0x140389e40
jmp 0x1403899c5
add r14, 0xd8
setbe dl
bswap edx
mov rdx, r14
jmp 0x140389e59
call fcn.140457667
jmp 0x140389dde