Function at 0x180023490
Capabilities:
Send data
Send data on socket
Send http request

Disassembly:
test rcx, rcx
je 0x1800237c0
push rbx
sub rsp, 0x30
mov byte [rcx + 0x178], 1
mov rbx, rcx
movzx eax, byte [rcx + 0x179]
mov qword [rsp + 0x40], rbp
test al, al
je 0x1800234be
or rbp, 0xffffffffffffffff
jmp 0x1800234c5
mov rbp, qword [rcx + 0x158]
cmp qword [rcx + 0xc8], 0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
je 0x1800235ee
mov ecx, dword [rcx + 0xf0]
cmp ecx, 1
jbe 0x1800237c1
mov eax, dword [rbx + 0x194]
and eax, 8
test al, al
je 0x18002380b
xor edi, edi
mov esi, edi
test ecx, ecx
je 0x1800235a1
nop dword [rax]
mov eax, esi
imul rcx, rax, 0x1e8
mov rax, qword [rbx + 0xc8]
mov byte [rcx + rax + 0x178], 1
mov rax, qword [rbx + 0xc8]
cmp qword [rcx + rax + 0x168], 0xffffffffffffffff
je 0x180023589
mov rcx, qword [rcx + rax + 0x170]
lea rdx, [0x1800854bc]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x180023593
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x180023593
mov rcx, qword [0x180092bb0]
lea r9, str.Failed_to_signal_shutdown_via_inter_thread_communication_channel.
mov r8d, 0x18a2
lea rdx, [0x18008a780]
call qword [0x180092bc8]
int3
cmp rbp, 0xffffffffffffffff
je 0x18002389f
inc esi
cmp esi, dword [rbx + 0xf0]
jb 0x180023510
cmp dword [rbx + 0xf0], edi
jbe 0x1800235cf
nop dword [rax]
mov eax, edi
imul rcx, rax, 0x1e8
add rcx, qword [rbx + 0xc8]
call fcn.180023490
inc edi
cmp edi, dword [rbx + 0xf0]
jb 0x1800235b0
mov rcx, qword [rbx + 0xc8]
call fcn.18002fdc4
cmp qword [rbx + 0x168], 0xffffffffffffffff
je 0x180023713
jmp 0x180023855
mov ecx, dword [rcx + 0x194]
mov eax, ecx
and eax, 8
test al, al
je 0x1800236ce
cmp dword [rbx + 0xf0], 0
jne 0x1800238e9
bt ecx, 0xd
jae 0x18002361c
mov rcx, rbx
call fcn.180020300
mov eax, dword [rbx + 0x194]
and eax, 8
test al, al
je 0x1800236d6
cmp qword [rbx + 0x168], 0xffffffffffffffff
je 0x180023933
mov rcx, qword [rbx + 0x170]
lea rdx, [0x180085a7c]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x180023689
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x180023689
mov rcx, qword [0x180092bb0]
lea r9, str.Failed_to_signal_shutdown_via_inter_thread_communication_channel
mov r8d, 0x18c9
lea rdx, [0x18008aa20]
call qword [0x180092bc8]
int3
mov rcx, qword [rbx + 0xf8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x1800236ac
mov rcx, qword [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1800236d6
mov rcx, qword [0x180092bb0]
lea r9, str.Failed_to_join_a_thread_n
mov r8d, 0x18db
lea rdx, [0x18008aae0]
call qword [0x180092bc8]
int3
mov rcx, rbx
call fcn.1800231b0
mov rcx, qword [rbx + 0x168]
cmp rcx, 0xffffffffffffffff
je 0x180023706
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rbx + 0x170]
test eax, eax
jne 0x180023756
call qword [sym.imp.WS2_32.dll_closesocket]
xor edi, edi
test eax, eax
sete dil
test edi, edi
je 0x18002375c
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp qword [rbx + 0xc0], 0
jne 0x1800237ac
cmp rbp, 0xffffffffffffffff
je 0x18002377e
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18002377e
mov rcx, qword [0x180092bb0]
lea r9, str.Close_socket_failed._n
mov r8d, 0x18fb
lea rdx, [0x18008ac40]
call qword [0x180092bc8]
int3
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [0x180092bb0]
lea r9, str.Failed_to_destroy_ITC._n
mov r8d, 0x18e6
lea rdx, [0x18008ab60]
call qword [0x180092bc8]
int3
mov rcx, qword [rbx + 0x1a8]
call fcn.18002fdc4
lea rcx, [rbx + 0x1b0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [rbx + 0x108]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, rbx
call fcn.18002fdc4
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008a530]
lea rax, str.1___daemon__worker_pool_size
mov r9d, 0x1898
lea rdx, [0x18008a5d8]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008a670]
lea rax, str.0____daemon__options__MHD_USE_INTERNAL_POLLING_THREAD_
mov r9d, 0x1899
lea rdx, [0x18008a608]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008a840]
lea rax, str.MHD_ITC_IS_INVALID__daemon__itc_
mov r9d, 0x18b3
lea rdx, [0x18008a8a0]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008a7e0]
lea rax, str.MHD_INVALID_SOCKET___fd
mov r9d, 0x18a5
lea rdx, [0x18008a738]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008a900]
lea rax, str.0__daemon__worker_pool_size
mov r9d, 0x18bf
lea rdx, [0x18008a8d0]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x18008aa80]
lea rax, str.false
mov r9d, 0x18d6
lea rdx, [0x18008a9a8]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3