Function at 0x14009da60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov r12d, dword [rcx + 0xac]
mov r14, rdx
mov r15d, dword [rcx + 0xb0]
mov rbx, rcx
test rdx, rdx
je 0x14009daab
mov eax, dword [rcx + 0xa4]
mov dword [rcx + 0xc0], eax
mov qword [rcx + 0xb8], rdx
xor r13d, r13d
movabs rdi, 0x100003a00
movabs rsi, 0x800000000000000f
movzx ecx, byte [rbx + 0x90]
movzx edx, cl
test cl, cl
je 0x14009db54
movzx eax, cl
movzx ecx, al
cmp al, 0x2a
je 0x14009db54
cmp al, 0x2f
je 0x14009db54
cmp al, 0xa
je 0x14009db54
mov ecx, dword [rbx + 0xb0]
cmp al, 9
jne 0x14009db07
mov eax, ecx
and eax, 0x80000007
jge 0x14009db00
dec eax
or eax, 0xfffffff8
inc eax
sub ecx, eax
add ecx, 8
jmp 0x14009db09
inc ecx
mov dword [rbx + 0xb0], ecx
mov eax, dword [rbx + 0xa4]
inc eax
mov dword [rbx + 0xa4], eax
cmp eax, dword [rbx + 0xa0]
jge 0x14009db3b
movsxd rcx, eax
mov rax, qword [rbx + 0x98]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 0x90], cl
jmp 0x14009db43
mov rcx, rbx
call fcn.14009fbc0
movzx ecx, byte [rbx + 0x90]
movzx edx, cl
movzx eax, cl
test cl, cl
jne 0x14009dad7
cmp cl, 0xa
jne 0x14009dc5e
mov rcx, rbx
call fcn.14009f350
test r14, r14
je 0x14009dbb0
movsxd rcx, dword [rbx + 0xc0]
mov eax, dword [rbx + 0xa4]
cmp eax, ecx
je 0x14009db96
sub eax, ecx
mov rdx, rcx
add rdx, qword [rbx + 0x98]
mov rcx, qword [rbx + 0xb8]
movsxd r8, eax
call fcn.140017920
mov qword [rbx + 0xb8], r13
mov dword [rbx + 0xc0], 0xffffffff
nop word [rax + rax]
movsx rdx, byte [rbx + 0x90]
cmp dl, 0x20
ja 0x14009dc23
bt rdi, rdx
jae 0x14009dc23
mov ecx, dword [rbx + 0xb0]
cmp dl, 9
jne 0x14009dbe5
mov eax, ecx
and eax, 0x80000007
jge 0x14009dbde
dec eax
or eax, 0xfffffff8
inc eax
sub ecx, eax
add ecx, 8
jmp 0x14009dbe7
inc ecx
mov dword [rbx + 0xb0], ecx
mov eax, dword [rbx + 0xa4]
inc eax
mov dword [rbx + 0xa4], eax
cmp eax, dword [rbx + 0xa0]
jge 0x14009dc19
movsxd rcx, eax
mov rax, qword [rbx + 0x98]
movzx ecx, byte [rcx + rax]
mov byte [rbx + 0x90], cl
jmp 0x14009dbb0
mov rcx, rbx
call fcn.14009fbc0
jmp 0x14009dbb0
cmp dl, 0x2a
jne 0x14009dc3d
mov rcx, rbx
call fcn.14009f350
cmp byte [rbx + 0x90], 0x2f
je 0x14009ded8
test r14, r14
je 0x14009dac2
mov eax, dword [rbx + 0xa4]
mov dword [rbx + 0xc0], eax
mov qword [rbx + 0xb8], r14
jmp 0x14009dac2
cmp dl, 0x2a
jne 0x14009ddfd
mov rcx, rbx
call fcn.14009f350
movzx edx, byte [rbx + 0x90]
cmp dl, 0x2f
je 0x14009dee5
test dl, dl
jne 0x14009dac2
lea rax, [rbp - 0x18]
mov qword [rbp - 0x28], r13
mov edx, 0x21
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x18], r13b
call fcn.140002a70
mov rcx, qword [rbp - 0x30]
lea r9, [rbp - 0x30]
movups xmm0, xmmword [str.End_of_file_inside_block_comment.]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1400ebd30]
movups xmmword [rcx + 0x10], xmm1
movzx eax, byte [0x1400ebd40]
mov byte [rcx + 0x20], al
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x21], r13b
mov rcx, qword [rbx + 0x88]
mov r8d, dword [rbx + 0xb0]
mov edx, dword [rbx + 0xac]
mov qword [rbp - 0x28], 0x21
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
movabs rax, 0x8000000000000000
test qword [rbp - 0x20], rax
jne 0x14009dd21
mov rcx, qword [rbp - 0x30]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
mov rsi, qword [rbx + 0x88]
lea rcx, [rbp - 0x30]
mov edx, reloc.WS2_32.dll_socket
mov rax, qword [rsi]
mov qword [rbp - 0x28], r13
mov byte [rbp - 0x18], r13b
mov rdi, qword [rax + 8]
lea rax, [rbp - 0x18]
mov qword [rbp - 0x30], rax
movabs rax, 0x800000000000000f
mov qword [rbp - 0x20], rax
call fcn.140002a70
mov r9, qword [rbp - 0x30]
lea r8d, [r15 - 2]
movups xmm0, xmmword [str.__Comment_started_here.]
mov edx, r12d
mov rcx, rsi
movups xmmword [r9], xmm0
mov eax, dword [0x1400ebd58]
mov dword [r9 + 0x10], eax
movzx eax, word [0x1400ebd5c]
mov word [r9 + 0x14], ax
movzx eax, byte [0x1400ebd5e]
mov byte [r9 + 0x16], al
lea r9, [rbp - 0x30]
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x17], r13b
mov qword [rbp - 0x28], reloc.WS2_32.dll_socket
call rdi
movabs rax, 0x8000000000000000
test qword [rbp - 0x20], rax
jne 0x14009ddd2
mov rcx, qword [rbp - 0x30]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
test r14, r14
je 0x14009dddf
mov rcx, rbx
call fcn.14009fca0
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
cmp dl, 0x2f
jne 0x14009dc7f
mov rcx, rbx
call fcn.14009f350
movzx edx, byte [rbx + 0x90]
cmp dl, 0x2a
jne 0x14009dc7f
lea rax, [rbp - 0x18]
mov qword [rbp - 0x28], r13
mov edx, 0x3c
mov qword [rbp - 0x30], rax
lea rcx, [rbp - 0x30]
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x18], r13b
call fcn.140002a70
mov rcx, qword [rbp - 0x30]
lea r9, [rbp - 0x30]
movups xmm0, xmmword [str.____inside_block_comment.__Block_comments_cannot_be_nested.]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [0x1400ebcf0]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [0x1400ebd00]
movups xmmword [rcx + 0x20], xmm0
movsd xmm1, qword [0x1400ebd10]
movsd qword [rcx + 0x30], xmm1
mov eax, dword [0x1400ebd18]
mov dword [rcx + 0x38], eax
mov rax, qword [rbp - 0x30]
mov byte [rax + 0x3c], r13b
mov rcx, qword [rbx + 0x88]
mov r8d, dword [rbx + 0xb0]
mov edx, dword [rbx + 0xac]
mov qword [rbp - 0x28], 0x3c
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
movabs rax, 0x8000000000000000
test qword [rbp - 0x20], rax
jne 0x14009dac2
mov rcx, qword [rbp - 0x30]
lea rdx, [0x1401262a0]
xor r9d, r9d
lea r8d, [r9 - 6]
call fcn.140025f00
jmp 0x14009dac2
mov rcx, rbx
call fcn.14009f350
jmp 0x14009dddf
mov rcx, rbx
call fcn.14009f350
test r14, r14
je 0x14009dddf
mov rcx, rbx
call fcn.14009fca0
mov rdx, qword [r14 + 8]
mov r8, 0xffffffffffffffff
sub rdx, 2
mov rcx, r14
call fcn.14009fe50
jmp 0x14009dddf