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

Disassembly:
test rcx, rcx
je 0x1400226bd
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 0x14002236e
or rbp, 0xffffffffffffffff
jmp 0x140022375
mov rbp, qword [rcx + 0x158]
mov rdx, qword [rcx + 0xc8]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
test rdx, rdx
je 0x1400224a1
mov ecx, dword [rcx + 0xf0]
cmp ecx, 1
jbe 0x1400226be
mov eax, dword [rbx + 0x194]
and eax, 8
test al, al
je 0x140022708
xor edi, edi
mov esi, edi
test ecx, ecx
je 0x140022486
nop dword [rax + 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 0x140022439
mov rcx, qword [rcx + rax + 0x170]
lea rdx, [0x1400890c4]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x140022443
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x140022443
mov rcx, qword [0x140096480]
lea r9, str.Failed_to_signal_shutdown_via_inter_thread_communication_channel.
mov r8d, 0x189a
lea rdx, [0x14008f090]
call qword [0x140096478]
int3
cmp rbp, 0xffffffffffffffff
je 0x14002279c
mov ecx, dword [rbx + 0xf0]
inc esi
cmp esi, ecx
jb 0x1400223c0
mov rdx, qword [rbx + 0xc8]
test ecx, ecx
je 0x140022486
nop
mov eax, edi
imul rcx, rax, 0x1e8
add rcx, qword [rbx + 0xc8]
call fcn.140022340
inc edi
cmp edi, dword [rbx + 0xf0]
jb 0x140022460
mov rdx, qword [rbx + 0xc8]
mov rcx, rdx
call fcn.14002dff0
cmp qword [rbx + 0x168], 0xffffffffffffffff
jne 0x140022752
jmp 0x140022610
mov ecx, dword [rcx + 0x194]
mov eax, ecx
and eax, 8
test al, al
je 0x1400225cb
cmp dword [rbx + 0xf0], 0
jne 0x1400227e6
bt ecx, 0xd
jae 0x1400224d5
mov rcx, rbx
call fcn.14001ee30
mov ecx, dword [rbx + 0x194]
and ecx, 8
test cl, cl
je 0x1400225d3
cmp qword [rbx + 0x168], 0xffffffffffffffff
je 0x140022581
mov rcx, qword [rbx + 0x170]
lea rdx, [0x140089114]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x14002253c
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x14002253c
mov rcx, qword [0x140096480]
lea r9, str.Failed_to_signal_shutdown_via_inter_thread_communication_channel
mov r8d, 0x18c1
lea rdx, [0x14008f3e0]
call qword [0x140096478]
int3
mov rcx, qword [rbx + 0xf8]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x14002255f
mov rcx, qword [rbx + 0xf8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400225d3
mov rcx, qword [0x140096480]
lea r9, str.Failed_to_join_a_thread_n
mov r8d, 0x18d3
lea rdx, [0x14008f690]
call qword [0x140096478]
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008f560]
lea rax, str.false
mov r9d, 0x18ce
lea rdx, [0x14008c7d8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov rcx, rbx
call fcn.140022060
mov rcx, qword [rbx + 0x168]
cmp rcx, 0xffffffffffffffff
je 0x140022603
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rbx + 0x170]
test eax, eax
jne 0x140022653
call qword [sym.imp.WS2_32.dll_closesocket]
xor edi, edi
test eax, eax
sete dil
test edi, edi
je 0x140022659
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
cmp qword [rbx + 0xc0], 0
jne 0x1400226a9
cmp rbp, 0xffffffffffffffff
je 0x14002267b
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x14002267b
mov rcx, qword [0x140096480]
lea r9, str.Close_socket_failed._n
mov r8d, 0x18f3
lea rdx, [0x14008f8c0]
call qword [0x140096478]
int3
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [0x140096480]
lea r9, str.Failed_to_destroy_ITC._n
mov r8d, 0x18de
lea rdx, [0x14008f770]
call qword [0x140096478]
int3
mov rcx, qword [rbx + 0x1a8]
call fcn.14002dff0
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.14002dff0
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.1400317b0
mov rcx, rax
lea r8, [0x14008ef40]
lea rax, str.1___daemon__worker_pool_size
mov r9d, 0x1890
lea rdx, [0x14008c3e8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008eff0]
lea rax, str.0____daemon__options__MHD_USE_INTERNAL_POLLING_THREAD_
mov r9d, 0x1891
lea rdx, [0x14008c4c8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008f280]
lea rax, str.MHD_ITC_IS_INVALID__daemon__itc_
mov r9d, 0x18ab
lea rdx, [0x14008c668]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008f200]
lea rax, str.MHD_INVALID_SOCKET___fd
mov r9d, 0x189d
lea rdx, [0x14008c5d8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
lea r8, [0x14008f340]
lea rax, str.0__daemon__worker_pool_size
mov r9d, 0x18b7
lea rdx, [0x14008c6f8]
mov qword [rsp + 0x20], rax
call fcn.140008f10
mov ecx, 2
call fcn.1400317b0
mov rcx, rax
call fcn.140031e50
call fcn.140033840
int3