Function at 0x483340
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 0x4836f0
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 0x483600
mov edi, dword [esi + 0x14]
test edi, edi
jne 0x4835e3
nop
lea esi, [esi]
mov ebp, dword [esi + 0xc]
test ebp, ebp
je 0x483703
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 0x483410
cmp dword [esi + 0xbc], 0xffffffff
je 0x483410
mov eax, dword [esi + 0xc0]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x54a0a3
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_send]
sub esp, 0x10
test eax, eax
jle 0x4836b5
nop
lea esi, [esi]
mov ebp, dword [ebp + 4]
test ebp, ebp
jne 0x4833b1
mov edi, dword [esp + 0x14]
test edi, edi
je 0x483725
mov edi, dword [esi + 0xc]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
mov dword [esp + 0x14], eax
je 0x48349c
mov ebp, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x483447
mov edi, dword [edi + 4]
test edi, edi
je 0x48349c
cmp byte [edi + 0x9e], 0
jne 0x483440
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 0x48377f
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 0x483447
mov dword [esp], ebx
call dword [esp + 0x14]
sub esp, 4
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x483712
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4835a2
test byte [esi + 0xdc], 4
je 0x4834d3
cmp byte [ebx + 0x9e], 0
je 0x483733
mov edi, dword [ebx + 0x10]
test byte [edi + 0xdc], 4
jne 0x483630
lea ebp, [edi + 0x9c]
mov dword [esp + 4], 3
mov dword [esp], ebx
call fcn.0047e180
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 0x483640
test eax, eax
je 0x4836a0
mov dword [eax + 8], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
test eax, eax
je 0x483690
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 0x483680
mov dword [eax], edx
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
test eax, eax
je 0x483670
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 0x483660
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 0x4834bd
add esp, 0x2c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.00483150
mov dword [esp + 4], str.Initiated_daemon_shutdown_while__upgraded__connection_was_not_closed._n
mov dword [esp], esi
call fcn.00488450
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 0x4833a0
mov eax, dword [edi + 0xd0]
test eax, eax
je 0x483759
movzx edx, byte [eax + 4]
test dl, dl
jne 0x4835c6
jmp 0x4835b0
mov ebp, dword [esi + 0x10]
test ebp, ebp
jne 0x4837a5
mov ebp, dword [esi + 0xc]
test ebp, ebp
jne 0x4833ab
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp], ebx
mov dword [esp + 0x14], eax
call eax
sub esp, 4
jmp 0x4834b2
mov dword [esp], ebx
call fcn.0047e130
jmp 0x4834b2
test eax, eax
je 0x4836b0
mov dword [eax + 8], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
test eax, eax
jne 0x483537
mov dword [edi + 0x24], edx
jmp 0x48353a
mov dword [edi + 0x1c], ebx
jmp 0x48358a
mov dword [edi + 0xc], edx
jmp 0x483567
mov dword [edi + 8], edx
jmp 0x483557
mov dword [edi + 0x2c], edx
jmp 0x48353a
mov dword [edi + 0x28], edx
jmp 0x483529
mov dword [edi + 0x20], edx
jmp 0x483647
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
je 0x483410
mov eax, dword [0x5769c0]
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 [0x5769c4]
lea esi, [esi]
mov byte [esi + 0xc7], 1
mov eax, esi
call fcn.004821d0
jmp 0x48336d
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.004821d0
jmp 0x4834b2
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x14], eax
jmp 0x48349c
mov eax, dword [0x5769c0]
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 [0x5769c4]
mov eax, dword [0x5769c0]
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 [0x5769c4]
mov eax, dword [0x5769c0]
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 [0x5769c4]
mov eax, dword [0x5769c0]
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 [0x5769c4]
nop
lea esi, [esi]