Function at 0x1403d5668
Capabilities:
Authenticate hmac

Disassembly:
push rsi
ror rsi, 0xc0
neg si
movzx rsi, bx
push rdi
bt esi, 0xf8
bswap di
push rbx
btc si, 0x5c
sbb bl, bl
cmovnp di, r9w
sub rsp, 0x30
rcl esi, 2
movaps xmmword [rsp + 0x20], xmm6
and ebx, ebx
mov rdi, rdx
inc rbx
ror bl, 0x5e
mov rsi, rcx
setno bl
sbb ebx, r11d
sal rbx, cl
mov rbx, qword [rcx + 8]
jmp 0x1403d56b6
cmp rbx, qword [rcx + 0x10]
jmp 0x1403d56bf
je 0x1403d5745
xorps xmm6, xmm6
movups xmmword [rbx + 0x10], xmm6
rcl dl, 0x59
sbb dx, di
bts r8d, esi
movups xmmword [rbx], xmm6
mov r8, qword [rdi + 0x10]
cmc
clc
cmp qword [rdi + 0x18], 8
mov rdx, rdi
jmp 0x1403d56ec
jb 0x1403d56f7
mov rdx, qword [rdi]
bswap ecx
mov rcx, rbx
call fcn.1403b3c6a
lea rcx, [rbx + 0x20]
movzx r8d, r14w
and r8b, sil
movups xmmword [rbx + 0x30], xmm6
shld r8, rsi, 0xf
movups xmmword [rbx + 0x20], xmm6
or r8b, 0x94
shl r8w, 0x30
sbb r8b, dl
mov r8, qword [rdi + 0x30]
cmp qword [rdi + 0x38], 8
jmp 0x1403d5731
jb 0x1403d5789
mov rdx, qword [rdi + 0x20]
jmp 0x1403d5740
jmp 0x1403d578d
mov rcx, rsi
shl dl, cl
test rcx, rbp
sar sil, 0x6a
mov rdx, rbx
btr r8w, ax
mov r8, rdi
shld bx, ax, 0xe3
btc di, 9
movaps xmm6, xmmword [rsp + 0x20]
rcr sil, 0x33
and bh, 0x57
add rsp, 0x30
movsx edi, dx
pop rbx
movsxd rsi, edi
pop rdi
pop rsi
jmp 0x1403d5784
jmp 0x1403d5814
lea rdx, [rdi + 0x20]
call fcn.1403b3c6a
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rbx + 0x40], xmm0
dec ch
xor cl, 0x72
mov rcx, qword [rdi + 0x50]
mov qword [rbx + 0x50], rcx
test rcx, rcx
je 0x1403d57bb
mov rax, qword [rcx]
jmp 0x1403d57b8
call qword [rax + ioctlsocket]
mov rax, qword [rdi + 0x58]
bswap di
mov qword [rbx + 0x58], rax
mov rax, qword [rsi + 8]
neg rbx
setae cl
lea rcx, [rax + 0x60]
btr bx, r15w
test si, 0x19d0
mov qword [rsi + 8], rcx
movaps xmm6, xmmword [rsp + 0x20]
movsx ebx, r11w
movzx bx, sil
add rsp, 0x30
cmovbe rbx, r9
xchg rdi, rbx
pop rbx
movzx si, r8b
mov rdi, 0x3c4e0574
pop rdi
movsx esi, r14w
pop rsi
jmp 0x1403d5813
ret
push r15
sbb ah, 0x7f
bts ax, bp
shrd eax, esi, 0x34
push r14
cmp r14w, cx
bswap r14d
bts r14w, r9w
push r13
push r12
rcr al, cl
ror r13b, cl
sal r13b, cl
push rsi
not sil
shld r13w, r15w, 0x66
push rdi
sub di, 0xadd
push rbp
add bp, cx
push rbx
movzx edi, di
btr ebp, 0x7d
movsx r13w, r8b
sub rsp, 0x68
sal si, 0xde
movsx rbx, r15w
sub bpl, dil
movaps xmmword [rsp + 0x50], xmm7
mov bl, r10b
ror r13b, 0x66
movaps xmmword [rsp + 0x40], xmm6
movsx eax, dx
bt ebp, r11d
mov rdi, rdx
mov r13, rcx
inc bh
cdqe
mov rcx, qword [rcx]
mov rbp, qword [r13 + 8]
cmove esi, r15d
sub rbp, rcx
cmovg r14d, ebx
sar rbp, 5
movabs rsi, 0xaaaaaaaaaaaaaaab
bsf bx, r14w
mov rax, rdx
clc
sub rax, rcx
sbb edx, 0x2c3f405e
sar dx, cl
movabs rdx, 0x2aaaaaaaaaaaaaab
imul rdx
rol bl, cl
mov r14, rdx
imul rbp, rsi
inc rbp
bts dx, r11w
mov rax, qword [r13 + 0x10]
shl dx, 0x14
sub rax, rcx
ror dx, cl
cmc
sar rax, 5
xadd cx, cx
imul rax, rsi
mov rbx, rax
sub rdx, r15
and cx, 0x6841
shr rbx, 1
mov ch, bh
movabs rcx, 0x2aaaaaaaaaaaaaa
sub dh, 0x96
mov rdx, rcx
stc
test r10b, r13b
sub rdx, rbx
jmp 0x1403d5928
add rbx, rax
clc
test sp, 0x1b1
cmp rsi, 0x613a6476
cmp rbx, rbp
cmovbe rbx, rbp
stc
cmp rax, rdx
jmp 0x1403d5948
cmova rbx, rcx
cmp r9w, 0x26a9
test r11d, 0x52a14d13
cmp rbx, rcx
jmp 0x1403d5961
ja 0x1403d60d5
mov rsi, r8
jmp 0x1403d596f
mov rax, r14
shr rax, 0x3f
add cx, r12w
bt rcx, r13
sar r14, 4
cmp r13, 0xef50225
bt rcx, r15
lea r14, [r14 + rax]
mov rax, rbx
shl rax, 5
sub ch, 0xc6
adc cx, r12w
lea rcx, [rax + rax*2]
clc
cmp rbx, 0x2b
jmp 0x1403d59ad
mov qword [rsp + 0x38], rbp
jmp 0x1403d59b7
mov qword [rsp + 0x30], rbx
jmp 0x1403d59c1
jb 0x1403d59ee
add rcx, 0x27
call fcn.1404487e4
lea r12, [rax + 0x27]
cmc
test r11w, 0x6f8c
and r12, 0xffffffffffffffe0
jmp 0x1403d59e4
mov qword [r12 - 8], rax
jmp 0x1403d5a1b
test rbx, rbx
jmp 0x1403d59f6
je 0x1403d5a0e
call fcn.1404487e4
mov r12, rax
jmp 0x1403d5a09
jmp 0x1403d5a1b
xor r12d, r12d
or rbx, r14
sub bl, 0xf2
rcl r15b, 0xde
lea r15, [r14 + r14*2]
movzx bx, bpl
shl r15, 5
mov bx, 0x33b2
lea rbx, [r12 + r15]
jmp 0x1403d5a35
xorps xmm6, xmm6
movups xmmword [r12 + r15 + 0x10], xmm6
cmp ch, bh
movups xmmword [r12 + r15], xmm6
mov r8, qword [rsi + 0x10]
adc dx, 0x6fdd
mov dx, 0xae3
shl dl, 0x5a
cmp qword [rsi + 0x18], 8
cdq
mov dl, r11b
mov rdx, rsi
jmp 0x1403d5a66
jb 0x1403d5a6f
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.1403b3c6a
lea rcx, [r12 + r15]
sub r8b, 0x5e
add rcx, 0x20
movups xmmword [r12 + r15 + 0x30], xmm6
adc r8b, 0x84
movups xmmword [r12 + r15 + 0x20], xmm6
bts r8w, r14w
mov r8, qword [rsi + 0x30]
cmp sp, r8w
test edx, 0x5ab58f4
test sil, r10b
cmp qword [rsi + 0x38], 8
jmp 0x1403d5ab3
jb 0x1403d5ac2
mov rdx, qword [rsi + 0x20]
jmp 0x1403d5acb
lea rdx, [rsi + 0x20]
jmp 0x1403d5acb
call fcn.1403b3c6a
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [r12 + r15 + 0x40], xmm0
adc cl, 0x4e
cmp si, 0x54b1
movzx rcx, ax
mov rcx, qword [rsi + 0x50]
mov qword [r12 + r15 + 0x50], rcx
test rcx, rcx
je 0x1403d5b03
mov rax, qword [rcx]
jmp 0x1403d5b00
call qword [rax + ioctlsocket]
mov rax, qword [rsi + 0x58]
mov qword [r12 + r15 + 0x58], rax
xadd al, al
mov r14, qword [r13]
movsx rax, r9w
mov rax, r13
cmp r9, r9
mov r13, qword [r13 + 8]
cmp r13, rdi
je 0x1403d5dfe
mov qword [rsp + 0x28], rbx
cmp r11b, 0x26
jmp 0x1403d5b38
mov qword [rsp + 0x20], rax
jmp 0x1403d5b42
cmp r14, rdi
jmp 0x1403d5b4a
je 0x1403d5cbd
sub esi, esi
jmp 0x1403d5b57
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1400bd3f0]
jmp 0x1403d5b66
jmp 0x1403d5b9c
mov rax, qword [rbp + 0x58]
cmc
mov qword [rbx + 0x58], rax
jmp 0x1403d5b79
add rsi, 0x60
cmp di, r10w
add rbp, 0x60
jmp 0x1403d5b8e
cmp rbp, rdi
jmp 0x1403d5b96
je 0x1403d5ca9
lea rbp, [r14 + rsi]
xor ebx, 0x576f7398
movzx rcx, r14w
lea rbx, [r12 + rsi]
movsxd rcx, esp
movups xmmword [r12 + rsi + 0x10], xmm6
rcl rcx, 0xbb
sal ch, 0x4e
movsxd rcx, r13d
movups xmmword [r12 + rsi], xmm6
movsxd rcx, edx
rol ch, cl
movups xmm0, xmmword [r14 + rsi]
movzx ecx, ax
and rcx, rbx
movups xmm1, xmmword [r14 + rsi + 0x10]
cmp ebp, 0x4386288
xor cx, 0x5d2
rcr cx, cl
movups xmmword [r12 + rsi + 0x10], xmm1
movups xmmword [r12 + rsi], xmm0
adc cl, 0x1e
movups xmmword [r14 + rsi + 0x10], xmm7
sar cx, 0xee
mov word [r14 + rsi], 0
bswap cx
movups xmmword [r12 + rsi + 0x30], xmm6
bsf rcx, r13
movups xmmword [r12 + rsi + 0x20], xmm6
btr cx, r14w
movups xmm0, xmmword [r14 + rsi + 0x20]
sal rcx, cl
movups xmm1, xmmword [r14 + rsi + 0x30]
shr ch, 0x10
movups xmmword [r12 + rsi + 0x20], xmm0
cmovne cx, r9w
sal ch, cl
mov cl, 0x91
movups xmmword [r12 + rsi + 0x30], xmm1
xchg ch, ch
sar ch, cl
shr cx, 0xd8
movups xmmword [r14 + rsi + 0x30], xmm7
mov word [r14 + rsi + 0x20], 0
btr cx, 0x27
movups xmm0, xmmword [r14 + rsi + 0x40]
bt cx, r11w
clc
movups xmmword [r12 + rsi + 0x40], xmm0
btr cx, r11w
sar ch, 0xf2
mov rcx, qword [r14 + rsi + 0x50]
jmp 0x1403d5c88
mov qword [r12 + rsi + 0x50], rcx
test dil, spl
test rcx, rcx
jmp 0x1403d5c98
je 0x1403d5b6b
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
jmp 0x1403d5b6b
mov rax, qword [rsp + 0x20]
or r13d, 0x47735a9
mov r13, qword [rax + 8]
stc
cmp r12b, r14b
cmp r13, rdi
jmp 0x1403d5cc5
je 0x1403d5f38
lea rbx, [r15 + r12]
cmp ah, 0x1f
add rbx, 0x60
test r13b, spl
xor ebp, ebp
jmp 0x1403d5ce0
xorps xmm6, xmm6
movaps xmm7, xmmword [0x1400bd3f0]
jmp 0x1403d5cef
jmp 0x1403d5d1c
mov rax, qword [rsi + 0x58]
mov qword [rbx + rbp + 0x58], rax
stc
add rbp, 0x60
test dl, 0x89
clc
add rsi, 0x60
test dil, 0x61
cmp rsi, r13
jmp 0x1403d5d16
je 0x1403d5f38
lea rsi, [rdi + rbp]
shl cl, 0x17
shl rcx, cl
test r9w, bx
movups xmmword [rbx + rbp + 0x10], xmm6
movsxd rcx, r15d
movups xmmword [rbx + rbp], xmm6
clc
sbb cx, r10w
movups xmm0, xmmword [rdi + rbp]
rol cx, 0x47
movups xmm1, xmmword [rdi + rbp + 0x10]
movups xmmword [rbx + rbp + 0x10], xmm1
add cl, al
sar cl, cl
movups xmmword [rbx + rbp], xmm0
add cx, 0xa2d
btc cx, r12w
movzx cx, bl
movups xmmword [rdi + rbp + 0x10], xmm7
mov word [rdi + rbp], 0
movups xmmword [rbx + rbp + 0x30], xmm6
movsx ecx, si
btc cx, r13w
rol ecx, cl
movups xmmword [rbx + rbp + 0x20], xmm6
movups xmm0, xmmword [rdi + rbp + 0x20]
movups xmm1, xmmword [rdi + rbp + 0x30]
jmp 0x1403d5d91
movups xmmword [rbx + rbp + 0x20], xmm0
rcr cx, 0x95
movups xmmword [rbx + rbp + 0x30], xmm1
rcr ch, cl
shl rcx, 0xb4
bts rcx, r8
movups xmmword [rdi + rbp + 0x30], xmm7
mov word [rdi + rbp + 0x20], 0
sets ch
movups xmm0, xmmword [rdi + rbp + 0x40]
ror ch, 0xd8
shl ch, 0x58
movups xmmword [rbx + rbp + 0x40], xmm0
sub cl, bl
rcl ch, cl
mov rcx, qword [rdi + rbp + 0x50]
jmp 0x1403d5dda
mov qword [rbx + rbp + 0x50], rcx
cmc
test rcx, rcx
jmp 0x1403d5de8
je 0x1403d5cf4
mov rax, qword [rcx]
jmp 0x1403d5df6
call qword [rax + ioctlsocket]
jmp 0x1403d5cf4
cmp r14, rdi
jmp 0x1403d5e06
je 0x1403d60bd
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
xorps xmm6, xmm6
mov rsi, r12
jmp 0x1403d5e21
jmp 0x1403d5e63
mov rax, qword [r14 + 0x58]
inc sil
ror sil, 0xa0
mov qword [rbx + 0x38], rax
add r14, 0x60
sbb sil, dil
xor si, 0x3da6
sub sil, al
add rbx, 0x40
btc si, 0xc6
mov rsi, rbx
test dx, 0x73b7
jmp 0x1403d5e5a
cmp r14, rdi
je 0x1403d5f38
movups xmmword [rsi + 0x10], xmm6
movzx edx, r13w
btc rdx, rdx
bsr edx, r12d
movups xmmword [rsi], xmm6
cwd
cmp qword [r14 + 0x18], 8
mov rdx, r14
jmp 0x1403d5e85
jb 0x1403d5e96
mov rdx, qword [r14]
xchg r8w, cx
movsx rcx, r13w
mov r8, qword [r14 + 0x10]
bswap rcx
jmp 0x1403d5ea4
mov rcx, rsi
call fcn.1403b3c6a
lea rbx, [rsi + 0x20]
shrd r8w, dx, 0x3e
rcr r8b, 0xec
movups xmmword [rsi + 0x30], xmm6
xadd r8w, r8w
movups xmmword [rsi + 0x20], xmm6
movsxd r8, ecx
mov r8, qword [r14 + 0x30]
cmc
cmp qword [r14 + 0x38], 8
jmp 0x1403d5ed9
jb 0x1403d5eed
mov rdx, qword [r14 + 0x20]
jmp 0x1403d5ee8
jmp 0x1403d5ef4
lea rdx, [r14 + 0x20]
setno ch
mov rcx, rbx
jmp 0x1403d5efc
call fcn.1403b3c6a
movups xmm0, xmmword [r14 + 0x40]
test rsp, rcx
rcl cl, cl
movups xmmword [rsi + 0x40], xmm0
cmp r11b, dil
sal rcx, 0x36
mov rcx, qword [r14 + 0x50]
cmc
mov qword [rsi + 0x50], rcx
test esi, r13d
cmp cl, al
test rcx, rcx
je 0x1403d5e26
mov rax, qword [rcx]
call qword [rax + ioctlsocket]
jmp 0x1403d5e26
mov rbp, qword [rsp + 0x20]
bt di, r8w
sar dil, 0x7f
mov rdi, qword [rbp]
sal bl, cl
bts bx, r15w
btc bx, 0xd9
mov rbx, qword [rsp + 0x28]
jmp 0x1403d5f61
test rdi, rdi
jmp 0x1403d5f69
je 0x1403d5fed
mov rsi, qword [rbp + 8]
cmp rdi, rsi
je 0x1403d5f9d
nop dword [rax]
mov rcx, rdi
call fcn.1403cb90b
add rdi, 0x60
cmp rdi, rsi
jmp 0x1403d5f93
jne 0x1403d5f7f
mov rdi, qword [rbp]
mov rdx, qword [rbp + 0x10]
test r11w, di
test r13b, 0xa5
sub rdx, rdi
cmp rdx, 0x1000
jb 0x1403d5fe5
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
stc
sub rdi, rax
clc
cmp rdi, 0x20
jmp 0x1403d5fcf
jae 0x1403d60da
add rdx, 0x27
mov rdi, rax
xchg cx, cx
movsx ecx, dx
not cx
mov rcx, rdi
call fcn.14011c520
mov qword [rbp], r12
shr r15w, cl
stc
mov rax, qword [rsp + 0x38]
mov rdi, 0x58b72b95
lea rax, [rax + rax*2]
bts si, sp
shl rax, 5
add rax, r12
mov qword [rbp + 8], rax
shl r13b, 0x72
bts rsi, r10
sar sil, cl
mov rax, qword [rsp + 0x30]
lea rax, [rax + rax*2]
sal di, cl
btc r15w, 0xc7
shl rax, 5
add rax, r12
shl r15w, cl
shl si, 0xa6
rcr r15b, 0x2e
mov qword [rbp + 0x10], rax
sub r12w, di
mov rax, rbx
mov r12, 0x220c1392
shr bx, 0xb
movaps xmm6, xmmword [rsp + 0x40]
shr dil, 0x91
mov r15, rbx
setle bpl
movaps xmm7, xmmword [rsp + 0x50]
adc dil, r10b
btc r14d, 7
add rsp, 0x68
movzx ebx, r12w
pop rbx
setnp bpl
bswap r13d
pop rbp
pop rdi
movsx r13d, sp
bswap r14w
setge r13b
pop rsi
pop r12
movsx r13, r9w
xchg r13w, r14w
movsxd r13, r15d
pop r13
movsxd r15, r13d
movzx r15w, r13b
jmp 0x1403d60b3
pop r14
pop r15
jmp 0x1403d60bc
ret
mov rbp, rax
cmp r14d, 0x779004f8
test rdi, rdi
jne 0x1403d5f6f
jmp 0x1403d5fed
call fcn.1403b3719
call fcn.1404b6f1c
int3