Function at 0x485de0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, eax
sub esp, 0x2c
mov eax, dword [eax + 0xdc]
mov ecx, eax
and ecx, 4
mov dword [esp + 0x14], ecx
mov ecx, eax
and ecx, 0x8000
test ah, 0x20
mov dword [esp + 0x1c], ecx
jne 0x486190
mov eax, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea ebx, [esi + 0x9c]
mov dword [esp], ebx
mov dword [esp + 0x18], eax
call eax
sub esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4860a0
mov edi, dword [esi + 0x14]
test edi, edi
jne 0x486083
nop
lea esi, [esi]
mov ebp, dword [esi + 0xc]
test ebp, ebp
je 0x4861a3
mov edi, dword [sym.imp.WS2_32.dll_shutdown]
mov dword [esp + 4], 2
mov eax, dword [ebp + 0x98]
mov dword [esp], eax
call edi
sub esp, 8
test byte [esi + 0xdc], 4
je 0x485eb0
cmp dword [esi + 0xbc], 0xffffffff
je 0x485eb0
mov eax, dword [esi + 0xc0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x648ea3
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_send]
sub esp, 0x10
test eax, eax
jle 0x486155
nop
lea esi, [esi]
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x485e51
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4861c5
mov edi, dword [esi + 0xc]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
mov dword [esp + 0x14], eax
je 0x485f3c
mov ebp, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x485ee7
mov edi, dword [edi + 4]
test edi, edi
je 0x485f3c
cmp byte [edi + 0x9e], 0
jne 0x485ee0
mov dword [esp], ebx
call dword [esp + 0x14]
sub esp, 4
mov dword [esp + 4], 0xffffffff
mov eax, dword [edi + 0x50]
mov dword [esp], eax
call ebp
sub esp, 8
test eax, eax
jne 0x48621f
mov eax, dword [edi + 0x50]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [esp], ebx
call dword [esp + 0x18]
mov byte [edi + 0x9e], 1
mov edi, dword [esi + 0xc]
sub esp, 4
test edi, edi
jne 0x485ee7
mov dword [esp], ebx
call dword [esp + 0x14]
sub esp, 4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x4861b2
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x486042
test byte [esi + 0xdc], 4
je 0x485f73
cmp byte [ebx + 0x9e], 0
je 0x4861d3
mov edi, dword [ebx + 0x10]
test byte [edi + 0xdc], 4
jne 0x4860d0
lea ebp, [edi + 0x9c]
mov dword [esp + 4], 3
mov dword [esp], ebx
call fcn.00480c20
mov dword [esp], ebp
call dword [esp + 0x18]
mov eax, dword [ebx + 0x10]
sub esp, 4
mov edx, dword [ebx + 8]
mov eax, dword [eax + 0xd4]
cmp dword [ebx + 0x8c], eax
mov eax, dword [ebx + 0xc]
je 0x4860e0
test eax, eax
je 0x486140
mov dword [eax + 8], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
test eax, eax
je 0x486130
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 4]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov edx, dword [ebx]
test eax, eax
je 0x486120
mov dword [eax], edx
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
test eax, eax
je 0x486110
mov dword [eax + 4], edx
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov eax, dword [edi + 0x18]
mov dword [ebx], eax
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x486100
mov eax, dword [edi + 0x18]
mov dword [eax + 4], ebx
mov dword [edi + 0x18], ebx
mov dword [esp], ebp
call dword [esp + 0x14]
mov ebx, dword [esi + 0xc]
sub esp, 4
test ebx, ebx
jne 0x485f5d
add esp, 0x2c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00485bf0
mov dword [esp + 4], str.Initiated_daemon_shutdown_while__upgraded__connection_was_not_closed._n
mov dword [esp], esi
call fcn.0048aef0
mov eax, dword [edi + 0xd0]
mov byte [eax + 4], 1
mov byte [edi + 0xdc], 1
mov byte [esi + 0xc7], 1
mov edi, dword [edi + 4]
test edi, edi
je 0x485e40
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x4861f9
movzx edx, byte [eax + 4]
test dl, dl
jne 0x486066
jmp 0x486050
mov ebp, dword [esi + 0x10]
test ebp, ebp
jne 0x486245
mov ebp, dword [esi + 0xc]
test ebp, ebp
jne 0x485e4b
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp], ebx
mov dword [esp + 0x14], eax
call eax
sub esp, 4
jmp 0x485f52
mov dword [esp], ebx
call fcn.00480bd0
jmp 0x485f52
test eax, eax
je 0x486150
mov dword [eax + 8], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
test eax, eax
jne 0x485fd7
mov dword [edi + 0x24], edx
jmp 0x485fda
mov dword [edi + 0x1c], ebx
jmp 0x48602a
mov dword [edi + 0xc], edx
jmp 0x486007
mov dword [edi + 8], edx
jmp 0x485ff7
mov dword [edi + 0x2c], edx
jmp 0x485fda
mov dword [edi + 0x28], edx
jmp 0x485fc9
mov dword [edi + 0x20], edx
jmp 0x4860e7
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x485eb0
mov eax, dword [0x6ab740]
mov dword [esp + 0xc], str.Failed_to_signal_shutdown_via_inter_thread_communication_channel
mov dword [esp + 8], 0x1846
mov dword [esp + 4], str.T:_Bin_prep_mhd_src_libmicrohttpd_0.9.58_src_microhttpd_daemon.c
mov dword [esp], eax
call dword [0x6ab744]
lea esi, [esi]
mov byte [esi + 0xc7], 1
mov eax, esi
call fcn.00484c70
jmp 0x485e0d
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp], ebx
mov dword [esp + 0x14], eax
call eax
push eax
mov byte [esi + 0xc7], 1
mov eax, esi
call fcn.00484c70
jmp 0x485f52
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x14], eax
jmp 0x485f3c
mov eax, dword [0x6ab740]
mov dword [esp + 0xc], str.Failed_to_join_a_thread_n
mov dword [esp + 8], 0x1872
mov dword [esp + 4], str.T:_Bin_prep_mhd_src_libmicrohttpd_0.9.58_src_microhttpd_daemon.c
mov dword [esp], eax
call dword [0x6ab744]
mov eax, dword [0x6ab740]
mov dword [esp + 0xc], str.MHD_stop_daemon___called_while_we_have_suspended_connections._n
mov dword [esp + 8], 0x181e
mov dword [esp + 4], str.T:_Bin_prep_mhd_src_libmicrohttpd_0.9.58_src_microhttpd_daemon.c
mov dword [esp], eax
call dword [0x6ab744]
mov eax, dword [0x6ab740]
mov dword [esp + 0xc], str.Failed_to_join_a_thread_n
mov dword [esp + 8], 0x1854
mov dword [esp + 4], str.T:_Bin_prep_mhd_src_libmicrohttpd_0.9.58_src_microhttpd_daemon.c
mov dword [esp], eax
call dword [0x6ab744]
mov eax, dword [0x6ab740]
mov dword [esp + 0xc], str.MHD_stop_daemon___called_while_we_have_suspended_connections._n
mov dword [esp + 8], 0x183d
mov dword [esp + 4], str.T:_Bin_prep_mhd_src_libmicrohttpd_0.9.58_src_microhttpd_daemon.c
mov dword [esp], eax
call dword [0x6ab744]
nop
lea esi, [esi]