Function at 0x47452c
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xffffff74
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
mov dword [ebp - 0x1038], 0xc
xor eax, eax
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1030], 0xffffffff
push 0
lea eax, [ebp - 0x1038]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
call sub.user32.dll_EnumClipboardFormats
push 0
lea eax, [ebp - 0x1038]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
call sub.user32.dll_EnumClipboardFormats
lea eax, [ebp - 0x107c]
push eax
call sub.user32.dll_GetSysColorBrush
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1040], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x103c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1050], 0x101
mov word [ebp - 0x104c], 0
lea eax, [ebp - 0x108c]
push eax
lea eax, [ebp - 0x107c]
push eax
push 0
push 0
push 0x10
push 0xffffffffffffffff
push 0
push 0
push ebx
push 0
call sub.user32.dll_EnumThreadWindows
mov eax, dword [ebp - 0x14]
push eax
call sub.user32.dll_DrawIconEx
mov eax, dword [ebp - 8]
push eax
call sub.user32.dll_DrawIconEx
mov dword [ebp - 0x28], 1
lea eax, [ebp - 0x28]
push eax
push 0x8004667e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x90]
mov eax, dword [eax + 4]
push eax
call sub.wsock32.dll_ioctlsocket
mov dword [ebp - 0x24], 1
push 0
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.user32.dll_PostMessageA
jmp 0x47472e
xor edx, edx
push ebp
push 0x47471c
push dword fs:[edx]
mov dword fs:[edx], esp
push 2
call sub.advapi32.dll_SetServiceStatus
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x108c]
push eax
call sub.user32.dll_GetMenuItemInfoA
cmp dword [ebp - 0x20], 0x103
je 0x474677
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47474d
lea eax, [ebp - 0x1029]
mov edx, 0x1001
call fcn.00407588
push 0
lea eax, [ebp - 0x18]
push eax
mov eax, dword [0x47acc0]
push eax
lea eax, [ebp - 0x1029]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.user32.dll_MapWindowPoints
cmp dword [ebp - 0x18], 0
jbe 0x4746cf
jmp 0x4746b2
push 5
call sub.advapi32.dll_SetServiceStatus
lea edx, [ebp - 0x1029]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x90]
mov ecx, dword [ebp - 0x18]
call fcn.0045df4c
inc eax
je 0x4746ab
mov eax, dword [ebp - 0x18]
cmp eax, dword [0x47acc0]
jae 0x474677
lea edx, [ebp - 0x1029]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x90]
mov ecx, dword [0x47acc0]
call fcn.0045e0d4
test eax, eax
jbe 0x474712
push 0
lea edx, [ebp - 0x1c]
push edx
push eax
lea eax, [ebp - 0x1029]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.user32.dll_SetCursor
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47472e
mov eax, dword [ebp - 4]
cmp dword [eax + 0x48], 0
je 0x47474d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0x90]
cmp byte [eax + 8], 0
jne 0x47463c
xor eax, eax
push ebp
push 0x47478c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x108c]
push eax
call sub.user32.dll_GetMenuItemInfoA
cmp dword [ebp - 0x20], 0x103
jne 0x474782
push 0
mov eax, dword [ebp - 0x108c]
push eax
call sub.user32.dll_ReleaseCapture
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x474796
mov eax, dword [ebp - 0xc]
push eax
call sub.user32.dll_DrawIconEx
mov eax, dword [ebp - 0x10]
push eax
call sub.user32.dll_DrawIconEx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret