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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push r12
push r13
push r15
sub rsp, 0x30
movzx esi, byte [rsp + 0x80]
mov r12, r8
movsxd r15, r9d
mov rbp, rdx
mov rbx, rcx
xor r13d, r13d
nop dword [rax + rax]
mov r10, qword [rbx + 0xc8]
test r10, r10
je 0x18001f516
test sil, sil
jne 0x18001f51f
jmp 0x18001fbf5
test sil, sil
je 0x18001f5b3
test r10, r10
je 0x18001f5b3
mov r9d, dword [rbx + 0xf0]
mov r8d, r13d
cmp r8d, r9d
jae 0x18001f564
xor edx, edx
mov eax, r8d
add rax, rbp
div r9
imul rbx, rdx, 0x1e8
add rbx, r10
mov eax, dword [rbx + 0x184]
cmp dword [rbx + 0x180], eax
jb 0x18001f55f
inc r8d
jmp 0x18001f532
mov sil, 1
jmp 0x18001f500
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f593
mov rcx, qword [0x180092bb0]
lea r9, [0x1800852d8]
mov r8d, 0x897
lea rdx, [0x1800855a0]
call qword [0x180092bc8]
int3
call fcn.180035640
mov esi, reloc.WS2_32.dll_socket
mov dword [rax], esi
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
mov eax, dword [rbx + 0x184]
cmp dword [rbx + 0x180], eax
je 0x18001fbb3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e7d0
test eax, eax
je 0x18001fbb3
mov rax, qword [rbx + 0x60]
test rax, rax
je 0x18001f645
mov rcx, qword [rbx + 0x68]
mov r8d, r15d
mov rdx, r12
call rax
test eax, eax
jne 0x18001f645
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f623
mov rcx, qword [0x180092bb0]
lea r9, [0x1800856d0]
mov r8d, 0x8e6
lea rdx, [0x180085780]
call qword [0x180092bc8]
int3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e920
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
mov edx, 0x170
mov qword [rsp + 0x60], rdi
mov ecx, 1
call fcn.180033dac
mov rdi, rax
test rax, rax
jne 0x18001f6d1
call fcn.180035640
mov edi, dword [rax]
call fcn.180035640
mov ecx, dword [rax]
call fcn.180037a80
mov r8, rax
lea rdx, [0x180085760]
mov rcx, rbx
call fcn.180029dd0
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f6b5
mov rcx, qword [0x180092bb0]
lea r9, [0x1800856e8]
mov r8d, 0x8f8
lea rdx, [0x1800857e0]
call qword [0x180092bc8]
int3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e920
call fcn.180035640
mov dword [rax], edi
xor eax, eax
jmp 0x18001f807
mov rcx, qword [rbx + 0xd8]
call fcn.180029be0
mov qword [rdi + 0x40], rax
test rax, rax
jne 0x18001f75b
call fcn.180035640
mov ecx, dword [rax]
call fcn.180037a80
mov r8, rax
lea rdx, [0x180085858]
mov rcx, rbx
call fcn.180029dd0
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f733
mov rcx, qword [0x180092bb0]
lea r9, [0x180085840]
mov r8d, 0x907
lea rdx, [0x1800858b0]
call qword [0x180092bc8]
int3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e920
mov rcx, rdi
call fcn.18002fdc4
call fcn.180035640
mov dword [rax], recv
xor eax, eax
jmp 0x18001f807
mov rax, qword [rbx + 0x188]
mov rcx, r15
mov qword [rdi + 0x108], rax
mov qword [rsp + 0x68], r14
call fcn.1800300a4
mov qword [rdi + 0x98], rax
test rax, rax
jne 0x18001f81e
call fcn.180035640
mov esi, dword [rax]
call fcn.180035640
mov ecx, dword [rax]
call fcn.180037a80
mov r8, rax
lea rdx, [0x180085878]
mov rcx, rbx
call fcn.180029dd0
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f7da
mov rcx, qword [0x180092bb0]
lea r9, [0x180085898]
mov r8d, 0x91b
lea rdx, [0x180085910]
call qword [0x180092bc8]
int3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e920
mov rcx, qword [rdi + 0x40]
call fcn.180029c90
mov rcx, rdi
call fcn.18002fdc4
call fcn.180035640
mov dword [rax], esi
xor eax, eax
mov r14, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r13
pop r12
pop rsi
pop rbp
ret
mov r8, r15
mov rdx, r12
mov rcx, rax
call fcn.18002dac0
movzx eax, byte [rsp + 0x88]
mov byte [rdi + 0x120], al
mov dword [rdi + 0xf8], r15d
mov qword [rdi + 0x118], rbp
mov qword [rdi + 0x20], rbx
call fcn.180029ba0
mov qword [rdi + 0x100], rax
mov eax, dword [rbx + 0x194]
and eax, 2
test al, al
jne 0x18001fa4f
lea rax, [0x180023f00]
mov qword [rdi + 0x148], rax
lea rcx, [rbx + 0x130]
lea rax, [0x180023f80]
mov qword [rdi + 0x150], rax
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rbx + 0x180]
cmp eax, dword [rbx + 0x184]
jb 0x18001f8c6
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rdx, str.Server_reached_connection_limit._Closing_inbound_connection._n
mov rcx, rbx
call fcn.180029dd0
mov esi, reloc.WS2_32.dll_socket
jmp 0x18001fa54
inc eax
mov dword [rbx + 0x180], eax
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x18001f913
cmp qword [rdi + 0x10], r13
jne 0x18001fc3f
cmp qword [rdi + 0x18], r13
jne 0x18001fc89
mov rax, qword [rbx + 0x40]
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], r13
cmp qword [rbx + 0x48], r13
jne 0x18001f907
mov qword [rbx + 0x48], rdi
jmp 0x18001f90f
mov rax, qword [rbx + 0x40]
mov qword [rax + 0x18], rdi
mov qword [rbx + 0x40], rdi
cmp qword [rdi], r13
jne 0x18001fcd3
cmp qword [rdi + 8], r13
jne 0x18001fd1d
mov rax, qword [rbx + 0x10]
mov qword [rdi], rax
mov qword [rdi + 8], r13
cmp qword [rbx + 0x18], r13
jne 0x18001f93d
mov qword [rbx + 0x18], rdi
jmp 0x18001f945
mov rax, qword [rbx + 0x10]
mov qword [rax + 8], rdi
lea rcx, [rbx + 0x130]
mov qword [rbx + 0x10], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x18001f975
mov rcx, qword [rbx + 0x88]
lea r8, [rdi + 0x50]
xor r9d, r9d
mov rdx, rdi
call rax
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
je 0x18001f9e0
lea rdx, str.MHD_connection
test rdx, rdx
jne 0x18001f99b
call fcn.180035640
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x18001f9be
mov r8, qword [rbx + 0xe8]
lea rcx, [rdi + 0xa0]
lea r9, [0x18001ed60]
mov qword [rsp + 0x20], rdi
call fcn.18002a220
test eax, eax
jne 0x18001f9ee
call fcn.180035640
mov esi, dword [rax]
mov ecx, esi
call fcn.180037a80
mov r8, rax
lea rdx, str.Failed_to_create_a_thread:__s_n
mov rcx, rbx
call fcn.180029dd0
jmp 0x18001fa54
movups xmm0, xmmword [rbx + 0xf8]
movups xmmword [rdi + 0xa0], xmm0
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x18001fa45
test sil, sil
je 0x18001fa45
cmp qword [rbx + 0x168], 0xffffffffffffffff
je 0x18001fa45
mov rcx, qword [rbx + 0x170]
lea rdx, [0x1800850ec]
xor r9d, r9d
lea r8d, [r9 + 1]
call qword [sym.imp.WS2_32.dll_send]
test eax, eax
jg 0x18001fa45
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x18001fa45
lea rdx, str.Failed_to_signal_new_connection_via_inter_thread_communication_channel.
mov rcx, rbx
call fcn.180029dd0
mov eax, 1
jmp 0x18001f802
mov esi, reloc.WS2_32.dll_shutdown
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x18001fa76
mov rcx, qword [rbx + 0x88]
lea r8, [rdi + 0x50]
mov r9d, 1
mov rdx, rdi
call rax
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001faa5
mov rcx, qword [0x180092bb0]
lea r9, [0x1800859e8]
mov r8d, 0x9db
lea rdx, [0x180085ea0]
call qword [0x180092bc8]
int3
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.18001e920
lea rcx, [rbx + 0x130]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [rbx + 0x194]
and eax, 4
test al, al
jne 0x18001fb21
mov rax, qword [rdi + 0x10]
test rax, rax
jne 0x18001fae0
cmp rdi, qword [rbx + 0x48]
jne 0x18001fd67
mov rcx, qword [rdi + 0x18]
test rcx, rcx
jne 0x18001fafe
cmp rdi, qword [rbx + 0x40]
jne 0x18001fdb1
test rcx, rcx
jne 0x18001fafe
mov qword [rbx + 0x40], rax
jmp 0x18001fb02
mov qword [rcx + 0x10], rax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi + 0x18]
test rcx, rcx
jne 0x18001fb15
mov qword [rbx + 0x48], rax
jmp 0x18001fb19
mov qword [rcx + 0x18], rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], r13
mov rax, qword [rdi]
test rax, rax
jne 0x18001fb33
cmp rdi, qword [rbx + 0x18]
jne 0x18001fdfb
mov rcx, qword [rdi + 8]
test rcx, rcx
jne 0x18001fb51
cmp rdi, qword [rbx + 0x10]
jne 0x18001fe45
test rcx, rcx
jne 0x18001fb51
mov qword [rbx + 0x10], rax
jmp 0x18001fb54
mov qword [rcx], rax
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
test rcx, rcx
jne 0x18001fb66
mov qword [rbx + 0x18], rax
jmp 0x18001fb6a
mov qword [rcx + 8], rax
lea rcx, [rbx + 0x130]
mov qword [rdi], r13
mov qword [rdi + 8], r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rdi + 0x40]
call fcn.180029c90
mov rcx, qword [rdi + 0x98]
call fcn.18002fdc4
mov rcx, rdi
call fcn.18002fdc4
call fcn.180035640
test esi, esi
jne 0x18001f7fe
mov dword [rax], reloc.WS2_32.dll_shutdown
jmp 0x18001f800
lea rdx, [0x180085690]
mov rcx, rbx
call fcn.180029dd0
mov rcx, rbp
call qword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x18001f593
mov rcx, qword [0x180092bb0]
lea r9, [0x180085678]
mov r8d, 0x8d3
lea rdx, [0x180085700]
call qword [0x180092bc8]
int3
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
lea r8, [0x1800854e0]
lea rax, str._NULL__daemon__worker_pool____external_add_
mov r9d, 0x884
lea rdx, [0x180085570]
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, [0x180085b10]
lea rax, [0x180085a80]
mov r9d, 0x982
lea rdx, [0x180085ae0]
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, [0x180085b70]
lea rax, [0x180085bd0]
mov r9d, 0x982
lea rdx, [0x180085c10]
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, [0x180085c70]
lea rax, [0x180085bf0]
mov r9d, 0x986
lea rdx, [0x180085c40]
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, [0x180085cd0]
lea rax, [0x180085d30]
mov r9d, 0x986
lea rdx, [0x180085d80]
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, [0x180086000]
lea rax, [0x180085f00]
mov r9d, 0x9e4
lea rdx, [0x180085f58]
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, [0x180086060]
lea rax, [0x1800860c0]
mov r9d, 0x9e4
lea rdx, [0x180086118]
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, [0x1800861e0]
lea rax, [0x180086160]
mov r9d, 0x9e8
lea rdx, [0x1800861b0]
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, [0x180086240]
lea rax, [0x1800862a0]
mov r9d, 0x9e8
lea rdx, [0x180086318]
mov qword [rsp + 0x20], rax
call fcn.180008b10
mov ecx, 2
call fcn.1800333cc
mov rcx, rax
call fcn.18003392c
call fcn.180035304
int3