Function at 0x1400055a0
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov rax, qword [0x1400d8180]
xor rax, rsp
mov qword [rbp + 0x1d0], rax
mov r15, r8
mov r14, rdx
mov qword [rsp + 0x58], rdx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov byte [rsp + 0x20], 0x39
mov al, reloc.WS2_32.dll_WSAStartup
mov cl, 0x58
mov dl, 0x57
mov r8b, 0x4c
movzx r9d, cl
mov r10b, 0x4b
mov r11b, 0x40
xor ebx, ebx
xor al, 0x39
mov byte [rsp + 0x21], al
xor cl, 0x39
mov byte [rsp + 0x22], cl
xor dl, 0x39
mov byte [rsp + 0x23], dl
xor r8b, 0x39
mov byte [rsp + 0x24], r8b
xor r9b, 0x39
mov byte [rsp + 0x25], r9b
xor r10b, 0x39
mov byte [rsp + 0x26], r10b
xor r11b, 0x39
mov byte [rsp + 0x27], r11b
mov byte [rsp + 0x28], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x60], xmm1
lea rax, [rsp + 0x21]
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rax + r8], bl
jne 0x140005657
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x50]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x2e
mov al, 0x68
mov cl, 0x4b
mov dl, 0x4c
mov r8b, 0x5c
mov r9b, 0x5b
mov r10b, 0x4f
movzx r11d, r8b
mov bl, 0x57
xor edi, edi
xor al, 0x2e
mov byte [rsp + 0x21], al
xor cl, 0x2e
mov byte [rsp + 0x22], cl
xor dl, 0x2e
mov byte [rsp + 0x23], dl
xor r8b, 0x2e
mov byte [rsp + 0x24], r8b
xor r9b, 0x2e
mov byte [rsp + 0x25], r9b
xor r10b, 0x2e
mov byte [rsp + 0x26], r10b
xor r11b, 0x2e
mov byte [rsp + 0x27], r11b
xor bl, 0x2e
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x29], dil
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x80], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], dil
jne 0x1400056f0
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x70]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x34
mov al, 0x79
mov cl, 0x55
mov dl, 0x46
mov r8b, 0x57
mov r9b, 0x5c
xor r10d, r10d
xor al, 0x34
mov byte [rsp + 0x21], al
xor cl, 0x34
mov byte [rsp + 0x22], cl
xor dl, 0x34
mov byte [rsp + 0x23], dl
xor r8b, 0x34
mov byte [rsp + 0x24], r8b
xor r9b, 0x34
mov byte [rsp + 0x25], r9b
mov byte [rsp + 0x26], r10b
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xa0], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
inc r8
cmp byte [rax + r8], r10b
jne 0x140005764
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x90]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x18
mov al, 0x59
mov cl, 0x68
mov dl, 0x6a
mov r8b, WSAStartup
mov r9b, reloc.WS2_32.dll_WSACleanup
xor r10d, r10d
xor al, 0x18
mov byte [rsp + 0x21], al
xor cl, 0x18
mov byte [rsp + 0x22], cl
xor dl, 0x18
mov byte [rsp + 0x23], dl
xor r8b, 0x18
mov byte [rsp + 0x24], r8b
xor r9b, 0x18
mov byte [rsp + 0x25], r9b
mov byte [rsp + 0x26], r10b
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xc0], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r10b
jne 0x1400057e0
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0xb0]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x50
mov al, 0x1d
mov cl, 0x31
mov dl, 0x29
xor r8d, r8d
xor al, 0x50
mov byte [rsp + 0x21], al
xor cl, 0x50
mov byte [rsp + 0x22], cl
xor dl, 0x50
mov byte [rsp + 0x23], dl
mov byte [rsp + 0x24], r8b
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xe0], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140005840
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0xd0]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x5b
mov al, select
mov cl, 0x2e
mov dl, 0x35
mov r8b, 0x3e
xor r9d, r9d
xor al, 0x5b
mov byte [rsp + 0x21], al
xor cl, 0x5b
mov byte [rsp + 0x22], cl
xor dl, 0x5b
mov byte [rsp + 0x23], dl
xor r8b, 0x5b
mov byte [rsp + 0x24], r8b
mov byte [rsp + 0x25], r9b
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x100], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], r9b
jne 0x1400058b0
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0xf0]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x59
mov al, reloc.WS2_32.dll_send
mov cl, 0x2c
mov dl, 0x35
mov r8b, 0x20
xor r9d, r9d
xor al, 0x59
mov byte [rsp + 0x21], al
xor cl, 0x59
mov byte [rsp + 0x22], cl
xor dl, 0x59
mov byte [rsp + 0x23], dl
xor r8b, 0x59
mov byte [rsp + 0x24], r8b
mov byte [rsp + 0x25], r9b
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x120], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], r9b
jne 0x140005920
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x110]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x62
mov al, 0x23
mov cl, reloc.WS2_32.dll_socket
mov dl, 5
movzx r8d, cl
mov r9b, send
mov r10b, reloc.WS2_32.dll_shutdown
xor r11d, r11d
xor al, 0x62
mov byte [rsp + 0x21], al
xor cl, 0x62
mov byte [rsp + 0x22], cl
xor dl, 0x62
mov byte [rsp + 0x23], dl
xor r8b, 0x62
mov byte [rsp + 0x24], r8b
xor r9b, 0x62
mov byte [rsp + 0x25], r9b
xor r10b, 0x62
mov byte [rsp + 0x26], r10b
mov byte [rsp + 0x27], r11b
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x140], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
inc r8
cmp byte [rax + r8], r11b
jne 0x1400059a4
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x130]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x42
mov al, select
mov cl, 0x27
mov dl, 0x32
mov r8b, 0x36
movzx r9d, cl
mov r10b, 0x2f
mov r11b, 0x20
movzx ebx, cl
mov dil, 0x30
xor r12d, r12d
xor al, 0x42
mov byte [rsp + 0x21], al
xor cl, 0x42
mov byte [rsp + 0x22], cl
xor dl, 0x42
mov byte [rsp + 0x23], dl
xor r8b, 0x42
mov byte [rsp + 0x24], r8b
xor r9b, 0x42
mov byte [rsp + 0x25], r9b
xor r10b, 0x42
mov byte [rsp + 0x26], r10b
xor r11b, 0x42
mov byte [rsp + 0x27], r11b
xor bl, 0x42
mov byte [rsp + 0x28], bl
xor dil, 0x42
mov byte [rsp + 0x29], dil
mov byte [rsp + 0x2a], r12b
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x160], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rax + r8], r12b
jne 0x140005a50
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x150]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x7b
mov al, 0x34
mov cl, 0x18
mov dl, reloc.WS2_32.dll_ntohs
mov r8b, shutdown
mov r9b, 0x19
mov r10b, 0x1e
mov r11b, 9
xor ebx, ebx
xor al, 0x7b
mov byte [rsp + 0x21], al
xor cl, 0x7b
mov byte [rsp + 0x22], cl
xor dl, 0x7b
mov byte [rsp + 0x23], dl
xor r8b, 0x7b
mov byte [rsp + 0x24], r8b
xor r9b, 0x7b
mov byte [rsp + 0x25], r9b
xor r10b, 0x7b
mov byte [rsp + 0x26], r10b
xor r11b, 0x7b
mov byte [rsp + 0x27], r11b
mov byte [rsp + 0x28], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x170], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x180], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140005ae0
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x170]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x53
mov al, 0x1d
mov cl, 0x3c
mov dl, 0x25
mov r8b, 0x36
mov r9b, 0x3e
mov r10b, 0x31
movzx r11d, r8b
mov bl, 0x21
xor edi, edi
xor al, 0x53
mov byte [rsp + 0x21], al
xor cl, 0x53
mov byte [rsp + 0x22], cl
xor dl, 0x53
mov byte [rsp + 0x23], dl
xor r8b, 0x53
mov byte [rsp + 0x24], r8b
xor r9b, 0x53
mov byte [rsp + 0x25], r9b
xor r10b, 0x53
mov byte [rsp + 0x26], r10b
xor r11b, 0x53
mov byte [rsp + 0x27], r11b
xor bl, 0x53
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x29], dil
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x1a0], xmm1
lea rax, [rsp + 0x21]
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], dil
jne 0x140005b80
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x190]
call fcn.140003090
nop
mov byte [rsp + 0x20], 0x62
mov al, 0x26
mov cl, 7
mov dl, 1
movzx r8d, cl
mov r9b, reloc.WS2_32.dll_ntohs
xor r10b, r10b
movzx r11d, cl
mov bl, reloc.WS2_32.dll_recv
xor edi, edi
xor al, 0x62
mov byte [rsp + 0x21], al
xor cl, 0x62
mov byte [rsp + 0x22], cl
xor dl, 0x62
mov byte [rsp + 0x23], dl
xor r8b, 0x62
mov byte [rsp + 0x24], r8b
xor r9b, 0x62
mov byte [rsp + 0x25], r9b
xor r10b, 0x62
mov byte [rsp + 0x26], r10b
xor r11b, 0x62
mov byte [rsp + 0x27], r11b
xor bl, 0x62
mov byte [rsp + 0x28], bl
mov byte [rsp + 0x29], dil
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x1c0], xmm1
lea rax, [rsp + 0x21]
inc rsi
cmp byte [rax + rsi], dil
jne 0x140005c16
mov r8, rsi
lea rdx, [rsp + 0x21]
lea rcx, [rbp + 0x1b0]
call fcn.140003090
nop
xor edx, edx
mov r8d, 0xe8
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1400b7990]
mov qword [rsp + 0x60], rax
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x30], 2
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x60]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea r12, vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + rcx + 0x60], r12
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x68]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x30], r13
mov dword [rbp - 0x28], 4
mov byte [rsp + 0x20], 0x1f
mov dil, 0x3a
mov al, 0x5e
mov cl, 0x3f
mov dl, 0x6b
mov r8b, 0x77
mov r9b, 0x7a
movzx r10d, cl
movzx r11d, dil
movzx ebx, r9b
xor esi, esi
xor dil, 0x1f
mov byte [rsp + 0x21], dil
xor al, 0x1f
mov byte [rsp + 0x22], al
xor cl, 0x1f
mov byte [rsp + 0x23], cl
xor dl, 0x1f
mov byte [rsp + 0x24], dl
xor r8b, 0x1f
mov byte [rsp + 0x25], r8b
xor r9b, 0x1f
mov byte [rsp + 0x26], r9b
xor r10b, 0x1f
mov byte [rsp + 0x27], r10b
xor r11b, 0x1f
mov byte [rsp + 0x28], r11b
xor bl, 0x1f
mov byte [rsp + 0x29], bl
mov byte [rsp + 0x2a], sil
mov qword [rsp + 0x38], r15
lea rax, [rsp + 0x21]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x21]
mov qword [rsp + 0x48], rax
test dil, dil
je 0x140005d65
lea rax, [rsp + 0x21]
inc rax
cmp byte [rax], sil
jne 0x140005d58
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x60]
call fcn.140008890
mov r8d, dword [r15 + 0xc]
lea rdx, [rsp + 0x38]
call fcn.140005440
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140005d91
mov rax, qword [rax]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1400093d0
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x140005ddf
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005dda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005dda
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400a874c
mov dl, 0x20
lea rcx, [rsp + 0x60]
call fcn.140008b40
movsxd rcx, dword [r15 + 0x10]
shl rcx, 5
lea rdx, [rbp + 0x50]
add rdx, rcx
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x140005e08
mov rdx, qword [rdx]
mov rcx, rax
call fcn.1400093d0
mov dl, 0x20
mov rcx, rax
call fcn.140008b40
mov edx, dword [r15 + 0x14]
add edx, 0x76c
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___int____ptr64]
nop
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov byte [r14], 0
mov dword [rsp + 0x30], 0xa
mov ecx, dword [rbp - 0x28]
mov eax, ecx
and al, 0x22
cmp al, 2
je 0x140005e76
mov rax, qword [rbp - 0x58]
mov rbx, qword [rax]
test rbx, rbx
je 0x140005e76
mov rax, qword [rbp - 0x78]
mov r9, qword [rax]
cmp rbx, qword [rbp - 0x30]
cmovb rbx, qword [rbp - 0x30]
jmp 0x140005e98
test cl, 4
jne 0x140005ece
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
test rcx, rcx
je 0x140005ece
mov rax, qword [rbp - 0x80]
mov r9, qword [rax]
mov rax, qword [rbp - 0x48]
movsxd rbx, dword [rax]
add rbx, rcx
mov rax, r9
sub rbx, r9
test rax, rax
je 0x140005ece
mov rcx, r14
cmp rbx, 0xf
ja 0x140005ec2
mov qword [r14 + 0x10], rbx
mov r8, rbx
mov rdx, r9
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + r14], 0
jmp 0x140005ece
xor r8d, r8d
mov rdx, rbx
call fcn.140001c30
nop
mov dword [rsp + 0x30], 7
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], r12
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x88]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x68]
call fcn.140006eb0
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp - 0x18]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea r9, [fcn.1400018f0]
mov edx, 0x20
lea r8d, [rdx - 0x14]
lea rcx, [rbp + 0x50]
call fcn.1400a89c0
mov rax, r14
mov rcx, qword [rbp + 0x1d0]
xor rcx, rsp
call fcn.1400a86f0
mov rbx, qword [rsp + 0x320]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret