Function at 0x1403f0058
Capabilities:
Authenticate hmac

Disassembly:
push rbp
inc bpl
setbe bpl
push r15
push r14
inc r15b
btr bp, 0x13
bsr r15d, r9d
push r13
push r12
bsr bp, bx
movsxd r15, r14d
test r13b, 0x7e
push rsi
cmc
push rdi
xadd dil, bpl
adc dil, r14b
neg di
push rbx
xchg r15d, ebp
push rax
bts ax, r14w
sub di, 0x2a2b
mov rbp, rsp
movsx edi, dx
mov dil, r15b
ror ah, cl
mov rdi, rdx
or sil, 0x25
mov rsi, rcx
shl al, cl
rcr al, cl
shr r15b, cl
lea r15, [rdx + r8]
movsxd rax, r14d
btr ax, 0x26
mov eax, dword [rcx + 8]
test al, 2
jmp 0x1403f00cd
jne 0x1403f04aa
test al, 4
jne 0x1403f05d0
test al, 8
jmp 0x1403f00e2
jne 0x1403f070f
test al, 0x10
jmp 0x1403f00ef
jne 0x1403f084e
test al, 0x20
jmp 0x1403f00fc
jne 0x1403f099f
test al, 0x40
jmp 0x1403f0109
jne 0x1403f0ad4
test al, 0x80
jmp 0x1403f0116
jne 0x1403f0b90
test eax, 0x100
jne 0x1403f0c42
test eax, 0x400
jmp 0x1403f0131
jne 0x1403f0d00
mov r14, qword [rsi + 0x110]
btc ax, 0xa9
stc
shr rax, cl
mov rax, qword [rsi + 0x118]
cmc
test ax, 0x6ab0
jmp 0x1403f0158
mov qword [rbp], rax
test r13w, di
cmp sil, 0xdb
test cx, 0x7d75
cmp r14, rax
jmp 0x1403f0171
je 0x1403f02dd
lea r13, [rdi + 1]
stc
cmp r14w, r12w
cmp r13, r15
ja 0x1403f0e5e
mov byte [rdi], 0x5a
mov rax, qword [r14]
sub rsp, 0x20
mov rcx, r14
call qword [rax + 0x10]
add rsp, 0x20
mov r12, rax
stc
add rax, 0xf
cmc
and rax, 0xfffffffffffffff0
jmp 0x1403f01af
call fcn.1404490ec
sub rsp, rax
xchg ah, al
cwde
mov rbx, rsp
mov rax, qword [r14]
adc r8b, r12b
sub rsp, 0x20
mov rcx, r14
mov rdx, rbx
movsxd r8, ebp
movzx r8w, sil
mov r8, r12
jmp 0x1403f01dd
call qword [rax + ioctlsocket]
add rsp, 0x20
clc
cmp dil, 0x26
test al, al
jmp 0x1403f01f0
je 0x1403f0e5e
cmp r12, 0x80
jmp 0x1403f0202
jb 0x1403f0268
mov rcx, r12
lea rax, [r13 + 1]
clc
cmc
cmp r15d, r12d
cmp rax, r15
jmp 0x1403f021c
ja 0x1403f0e5e
mov edx, ecx
or dl, 0x80
test bpl, r15b
clc
mov byte [r13], dl
mov rdx, rcx
or r13b, dl
bt r13w, bx
rcr r13b, cl
shr rdx, 7
and r13b, bpl
mov r13, rax
cmp rcx, 0x3fff
movzx rcx, r11w
mov cl, r14b
mov rcx, rdx
jmp 0x1403f025d
ja 0x1403f020b
jmp 0x1403f0277
mov rax, r13
movsx dx, r12b
bts cx, si
mov rdx, r12
lea rcx, [rax + 1]
cmc
cmp rcx, r15
jmp 0x1403f0284
ja 0x1403f0e5e
mov byte [rax], dl
mov rdi, r12
lea rdi, [rdi + rcx]
cmc
stc
cmp rdi, r15
jmp 0x1403f029d
ja 0x1403f0e5e
sub rsp, 0x20
cqo
movsx r8, si
mov rdx, rbx
movsx r8d, dx
bswap r8w
movzx r8d, r9w
mov r8, r12
call fcn.1404a4291
add rsp, 0x20
add r14, 0x50
cmc
stc
cmp r14, qword [rbp]
jmp 0x1403f02d7
jne 0x1403f0177
mov r14, qword [rsi + 0x128]
rol al, cl
mov rax, qword [rsi + 0x130]
mov sil, 1
cmc
mov qword [rbp], rax
stc
cmc
cmp r14, rax
jmp 0x1403f02ff
je 0x1403f0e6b
lea r13, [rdi + 1]
clc
jmp 0x1403f030f
cmp r13, r15
jmp 0x1403f0317
ja 0x1403f0e5e
mov byte [rdi], 0x62
movsxd rcx, esi
bts rax, r9
mov rax, qword [r14]
stc
add cx, 0x1e71
xor cl, 0x6a
sub rsp, 0x20
mov rcx, r14
call qword [rax + 0x10]
add rsp, 0x20
movsx r12w, r8b
and r12b, bl
mov r12, rax
stc
add rax, 0xf
and rax, 0xfffffffffffffff0
jmp 0x1403f035a
call fcn.1404490ec
sub rsp, rax
mov rbx, rsp
cmovl ax, di
mov ch, 0x7e
shld eax, edi, 0x56
mov rax, qword [r14]
shl r8b, 0x5c
sub rsp, 0x20
mov dx, 0x46af
movzx dx, r9b
movzx rcx, r9w
mov rcx, r14
mov r8b, 0x46
xchg dh, dh
cwd
mov rdx, rbx
mov r8, r12
call qword [rax + ioctlsocket]
add rsp, 0x20
test r13w, bx
test dil, 0x36
test al, al
jmp 0x1403f03ae
je 0x1403f0e5e
cmp r12, 0x80
jmp 0x1403f03c0
jb 0x1403f0436
mov rcx, r12
cdqe
xor ax, r11w
lea rax, [r13 + 1]
cmp rax, r15
jmp 0x1403f03db
ja 0x1403f0e5e
mov edx, ecx
jmp 0x1403f03e9
or dl, 0x80
test rbp, 0x38645921
mov byte [r13], dl
cmp bpl, 0xea
bsr rdx, rsi
mov rdx, rcx
btr r13d, eax
shr rdx, 7
movzx r13d, r8w
shl r13w, 0xd0
mov r13, rax
test r13, 0x1bf475af
cmc
cmp rcx, 0x3fff
bswap rcx
mov rcx, rdx
ja 0x1403f03cf
jmp 0x1403f0444
mov rax, r13
add cx, 0x40ee
mov rdx, r12
sub cx, ax
lea rcx, [rax + 1]
cmp rcx, r15
jmp 0x1403f0450
ja 0x1403f0e5e
mov byte [rax], dl
mov rdi, r12
lea rdi, [rdi + rcx]
cmp rdi, r15
jmp 0x1403f0467
ja 0x1403f0e5e
sub rsp, 0x20
movsxd r8, ecx
movsx rdx, r12w
mov rdx, rbx
mov r8, r12
jmp 0x1403f0483
call fcn.1404a4291
add rsp, 0x20
clc
jmp 0x1403f0492
add r14, 0x50
cmp r14, qword [rbp]
jmp 0x1403f049f
jne 0x1403f0305
jmp 0x1403f0e6b
test r8, r8
jmp 0x1403f04b2
jle 0x1403f0e5e
mov byte [rdi], 0xa
movsxd rcx, ecx
inc rdi
mov rcx, qword [rsi + 0x20]
test dx, r8w
cmc
cmp rcx, 0x80
jmp 0x1403f04d6
jb 0x1403f0544
nop
and al, sil
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f04ec
ja 0x1403f0e5e
mov edx, ecx
test dx, r9w
or dl, 0x80
jmp 0x1403f0504
mov byte [rdi], dl
mov rdx, rcx
adc edi, eax
btc edi, 0xd4
rcl di, 0x38
shr rdx, 7
bts rdi, rsp
mov rdi, rax
stc
cmp sil, sil
clc
cmp rcx, 0x3fff
movsx rcx, bp
movsx cx, r10b
seta cl
mov rcx, rdx
ja 0x1403f04e0
jmp 0x1403f0550
mov rax, rdi
mov rdx, rcx
cmp spl, 0xee
rcr cl, cl
lea rcx, [rax + 1]
cmp rcx, r15
jmp 0x1403f055c
ja 0x1403f0e5e
mov byte [rax], dl
ror r8, cl
mov dil, r14b
add r8b, r8b
mov r8, qword [rsi + 0x20]
btr di, dx
lea rdi, [rcx + r8]
stc
test r9w, si
cmp rdi, r15
jmp 0x1403f0586
ja 0x1403f0e5e
cmp qword [rsi + 0x28], 0x10
jmp 0x1403f0596
jb 0x1403f05aa
mov rdx, qword [rsi + 0x10]
jmp 0x1403f05a5
jmp 0x1403f05ae
lea rdx, [rsi + 0x10]
sub rsp, 0x20
jmp 0x1403f05b7
call fcn.1404a4291
add rsp, 0x20
mov eax, dword [rsi + 8]
clc
stc
test r10, rax
test al, 4
je 0x1403f00db
lea rax, [rdi + 1]
test sil, r13b
test dx, 0x1b67
cmp rax, r15
jmp 0x1403f05e4
ja 0x1403f0e5e
mov byte [rdi], 0x12
bt ecx, 0xcc
mov rcx, qword [rsi + 0x40]
cmp r9w, r9w
stc
jmp 0x1403f05ff
cmp rcx, 0x80
jmp 0x1403f060b
jb 0x1403f0680
nop dword [rax + rax]
movsx dx, r13b
bswap rdx
lea rdx, [rax + 1]
test rsp, rcx
cmp r15b, r14b
cmp rdx, r15
jmp 0x1403f0633
ja 0x1403f0e5e
mov ebx, ecx
movzx edi, r8w
or bl, 0x80
mov byte [rax], bl
xor dil, r13b
sub rdi, 0x1504431
bts eax, r14d
mov rdi, rcx
xor rax, r15
shr rdi, 7
setne al
bt ax, 0xd9
mov rax, rdx
cmp rcx, 0x3fff
movzx cx, ch
mov rcx, rdi
ja 0x1403f0621
jmp 0x1403f0688
mov rdx, rax
mov rdi, rcx
adc cl, bl
lea rcx, [rdx + 1]
cmc
cmp rcx, r15
jmp 0x1403f0695
ja 0x1403f0e5e
mov byte [rdx], dil
stc
mov r8, qword [rsi + 0x40]
bts rdi, r11
lea rdi, [rcx + r8]
cmp rdi, r15
jmp 0x1403f06b3
ja 0x1403f0e5e
cmp qword [rsi + 0x48], 0x10
jmp 0x1403f06c3
jb 0x1403f06d7
mov rdx, qword [rsi + 0x30]
jmp 0x1403f06d2
jmp 0x1403f06e3
lea rdx, [rsi + 0x30]
stc
cmp r13d, 0x26505611
sub rsp, 0x20
jmp 0x1403f06ec
call fcn.1404a4291
add rsp, 0x20
shl al, 0x86
movsx ax, sil
bswap eax
mov eax, dword [rsi + 8]
test al, 8
jmp 0x1403f0709
je 0x1403f00e8
lea rax, [rdi + 1]
cmp di, r14w
stc
cmp rax, r15
jmp 0x1403f0720
ja 0x1403f0e5e
mov byte [rdi], 0x1a
mov rcx, qword [rsi + 0x60]
clc
cmp rcx, 0x80
jmp 0x1403f073a
jb 0x1403f07c2
nop dword [rax]
and dh, 0x94
mov dh, 0xee
cdq
lea rdx, [rax + 1]
clc
test eax, 0x78776b73
cmp rdx, r15
ja 0x1403f0e5e
mov ebx, ecx
rcr dil, 0x9b
or bl, 0x80
mov dil, 0x2c
rcr dil, 0xd0
bt di, 0xed
mov byte [rax], bl
btc di, 0x5b
xor al, r12b
and dil, r15b
mov rdi, rcx
neg ax
bsf rax, rcx
shr rdi, 7
shr ax, 0x39
cmp cx, r12w
mov rax, rdx
cmp rcx, 0x3fff
cmovns cx, bp
movsx cx, sil
setl ch
mov rcx, rdi
jmp 0x1403f07b7
ja 0x1403f074e
jmp 0x1403f07d6
mov rdx, rax
adc dil, r15b
rcl di, cl
bsr di, r14w
mov rdi, rcx
adc cl, r10b
lea rcx, [rdx + 1]
cmp r15, 0x73340522
cmp rcx, r15
ja 0x1403f0e5e
mov byte [rdx], dil
test r9w, 0x468
mov r8, qword [rsi + 0x60]
btc di, 0x61
lea rdi, [rcx + r8]
cmp rdi, r15
ja 0x1403f0e5e
cmp qword [rsi + 0x68], 0x10
jmp 0x1403f0813
jb 0x1403f0822
mov rdx, qword [rsi + 0x50]
jmp 0x1403f0826
lea rdx, [rsi + 0x50]
sub rsp, 0x20
jmp 0x1403f082f
call fcn.1404a4291
add rsp, 0x20
movsxd rax, esi
inc rax
mov eax, dword [rsi + 8]
test al, 0x10
jmp 0x1403f0848
je 0x1403f00f5
lea rax, [rdi + 1]
clc
cmp dil, 0xa8
jmp 0x1403f085c
cmp rax, r15
jmp 0x1403f0864
ja 0x1403f0e5e
mov byte [rdi], 0x22
shld rcx, rax, 0x42
shrd cx, r10w, 0x2d
mov rcx, qword [rsi + 0x80]
jmp 0x1403f0884
cmp rcx, 0x80
jmp 0x1403f0890
jb 0x1403f0904
nop dword [rax]
cmp bx, dx
movsx dx, dil
shld edx, esp, 0x6a
lea rdx, [rax + 1]
stc
cmp rdx, r15
jmp 0x1403f08b3
ja 0x1403f0e5e
mov ebx, ecx
cmp r13w, 0x740a
or bl, 0x80
xadd dil, dil
sbb edi, 0x64f34b8a
movzx di, r13b
mov byte [rax], bl
bt di, r14w
rcr eax, cl
mov rdi, rcx
shr rdi, 7
mov rax, rdx
cmp rcx, 0x3fff
movzx cx, r13b
movsx ecx, r8w
mov rcx, rdi
ja 0x1403f08a6
jmp 0x1403f090a
mov rdx, rax
mov rdi, rcx
lea rcx, [rdx + 1]
test bl, r15b
cmp rcx, r15
jmp 0x1403f0919
ja 0x1403f0e5e
mov byte [rdx], dil
shl r8b, 0x6e
shr r8b, 0x81
mov r8, qword [rsi + 0x80]
btc edi, r14d
lea rdi, [rcx + r8]
test r9b, 0x4c
cmc
cmp rdi, r15
ja 0x1403f0e5e
cmp qword [rsi + 0x88], 0x10
jmp 0x1403f0954
jb 0x1403f0968
mov rdx, qword [rsi + 0x70]
jmp 0x1403f0963
jmp 0x1403f0978
lea rdx, [rsi + 0x70]
jmp 0x1403f0978
sub rsp, 0x20
jmp 0x1403f0981
call fcn.1404a4291
add rsp, 0x20
cmp cx, 0x7e42
mov eax, dword [rsi + 8]
test al, 0x20
jmp 0x1403f0999
je 0x1403f0102
lea rax, [rdi + 1]
jmp 0x1403f09a8
cmp rax, r15
jmp 0x1403f09b0
ja 0x1403f0e5e
mov byte [rdi], 0x2a
inc ch
mov rcx, qword [rsi + 0xa0]
cmp r10b, 0x68
jmp 0x1403f09cb
cmp rcx, 0x80
jb 0x1403f0a2c
lea rdx, [rax + 1]
cmp rdx, r15
ja 0x1403f0e5e
mov ebx, ecx
movsx rdi, dx
sar di, cl
or bl, 0x80
or di, 0x2484
mov byte [rax], bl
mov rdi, rcx
ror rax, 0xb1
or eax, 0x514b50e2
sar rax, 0xa4
shr rdi, 7
sal ah, cl
mov rax, rdx
clc
cmp rcx, 0x3fff
mov rcx, rdi
jmp 0x1403f0a21
ja 0x1403f09d8
jmp 0x1403f0a32
mov rdx, rax
mov rdi, rcx
lea rcx, [rdx + 1]
clc
test cl, bpl
stc
cmp rcx, r15
jmp 0x1403f0a43
ja 0x1403f0e5e
mov byte [rdx], dil
mov r8, qword [rsi + 0xa0]
movsx di, dl
bts di, si
sbb edi, 0x674a59c7
lea rdi, [rcx + r8]
clc
jmp 0x1403f0a6b
cmp rdi, r15
jmp 0x1403f0a73
ja 0x1403f0e5e
cmp qword [rsi + 0xa8], 0x10
jmp 0x1403f0a86
jb 0x1403f0a9d
mov rdx, qword [rsi + 0x90]
jmp 0x1403f0a98
jmp 0x1403f0aa4
lea rdx, [rsi + 0x90]
sub rsp, 0x20
jmp 0x1403f0aad
call fcn.1404a4291
add rsp, 0x20
rcr al, cl
shld ax, r14w, 0xae
cmovb ax, ax
mov eax, dword [rsi + 8]
cmc
stc
test al, 0x40
jmp 0x1403f0ace
je 0x1403f010f
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f0ae0
ja 0x1403f0e5e
mov byte [rdi], 0x30
sal rdi, cl
mov edi, dword [rsi + 0xb0]
cmp bl, dil
test rbx, rbp
cmc
cmp rdi, 0x80
jmp 0x1403f0b05
jb 0x1403f0b54
lea rdx, [rax + 1]
cmc
cmp rdx, r15
jmp 0x1403f0b18
ja 0x1403f0e5e
mov ecx, edi
or cl, 0x80
mov byte [rax], cl
mov rcx, rdi
shr rcx, 7
mov rax, rdx
jmp 0x1403f0b34
cmp rdi, 0x3fff
setl dil
movzx rdi, ax
xchg dil, dil
mov rdi, rcx
ja 0x1403f0b0b
jmp 0x1403f0b65
mov rdx, rax
mov rcx, rdi
ror dil, 0x70
rcl dil, 0x96
shr dil, cl
lea rdi, [rdx + 1]
cmp rdi, r15
jmp 0x1403f0b71
ja 0x1403f0e5e
mov byte [rdx], cl
or al, sil
btr rax, r8
mov eax, dword [rsi + 8]
test al, 0x80
jmp 0x1403f0b8a
je 0x1403f011c
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f0b9c
ja 0x1403f0e5e
mov byte [rdi], 0x38
sar dil, 0x93
mov edi, dword [rsi + 0xb4]
cmp spl, bpl
clc
test r10d, r9d
cmp rdi, 0x80
jmp 0x1403f0bc2
jb 0x1403f0c0a
lea rdx, [rax + 1]
jmp 0x1403f0bd2
cmp rdx, r15
ja 0x1403f0e5e
mov ecx, edi
or cl, 0x80
mov byte [rax], cl
mov rcx, rdi
setle al
and al, 0xe6
shr rcx, 7
mov rax, rdx
cmp rdi, 0x3fff
movzx di, bl
mov rdi, rcx
ja 0x1403f0bc8
jmp 0x1403f0c17
mov rdx, rax
inc ch
mov rcx, rdi
btr di, r15w
lea rdi, [rdx + 1]
cmp rdi, r15
jmp 0x1403f0c23
ja 0x1403f0e5e
mov byte [rdx], cl
sar rax, cl
mov eax, dword [rsi + 8]
clc
test eax, 0x100
jmp 0x1403f0c3c
je 0x1403f0127
lea rax, [rdi + 1]
cmp r9b, 0xf0
stc
cmp r8b, r13b
cmp rax, r15
jmp 0x1403f0c56
ja 0x1403f0e5e
mov byte [rdi], 0x40
movzx edi, cx
shr di, 0xa
shl dil, cl
mov edi, dword [rsi + 0xb8]
cmp rdi, 0x80
jmp 0x1403f0c7b
jb 0x1403f0cd1
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f0c8d
ja 0x1403f0e5e
mov ecx, edi
or cl, 0x80
mov byte [rax], cl
mov rcx, rdi
cdqe
shr rcx, 7
mov rax, rdx
clc
test bpl, 0x7f
cmp rdi, 0x3fff
not dil
movsx di, spl
setp dil
mov rdi, rcx
jmp 0x1403f0cc6
ja 0x1403f0c81
jmp 0x1403f0cdd
mov rdx, rax
xor ch, 0x4c
bsr ecx, esp
mov rcx, rdi
lea rdi, [rdx + 1]
clc
stc
cmp rdi, r15
ja 0x1403f0e5e
mov byte [rdx], cl
mov eax, dword [rsi + 8]
clc
cmp r12d, esi
test eax, 0x400
je 0x1403f0137
lea r12, [rdi + 1]
stc
cmp r12, r15
jmp 0x1403f0d0d
ja 0x1403f0e5e
mov byte [rdi], 0x52
jmp 0x1403f0d23
lea rdi, [rsi + 0xc0]
rcr cl, cl
sub rsp, 0x20
mov rcx, rdi
jmp 0x1403f0d38
call fcn.1401cf0b8
add rsp, 0x20
mov rbx, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
jmp 0x1403f0d51
call fcn.1404490ec
sub rsp, rax
ror edx, cl
movsxd r8, ebx
movzx cx, r10b
mov r14, rsp
bt rdx, 0xf
movsx rdx, ax
sub rsp, 0x20
mov rcx, rdi
cqo
mov r8b, 0x2c
movzx r8w, r8b
mov rdx, r14
mov r8, rbx
call fcn.1403f23f9
add rsp, 0x20
test al, al
jmp 0x1403f0d96
je 0x1403f0e5e
cmp rbx, 0x80
jb 0x1403f0e16
mov rcx, rbx
lea rax, [r12 + 1]
test r10b, 0xb3
cmp rax, r15
jmp 0x1403f0dbd
ja 0x1403f0e5e
mov edx, ecx
or dl, 0x80
cmp rbp, rdi
stc
mov byte [r12], dl
mov rdx, rcx
add r12w, 0x6021
shr rdx, 7
shld r12w, cx, 0x31
movzx r12w, r10b
mov r12, rax
cmc
test r11d, 0x1b354e66
cmp rcx, 0x3fff
movsx cx, sil
movsx rcx, bx
mov rcx, rdx
jmp 0x1403f0e0b
ja 0x1403f0dac
jmp 0x1403f0e25
mov rax, r12
mov rdx, rbx
btc cx, 0x9c
rcr rcx, 0x24
lea rcx, [rax + 1]
stc
test rcx, r9
jmp 0x1403f0e32
cmp rcx, r15
ja 0x1403f0e5e
mov byte [rax], dl
bswap rdi
movsxd rdi, ebp
mov rdi, rbx
add rdi, rcx
cmp dl, r13b
test r14b, 0x97
cmp rdi, r15
jmp 0x1403f0e58
jbe 0x1403f0eb4
xor esi, esi
movsx eax, r11w
mov r15w, r14w
bswap di
mov eax, esi
movsx r13w, dil
movsx r12d, bp
not r15
lea rsp, [rbp + 8]
cmovl rsi, rdx
pop rbx
movsxd rdi, r8d
movzx r13w, cl
not r12b
pop rdi
mov si, 0x56b4
pop rsi
pop r12
mov bpl, 0xf6
pop r13
pop r14
movsx r15w, r10b
mov bp, sp
pop r15
movsxd rbp, edi
movsx bp, bl
pop rbp
jmp 0x1403f0eb3
ret
sub rsp, 0x20
movsx rdx, r15w
movzx r8d, ax
cqo
mov rdx, r14
movzx r8d, si
mov r8b, sil
mov r8, rbx
jmp 0x1403f0ed4
call fcn.1404a4291
add rsp, 0x20
jmp 0x1403f0137