Function at 0x1400041f0
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1400e1700]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rax, qword [0x1401d5178]
cmp byte [rax + 0xd0], 0
jne 0x140004611
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
movdqa xmm1, xmmword [0x1400d05e0]
movdqu xmmword [rbp + 0xf], xmm1
mov byte [rbp - 1], 0
mov rcx, qword [0x1401d51c8]
call fcn.14005c320
test al, al
je 0x14000479b
call fcn.14005b6d0
test al, al
jne 0x14000428b
call fcn.14005b9c0
test al, al
jne 0x14000428b
call fcn.14005bcf0
test al, al
jne 0x14000428b
call fcn.14005bff0
test al, al
je 0x1400046d3
mov byte [rbp - 9], 0x6b
mov al, Ordinal_32
mov cl, 4
xor dl, dl
mov r8b, recv
mov r9b, 5
mov r10b, 0x56
xor r11d, r11d
xor al, 0x6b
mov byte [rbp - 8], al
xor cl, 0x6b
mov byte [rbp - 7], cl
xor dl, 0x6b
mov byte [rbp - 6], dl
xor r8b, 0x6b
mov byte [rbp - 5], r8b
xor r9b, 0x6b
mov byte [rbp - 4], r9b
xor r10b, 0x6b
mov byte [rbp - 3], r10b
mov byte [rbp - 2], r11b
lea rax, [rbp - 8]
mov r12, 0xffffffffffffffff
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], r11b
jne 0x1400042e0
lea rdx, [rbp - 8]
lea rcx, [rbp - 1]
call fcn.140006b50
mov rdx, qword [0x1401d5178]
add rdx, 0x70
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14000430f
mov rdx, qword [rdx]
lea rcx, [rbp - 1]
call fcn.140006b50
mov byte [rbp - 9], 0x5f
mov al, 0x79
mov cl, Ordinal_41
mov dl, 0x36
mov r8b, Ordinal_50
mov r9b, 0x62
xor r10d, r10d
xor al, 0x5f
mov byte [rbp - 8], al
xor cl, 0x5f
mov byte [rbp - 7], cl
xor dl, 0x5f
mov byte [rbp - 6], dl
xor r8b, 0x5f
mov byte [rbp - 5], r8b
xor r9b, 0x5f
mov byte [rbp - 4], r9b
mov byte [rbp - 3], r10b
lea rax, [rbp - 8]
mov r8, r12
inc r8
cmp byte [rax + r8], r10b
jne 0x140004357
lea rdx, [rbp - 8]
lea rcx, [rbp - 1]
call fcn.140006b50
mov rdx, qword [0x1401d5178]
add rdx, 0x298
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140004389
mov rdx, qword [rdx]
lea rcx, [rbp - 1]
call fcn.140006b50
mov byte [rbp - 9], Ordinal_26
mov al, 0x3f
mov cl, 0x71
mov dl, WSAGetLastError
mov r8b, reloc.WS2_32.dll_WSASetLastError
mov r9b, 0x7d
mov r10b, 0x24
xor r11d, r11d
xor al, 0x19
mov byte [rbp - 8], al
xor cl, 0x19
mov byte [rbp - 7], cl
xor dl, 0x19
mov byte [rbp - 6], dl
xor r8b, 0x19
mov byte [rbp - 5], r8b
xor r9b, 0x19
mov byte [rbp - 4], r9b
xor r10b, 0x19
mov byte [rbp - 3], r10b
mov byte [rbp - 2], r11b
lea rax, [rbp - 8]
mov r8, r12
nop dword [rax]
inc r8
cmp byte [rax + r8], r11b
jne 0x1400043e0
lea rdx, [rbp - 8]
lea rcx, [rbp - 1]
call fcn.140006b50
mov rdx, qword [0x1401d5178]
add rdx, 0x2b8
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x140004412
mov rdx, qword [rdx]
lea rcx, [rbp - 1]
call fcn.140006b50
lea r15, [rbp - 1]
cmp qword [rbp + 0x17], 0x10
cmovae r15, qword [rbp - 1]
movdqa xmm1, xmmword [0x1400d0880]
movdqu xmmword [rbp - 0x39], xmm1
movdqa xmm2, xmmword [0x1400d07f0]
movdqu xmmword [rbp - 0x29], xmm2
mov dl, 0x48
mov r8b, reloc.WS2_32.dll_ntohs
mov r9b, reloc.WS2_32.dll_recv
mov r10b, recv
mov r11b, 3
mov bl, 0x49
mov dil, reloc.WS2_32.dll_socket
movzx esi, r8b
movzx r14d, dil
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x38], al
xor byte [rbp - 0x37], cl
xor byte [rbp - 0x36], cl
xor byte [rbp - 0x35], cl
xor byte [rbp - 0x34], cl
xor byte [rbp - 0x33], cl
xor byte [rbp - 0x32], cl
xor byte [rbp - 0x31], cl
xor byte [rbp - 0x30], cl
xor byte [rbp - 0x2f], cl
xor byte [rbp - 0x2e], cl
xor byte [rbp - 0x2d], cl
xor byte [rbp - 0x2c], cl
xor byte [rbp - 0x2b], cl
xor byte [rbp - 0x2a], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x29], al
xor byte [rbp - 0x28], cl
xor byte [rbp - 0x27], cl
xor byte [rbp - 0x26], cl
xor byte [rbp - 0x25], cl
xor byte [rbp - 0x24], cl
xor byte [rbp - 0x23], cl
xor byte [rbp - 0x22], cl
xor byte [rbp - 0x21], cl
xor byte [rbp - 0x20], cl
xor byte [rbp - 0x1f], cl
xor byte [rbp - 0x1e], cl
xor byte [rbp - 0x1d], cl
xor byte [rbp - 0x1c], cl
xor byte [rbp - 0x1b], cl
xor byte [rbp - 0x1a], cl
xor dl, cl
mov byte [rbp - 0x19], dl
xor r8b, cl
mov byte [rbp - 0x18], r8b
xor r9b, cl
mov byte [rbp - 0x17], r9b
xor r10b, cl
mov byte [rbp - 0x16], r10b
xor r11b, cl
mov byte [rbp - 0x15], r11b
xor bl, cl
mov byte [rbp - 0x14], bl
xor dil, cl
mov byte [rbp - 0x13], dil
xor sil, cl
mov byte [rbp - 0x12], sil
xor r14b, cl
mov byte [rbp - 0x11], r14b
mov byte [rbp - 0x10], 0
lea rax, [0x1400cb42e]
mov qword [rsp + 0x20], rax
mov r9, r15
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x1f]
call fcn.140001be0
mov byte [rbp - 9], WSASetLastError
mov al, 1
mov cl, 5
xor edx, edx
xor al, 0x6e
mov byte [rbp - 8], al
xor cl, 0x6e
mov byte [rbp - 7], cl
mov byte [rbp - 6], dl
lea rax, [rbp - 8]
nop dword [rax + rax]
inc r12
cmp byte [rax + r12], dl
jne 0x140004550
lea rcx, [rbp + 0x1f]
mov rbx, qword [rbp + 0x1f]
mov rdi, qword [rbp + 0x37]
cmp rdi, 0x10
cmovae rcx, rbx
mov r8, qword [rbp + 0x2f]
cmp r8, r12
jne 0x140004640
lea rdx, [rbp - 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140004640
cmp rdi, 0x10
jb 0x1400045c2
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400045ba
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000466b
mov rcx, rbx
call fcn.1400b8b1c
mov qword [rbp + 0x2f], 0
mov qword [rbp + 0x37], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1f], 0
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x140004611
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000460c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400046c0
call fcn.1400b8b1c
mov al, 1
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1400b8870
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp rdi, 0x10
jb 0x14000467a
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140004672
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004672
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1400b8b1c
mov qword [rbp + 0x2f], 0
mov qword [rbp + 0x37], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1f], 0
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x1400046cc
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400046c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400046c7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b8b1c
xor al, al
jmp 0x140004613
movdqa xmm1, xmmword [0x1400d1210]
movdqu xmmword [rbp - 0x39], xmm1
movdqa xmm2, xmmword [0x1400d11b0]
movdqu xmmword [rbp - 0x29], xmm2
mov dl, reloc.WLDAP32.dll_Ordinal_41
mov r8b, Ordinal_41
mov r9b, 0x24
mov r10b, 0x3e
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x38], al
xor byte [rbp - 0x37], cl
xor byte [rbp - 0x36], cl
xor byte [rbp - 0x35], cl
xor byte [rbp - 0x34], cl
xor byte [rbp - 0x33], cl
xor byte [rbp - 0x32], cl
xor byte [rbp - 0x31], cl
xor byte [rbp - 0x30], cl
xor byte [rbp - 0x2f], cl
xor byte [rbp - 0x2e], cl
xor byte [rbp - 0x2d], cl
xor byte [rbp - 0x2c], cl
xor byte [rbp - 0x2b], cl
xor byte [rbp - 0x2a], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x29], al
xor byte [rbp - 0x28], cl
xor byte [rbp - 0x27], cl
xor byte [rbp - 0x26], cl
xor byte [rbp - 0x25], cl
xor byte [rbp - 0x24], cl
xor byte [rbp - 0x23], cl
xor byte [rbp - 0x22], cl
xor byte [rbp - 0x21], cl
xor byte [rbp - 0x20], cl
xor byte [rbp - 0x1f], cl
xor byte [rbp - 0x1e], cl
xor byte [rbp - 0x1d], cl
xor byte [rbp - 0x1c], cl
xor byte [rbp - 0x1b], cl
xor byte [rbp - 0x1a], cl
xor dl, cl
mov byte [rbp - 0x19], dl
xor r8b, cl
mov byte [rbp - 0x18], r8b
xor r9b, cl
mov byte [rbp - 0x17], r9b
xor r10b, cl
mov byte [rbp - 0x16], r10b
mov byte [rbp - 0x15], 0
lea rdx, [rbp - 0x38]
call fcn.14005c900
call fcn.14005cf40
int3
movdqa xmm1, xmmword [0x1400d07e0]
movdqu xmmword [rbp - 0x39], xmm1
movdqa xmm2, xmmword [0x1400d07b0]
movdqu xmmword [rbp - 0x29], xmm2
mov dl, 0x4a
mov r8b, 0x44
mov r9b, 0x47
mov r10b, 0x5c
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x38], al
xor byte [rbp - 0x37], cl
xor byte [rbp - 0x36], cl
xor byte [rbp - 0x35], cl
xor byte [rbp - 0x34], cl
xor byte [rbp - 0x33], cl
xor byte [rbp - 0x32], cl
xor byte [rbp - 0x31], cl
xor byte [rbp - 0x30], cl
xor byte [rbp - 0x2f], cl
xor byte [rbp - 0x2e], cl
xor byte [rbp - 0x2d], cl
xor byte [rbp - 0x2c], cl
xor byte [rbp - 0x2b], cl
xor byte [rbp - 0x2a], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x29], al
xor byte [rbp - 0x28], cl
xor byte [rbp - 0x27], cl
xor byte [rbp - 0x26], cl
xor byte [rbp - 0x25], cl
xor byte [rbp - 0x24], cl
xor byte [rbp - 0x23], cl
xor byte [rbp - 0x22], cl
xor byte [rbp - 0x21], cl
xor byte [rbp - 0x20], cl
xor byte [rbp - 0x1f], cl
xor byte [rbp - 0x1e], cl
xor byte [rbp - 0x1d], cl
xor byte [rbp - 0x1c], cl
xor byte [rbp - 0x1b], cl
xor byte [rbp - 0x1a], cl
xor dl, cl
mov byte [rbp - 0x19], dl
xor r8b, cl
mov byte [rbp - 0x18], r8b
xor r9b, cl
mov byte [rbp - 0x17], r9b
xor r10b, cl
mov byte [rbp - 0x16], r10b
mov byte [rbp - 0x15], 0
lea rdx, [rbp - 0x38]
call fcn.14005c900
call fcn.14005cf40
int3