Function at 0x1403f4edc
Capabilities:
Authenticate hmac

Disassembly:
push rbp
movzx ebp, bx
neg bpl
push r15
and r15b, 0xb
test r14b, spl
push r14
adc bp, cx
push r13
push r12
bt ebp, ebp
push rsi
push rdi
bts edi, r9d
push rbx
cmp r14b, 0x65
push rax
test r8b, al
mov rbp, rsp
xchg r15d, eax
mov rdi, rdx
btc r15d, 0xa6
rol r15w, 0x1b
cmp r15b, 0x97
mov rsi, rcx
movzx ax, dl
add r15b, 0x63
lea r15, [rdx + r8]
movsx eax, dx
mov eax, dword [rcx + 8]
test al, 2
jmp 0x1403f4f39
jne 0x1403f530f
test al, 4
jmp 0x1403f4f46
jne 0x1403f545b
test al, 8
jne 0x1403f5587
test al, 0x10
jmp 0x1403f4f5b
jne 0x1403f56ba
test al, 0x20
jmp 0x1403f4f68
jne 0x1403f57e9
test al, 0x40
jne 0x1403f591b
test al, 0x80
jne 0x1403f5a01
test eax, 0x100
jmp 0x1403f4f88
jne 0x1403f5adb
test eax, 0x400
jmp 0x1403f4f98
jne 0x1403f5b99
mov r14, qword [rsi + 0x110]
cmc
ror ax, cl
shl al, 0x10
mov rax, qword [rsi + 0x118]
cmp r12, 0x159550ee
mov qword [rbp], rax
clc
stc
cmp r14, rax
jmp 0x1403f4fc8
je 0x1403f5154
lea r13, [rdi + 1]
cmc
clc
cmp ax, 0x20fe
cmp r13, r15
jmp 0x1403f4fe0
ja 0x1403f5ce5
mov byte [rdi], 0x5a
cmc
rcr ax, cl
mov rax, qword [r14]
sub rsp, 0x20
mov rcx, r14
call qword [rax + 0x10]
add rsp, 0x20
mov r12, rax
clc
add rax, 0xf
and rax, 0xfffffffffffffff0
jmp 0x1403f500f
call fcn.14044df68
sub rsp, rax
mov rbx, rsp
mov rax, qword [r14]
inc cl
adc dh, 0x6d
jmp 0x1403f5027
sub rsp, 0x20
mov r8b, 0xe0
movzx r8, bx
jmp 0x1403f5037
mov rcx, r14
mov rdx, rbx
movzx r8d, r9w
not r8
movsx r8d, bx
mov r8, r12
jmp 0x1403f5050
call qword [rax + ioctlsocket]
add rsp, 0x20
jmp 0x1403f505c
test al, al
jmp 0x1403f5063
je 0x1403f5ce5
cmp r12, 0x80
jb 0x1403f50ee
mov rcx, r12
lea rax, [r13 + 1]
cmp rax, r15
jmp 0x1403f5085
ja 0x1403f5ce5
mov edx, ecx
test cl, al
cmp r12w, bp
or dl, 0x80
jmp 0x1403f509b
mov byte [r13], dl
movzx dx, r10b
movsx r13w, r12b
mov rdx, rcx
movsxd r13, r14d
jmp 0x1403f50b7
shr rdx, 7
bt r13d, r11d
rcr r13b, 0xc9
movsx r13d, cx
mov r13, rax
stc
cmp r11w, 0x4b68
test r13d, r10d
cmp rcx, 0x3fff
mov rcx, rdx
jmp 0x1403f50e3
ja 0x1403f5079
jmp 0x1403f50f7
mov rax, r13
or cl, r13b
mov rdx, r12
lea rcx, [rax + 1]
cmp rcx, r15
jmp 0x1403f5103
ja 0x1403f5ce5
mov byte [rax], dl
mov rdi, r12
add rdi, rcx
stc
cmp rdi, r15
ja 0x1403f5ce5
sub rsp, 0x20
cmove rdx, r9
mov rdx, rbx
xchg r8b, r8b
movzx r8, r9w
mov r8, r12
call fcn.1404a8f08
add rsp, 0x20
test r10, 0x4055143a
add r14, 0x50
stc
cmp r14, qword [rbp]
jmp 0x1403f514e
jne 0x1403f4fce
mov r14, qword [rsi + 0x128]
mov rax, qword [rsi + 0x130]
mov sil, 1
mov qword [rbp], rax
cmp r14, rax
je 0x1403f5cea
lea r13, [rdi + 1]
cmp r13, r15
jmp 0x1403f517e
ja 0x1403f5ce5
mov byte [rdi], 0x62
cmc
movsxd rax, r13d
bt rax, 0x8b
mov rax, qword [r14]
setbe ch
movsxd rcx, edi
sub rsp, 0x20
jmp 0x1403f51a2
mov rcx, r14
jmp 0x1403f51aa
call qword [rax + 0x10]
add rsp, 0x20
shr r12b, cl
and r12b, 0x85
adc r12w, 0x3602
mov r12, rax
add rax, 0xf
test rdi, 0xe4f0041
clc
and rax, 0xfffffffffffffff0
jmp 0x1403f51d6
call fcn.14044df68
sub rsp, rax
shr ebx, 0xb8
mov rbx, rsp
mov rax, qword [r14]
xor dx, 0x5eda
movzx r8d, r8w
sub rsp, 0x20
movsx r8w, bl
mov rcx, r14
bswap edx
mov rdx, rbx
mov r8, r12
jmp 0x1403f5209
call qword [rax + ioctlsocket]
add rsp, 0x20
test ch, 0x49
jmp 0x1403f5218
test al, al
je 0x1403f5ce5
cmp r12, 0x80
jb 0x1403f528c
mov rcx, r12
bts rax, rsp
lea rax, [r13 + 1]
test r12b, r14b
test cx, 0x207c
stc
cmp rax, r15
ja 0x1403f5ce5
mov edx, ecx
cmp r14w, 0x4d22
jmp 0x1403f5257
or dl, 0x80
clc
mov byte [r13], dl
ror dx, 0x5c
mov rdx, rcx
shr rdx, 7
mov r13, rax
test cx, 0x741e
cmp rcx, 0x3fff
mov rcx, rdx
jmp 0x1403f5281
ja 0x1403f5234
jmp 0x1403f529e
mov rax, r13
mov rdx, r12
sub cl, 0x19
bt cx, ax
btr cx, r15w
lea rcx, [rax + 1]
jmp 0x1403f52a7
cmp rcx, r15
jmp 0x1403f52af
ja 0x1403f5ce5
mov byte [rax], dl
sar rdi, cl
shrd edi, r15d, 0x25
mov rdi, r12
lea rdi, [rdi + rcx]
jmp 0x1403f52cb
cmp rdi, r15
jmp 0x1403f52d3
ja 0x1403f5ce5
sub rsp, 0x20
jmp 0x1403f52e2
mov rdx, rbx
mov r8, r12
call fcn.1404a8f08
add rsp, 0x20
add r14, 0x50
jmp 0x1403f52fb
cmp r14, qword [rbp]
jmp 0x1403f5304
jne 0x1403f5172
jmp 0x1403f5cea
test r8, r8
jmp 0x1403f5317
jle 0x1403f5ce5
mov byte [rdi], 0xa
setae cl
bswap rcx
xchg ecx, ecx
inc rdi
bts cx, r11w
btc rcx, 0xb
movsx rcx, sp
mov rcx, qword [rsi + 0x20]
stc
cmp rcx, 0x80
jmp 0x1403f534a
jb 0x1403f53bf
nop
bts eax, ecx
clc
setns al
lea rax, [rdi + 1]
cmp dil, 0x66
cmp rax, r15
ja 0x1403f5ce5
mov edx, ecx
or dl, 0x80
test r10b, 3
clc
cmp r15b, al
mov byte [rdi], dl
bsr edi, r14d
rcr di, 0x7d
mov rdx, rcx
shr rdx, 7
rcr di, 0x4e
and dil, cl
movsx rdi, bx
mov rdi, rax
cmp dil, bl
test spl, r8b
cmp rcx, 0x3fff
movzx cx, r14b
jmp 0x1403f53ac
mov rcx, rdx
jmp 0x1403f53b4
ja 0x1403f5358
jmp 0x1403f53cb
mov rax, rdi
movsxd rdx, r14d
mov rdx, rcx
sub cl, r14b
lea rcx, [rax + 1]
cmp rcx, r15
jmp 0x1403f53d7
ja 0x1403f5ce5
mov byte [rax], dl
shr r8w, cl
movzx r8d, r10w
mov r8, qword [rsi + 0x20]
shl rdi, cl
lea rdi, [rcx + r8]
clc
test r10w, 0x152a
cmp rdi, r15
jmp 0x1403f5401
ja 0x1403f5ce5
cmp qword [rsi + 0x28], 0x10
jmp 0x1403f5411
jb 0x1403f5425
mov rdx, qword [rsi + 0x10]
jmp 0x1403f5420
jmp 0x1403f5429
lea rdx, [rsi + 0x10]
sub rsp, 0x20
jmp 0x1403f5432
call fcn.1404a8f08
add rsp, 0x20
shrd eax, r11d, 0xbd
ror ax, cl
nop
mov eax, dword [rsi + 8]
jmp 0x1403f544e
test al, 4
jmp 0x1403f5455
je 0x1403f4f4c
lea rax, [rdi + 1]
cmp dil, 0x7d
test bp, 0x3d52
cmp rax, r15
jmp 0x1403f5470
ja 0x1403f5ce5
mov byte [rdi], 0x12
mov rcx, qword [rsi + 0x40]
cmp r9b, r13b
cmp r8b, 0x29
cmp rcx, 0x80
jmp 0x1403f5490
jb 0x1403f54fa
nop dword [rax + rax]
movzx dx, ah
movsx rdx, ax
and dx, bp
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f54b5
ja 0x1403f5ce5
mov ebx, ecx
shr di, 0x82
clc
or bl, 0x80
setns dil
rol dil, 1
mov byte [rax], bl
mov rdi, rcx
shr rdi, 7
inc ah
mov rax, rdx
cmp rcx, 0x3fff
bswap ecx
movzx ecx, r15w
mov rcx, rdi
jmp 0x1403f54ef
ja 0x1403f54a9
jmp 0x1403f5508
mov rdx, rax
dec rdi
mov rdi, rcx
movzx ecx, dx
rcl ecx, cl
lea rcx, [rdx + 1]
cmp rcx, r15
ja 0x1403f5ce5
mov byte [rdx], dil
bswap edi
ror r8w, 0x61
or r8d, edx
mov r8, qword [rsi + 0x40]
cmovns edi, r8d
lea rdi, [rcx + r8]
cmp rdi, r15
jmp 0x1403f5536
ja 0x1403f5ce5
cmp qword [rsi + 0x48], 0x10
jb 0x1403f5555
mov rdx, qword [rsi + 0x30]
jmp 0x1403f5550
jmp 0x1403f555e
lea rdx, [rsi + 0x30]
clc
cmp r12b, 0x75
sub rsp, 0x20
jmp 0x1403f5567
call fcn.1404a8f08
add rsp, 0x20
btc rax, rcx
stc
add al, 0xe8
mov eax, dword [rsi + 8]
test al, 8
jmp 0x1403f5581
je 0x1403f4f54
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f5593
ja 0x1403f5ce5
mov byte [rdi], 0x1a
movsx cx, r9b
xadd ecx, ecx
mov rcx, qword [rsi + 0x60]
cmc
jmp 0x1403f55ae
cmp rcx, 0x80
jmp 0x1403f55ba
jb 0x1403f5622
nop dword [rax]
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f55d3
ja 0x1403f5ce5
mov ebx, ecx
or bl, 0x80
bts rdi, rdx
mov byte [rax], bl
btr rdi, rdx
bt eax, 0x70
mov rdi, rcx
sar ah, cl
cmc
shr rdi, 7
xor ah, 0x48
mov al, r9b
mov rax, rdx
cmc
cmp bl, sil
jmp 0x1403f5608
cmp rcx, 0x3fff
mov rcx, rdi
jmp 0x1403f5617
ja 0x1403f55c7
jmp 0x1403f5632
mov rdx, rax
movzx di, dl
mov rdi, rcx
inc ch
shl cx, 0x37
lea rcx, [rdx + 1]
cmp r9b, 0x53
stc
cmp rcx, r15
jmp 0x1403f5643
ja 0x1403f5ce5
mov byte [rdx], dil
bsr di, cx
rcr dil, 0xb
mov r8, qword [rsi + 0x60]
cmp r8b, 0xea
sub di, 0x1730
bsf rdi, r13
lea rdi, [rcx + r8]
cmp dil, 0xda
cmp rdi, r15
jmp 0x1403f5675
ja 0x1403f5ce5
cmp qword [rsi + 0x68], 0x10
jb 0x1403f5694
mov rdx, qword [rsi + 0x50]
jmp 0x1403f568f
jmp 0x1403f569a
lea rdx, [rsi + 0x50]
cmc
clc
sub rsp, 0x20
jmp 0x1403f56a3
call fcn.1404a8f08
add rsp, 0x20
movsxd rax, r8d
mov eax, dword [rsi + 8]
test al, 0x10
je 0x1403f4f61
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f56c6
ja 0x1403f5ce5
mov byte [rdi], 0x22
mov rcx, qword [rsi + 0x80]
cmp rcx, 0x80
jmp 0x1403f56e2
jb 0x1403f575a
nop dword [rax]
cmp bl, 0xe8
btr dx, r13w
lea rdx, [rax + 1]
stc
cmp rdx, r15
ja 0x1403f5ce5
mov ebx, ecx
neg di
movsx rdi, r10w
movsx edi, sp
or bl, 0x80
add di, cx
adc dil, 0x4c
shr rdi, cl
mov byte [rax], bl
or eax, eax
mov rdi, rcx
shr rdi, 7
movsx rax, r14w
sal al, 0x3d
add eax, 0x22ed343e
mov rax, rdx
cmp rcx, 0x3fff
movzx cx, dh
mov rcx, 0x2afa47a2
mov rcx, rdi
jmp 0x1403f574f
ja 0x1403f56f4
jmp 0x1403f5760
mov rdx, rax
mov rdi, rcx
lea rcx, [rdx + 1]
cmp ax, r11w
cmp rcx, r15
jmp 0x1403f5770
ja 0x1403f5ce5
mov byte [rdx], dil
bts r8d, r9d
mov r8, qword [rsi + 0x80]
bswap di
shl dil, 0xf
test esp, 0x2d3f7a85
lea rdi, [rcx + r8]
cmc
cmp rdi, r15
jmp 0x1403f579e
ja 0x1403f5ce5
cmp qword [rsi + 0x88], 0x10
jb 0x1403f57c0
mov rdx, qword [rsi + 0x70]
jmp 0x1403f57bb
jmp 0x1403f57c4
lea rdx, [rsi + 0x70]
sub rsp, 0x20
call fcn.1404a8f08
add rsp, 0x20
movsx ax, r12b
mov eax, dword [rsi + 8]
jmp 0x1403f57e1
test al, 0x20
je 0x1403f4f6e
lea rax, [rdi + 1]
cmp si, 0x129e
cmp rax, r15
ja 0x1403f5ce5
mov byte [rdi], 0x2a
mov rcx, qword [rsi + 0xa0]
cmp rcx, 0x80
jb 0x1403f5883
lea rdx, [rax + 1]
cmp rdx, r15
jmp 0x1403f581e
ja 0x1403f5ce5
mov ebx, ecx
movsxd rdi, ecx
xor dil, spl
btc rdi, r14
or bl, 0x80
btc di, 0xd
neg dil
btc rdi, r15
mov byte [rax], bl
adc edi, 0x5ba57952
mov rdi, rcx
rcl eax, cl
shrd eax, r12d, 0x46
test dl, 0xc6
shr rdi, 7
mov rax, rdx
jmp 0x1403f5861
cmp rcx, 0x3fff
movzx rcx, cx
movsx rcx, r10w
mov rcx, rdi
jmp 0x1403f5878
ja 0x1403f5812
jmp 0x1403f5895
mov rdx, rax
sub dil, 0x70
mov rdi, rcx
bt cx, 0x14
mov ch, 0xe2
lea rcx, [rdx + 1]
cmp rcx, r15
jmp 0x1403f58a1
ja 0x1403f5ce5
mov byte [rdx], dil
mov r8, qword [rsi + 0xa0]
bt edi, 0x5c
rcr dil, 0x20
test bp, di
lea rdi, [rcx + r8]
cmp rdi, r15
jmp 0x1403f58c8
ja 0x1403f5ce5
cmp qword [rsi + 0xa8], 0x10
jmp 0x1403f58db
jb 0x1403f58ed
mov rdx, qword [rsi + 0x90]
jmp 0x1403f58f5
lea rdx, [rsi + 0x90]
stc
sub rsp, 0x20
jmp 0x1403f58fe
call fcn.1404a8f08
add rsp, 0x20
mov eax, dword [rsi + 8]
stc
cmp cx, sp
test al, 0x40
jmp 0x1403f5915
je 0x1403f4f76
lea rax, [rdi + 1]
cmp rax, r15
jmp 0x1403f5927
ja 0x1403f5ce5
mov byte [rdi], 0x30
cmp r9b, r14b
shld rdi, rbx, 0x51
sbb dil, 0xef
mov edi, dword [rsi + 0xb0]
stc
cmp r12w, 0x63fa
cmp rdi, 0x80
jmp 0x1403f5955
jb 0x1403f59c0
lea rdx, [rax + 1]
stc
jmp 0x1403f5968
cmp rdx, r15
jmp 0x1403f5970
ja 0x1403f5ce5
mov ecx, edi
test r11b, 0x76
stc
or cl, 0x80
cmp r9b, 0xd5
cmp dl, sil
mov byte [rax], cl
movzx eax, si
mov rcx, rdi
shr al, cl
sal ah, 0x53
adc al, 0xff
shr rcx, 7
mov rax, rdx
stc
jmp 0x1403f59a3
cmp rdi, 0x3fff
movsx edi, dx
mov rdi, rcx
jmp 0x1403f59b5
ja 0x1403f595b
jmp 0x1403f59d2
mov rdx, rax
mov rcx, rdi
mov dil, r11b
movzx rdi, r12w
bt di, 0x36
lea rdi, [rdx + 1]
test rax, 0x3418157f
cmp r8b, 0x7b
cmp rdi, r15
jmp 0x1403f59e8
ja 0x1403f5ce5
mov byte [rdx], cl
mov eax, dword [rsi + 8]
cmc
test al, 0x80
jmp 0x1403f59fb
je 0x1403f4f7e
lea rax, [rdi + 1]
cmc
cmp r11b, 0x96
test sil, 0x8c
cmp rax, r15
jmp 0x1403f5a16
ja 0x1403f5ce5
mov byte [rdi], 0x38
dec di
movsx di, al
movzx rdi, cx
mov edi, dword [rsi + 0xb4]
jmp 0x1403f5a3a
cmp rdi, 0x80
jmp 0x1403f5a46
jb 0x1403f5a9a
lea rdx, [rax + 1]
clc
cmp rdx, r15
jmp 0x1403f5a59
ja 0x1403f5ce5
mov ecx, edi
cmp rsp, 0x29e5811
or cl, 0x80
mov byte [rax], cl
mov rcx, rdi
ror al, cl
shr rcx, 7
sbb ah, dl
mov rax, rdx
cmp rdi, 0x3fff
movsx edi, r8w
not dil
mov di, di
mov rdi, rcx
ja 0x1403f5a4c
jmp 0x1403f5aaa
mov rdx, rax
movzx ecx, si
not cx
mov rcx, rdi
movzx rdi, r9w
lea rdi, [rdx + 1]
cmp r9b, r11b
cmp rdi, r15
jmp 0x1403f5ab9
ja 0x1403f5ce5
mov byte [rdx], cl
setae al
mov eax, dword [rsi + 8]
test sil, r13b
stc
test eax, 0x100
jmp 0x1403f5ad5
je 0x1403f4f8e
lea rax, [rdi + 1]
clc
cmp rax, r15
ja 0x1403f5ce5
mov byte [rdi], 0x40
mov edi, dword [rsi + 0xb8]
cmp r13w, r8w
cmp rdi, 0x80
jmp 0x1403f5b02
jb 0x1403f5b63
lea rdx, [rax + 1]
test r10b, dil
cmp rdx, r15
jmp 0x1403f5b17
ja 0x1403f5ce5
mov ecx, edi
cmp di, r11w
test r11b, spl
jmp 0x1403f5b2b
or cl, 0x80
stc
cmc
mov byte [rax], cl
mov rcx, rdi
btr ax, 0xfb
shr al, cl
shr rcx, 7
mov rax, rdx
stc
cmp rdi, 0x3fff
jmp 0x1403f5b50
mov rdi, rcx
jmp 0x1403f5b58
ja 0x1403f5b08
jmp 0x1403f5b6c
mov rdx, rax
stc
not ch
mov rcx, rdi
lea rdi, [rdx + 1]
cmp rdi, r15
jmp 0x1403f5b78
ja 0x1403f5ce5
mov byte [rdx], cl
cmovle ax, r8w
mov eax, dword [rsi + 8]
cmc
jmp 0x1403f5b8e
test eax, 0x400
je 0x1403f4f9e
lea r12, [rdi + 1]
test bpl, 0x7c
cmp r12, r15
ja 0x1403f5ce5
mov byte [rdi], 0x52
lea rdi, [rsi + 0xc0]
rcr cl, cl
add cx, r9w
adc cl, 0xfd
sub rsp, 0x20
mov cx, 0x469
mov rcx, rdi
jmp 0x1403f5bcd
call fcn.1402088de
add rsp, 0x20
mov bl, 0xfd
xor bl, 0x95
shr ebx, 0x66
mov rbx, rax
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.14044df68
sub rsp, rax
movzx r14, bp
mov r14, rsp
sub rsp, 0x20
movsx ecx, si
movsxd r8, r10d
movzx rcx, cx
mov rcx, rdi
mov rdx, r14
movsx r8, r15w
movzx r8, r13w
bswap r8w
mov r8, rbx
call fcn.1403f731c
add rsp, 0x20
test al, al
je 0x1403f5ce5
cmp rbx, 0x80
jmp 0x1403f5c38
jb 0x1403f5c9b
mov rcx, rbx
lea rax, [r12 + 1]
stc
cmp rax, r15
ja 0x1403f5ce5
mov edx, ecx
cmp r14w, 0x36e6
or dl, 0x80
mov byte [r12], dl
btr r12, 0xd0
sbb r12w, r13w
rcr r12b, cl
mov rdx, rcx
shr rdx, 7
mov r12w, r12w
and r12, rsi
mov r12, rax
cmp rcx, 0x3fff
cmovle cx, sp
bswap rcx
movsx ecx, dx
mov rcx, rdx
ja 0x1403f5c41
jmp 0x1403f5cb5
mov rax, r12
ror dl, 0xc5
add cx, r13w
sar dh, cl
mov rdx, rbx
movzx ecx, r9w
movzx rcx, sp
bswap cx
lea rcx, [rax + 1]
stc
cmc
cmp rcx, r15
ja 0x1403f5ce5
mov byte [rax], dl
shr di, 0xb
mov rdi, rbx
add rdi, rcx
cmp rax, 0x6c86257e
cmp rdi, r15
jmp 0x1403f5cdf
jbe 0x1403f5d38
xor esi, esi
not r14
mov eax, esi
movzx r15d, r14w
lea rsp, [rbp + 8]
movzx rsi, r11w
pop rbx
pop rdi
movzx r14, r8w
not r12b
movsx rbp, r14w
pop rsi
movzx r15, r14w
movzx ebp, r13w
not r15b
pop r12
movsx r13d, r14w
mov r13b, 0xfb
movzx r14, si
pop r13
pop r14
xchg bp, bp
movzx rbp, si
pop r15
setnp bpl
movzx rbp, r8w
xchg bpl, bpl
pop rbp
ret
sub rsp, 0x20
movsxd r8, r8d
movsx r8w, r8b
movzx rdx, r8w
mov rdx, r14
not r8b
mov r8, rbx
jmp 0x1403f5d56
call fcn.1404a8f08
add rsp, 0x20
jmp 0x1403f5d64
jmp 0x1403f4f9e